Bonjour à tous,
Pour commencer : un grand merci à tous pour le développement/adaptation de ce script python. C'est pile poil ce que je cherche pour piloter mes volets roulants X3D via Home Assistant.
J'ai utilisé Domoticz pendant des années mais suite à un crash du NAS sur lequel je l'avais installé j'ai décidé de tenter l'aventure Home Assistant

. Pour l'instant j'essaye de faire fonctionner/adapter le script directement depuis une VM Linux. Je verrai ensuite pour l'intégration dans Home Assistant, mais je ne suis pas inquiet : j'arrive déjà à lancer des scripts shells depuis Home Assistant.
J'ai réussi (aucun mérite : j'ai juste exécuté le dernier script de
sirus 
) à accéder à ma box Tydom. Les appels à get_info, get_device_data, get_scenarios... fonctionnent bien. Par contre j'ai une erreur quand je tente d'exécuter put_device_data.
Est-ce que quelqu'un aurait une idée de ce qui 'cloche' ? A priori j'utilise bien le bon ID pour le volet mais j'ai une erreur "Cannot parse response" :
Code : Tout sélectionner
DEB - Action : put_devices_data
DEB - id : 1570942978
DEB - value : 10.0
DEBUG:websockets.protocol:client - state = CONNECTING
DEBUG:websockets.protocol:client - event = connection_made(<asyncio.sslproto._SSLProtocolTransport object at 0x7f66b7fac100>)
DEBUG:websockets.client:client > GET /mediation/client?mac=XXXXXXXXXX&appli=1 HTTP/1.1
DEBUG:websockets.client:client > Headers([('Host', '192.168.X.X'), ('Upgrade', 'websocket'), ('Connection', 'Upgrade'), ('Sec-WebSocket-Key', 'mDEHyGr2rxZL+i7DvcyPHQ=='), ('Sec-WebSocket-Version', '13'), ('Sec-WebSocket-Extensions', 'permessage-deflate; client_max_window_bits'), ('Authorization', 'Digest username="XXXXXXXXXX", realm="protected area", nonce="3d5efb98ed6112ba2439341c8f9cde1a", uri="/mediation/client?mac=XXXXXXXXXX&appli=1", response="5200c4f1fb7fa638eab923b7eb489732", qop="auth", nc=00000001, cnonce="2e289c2d7d034298"'), ('User-Agent', 'Python/3.8 websockets/8.1')])
DEBUG:websockets.protocol:client - event = data_received(<129 bytes>)
DEBUG:websockets.client:client < HTTP/1.1 101 Switching Protocols
DEBUG:websockets.client:client < Headers([('Upgrade', 'websocket'), ('Connection', 'Upgrade'), ('Sec-WebSocket-Accept', 'ScbkprGUh6q4Qh6sdktUHMvFnPY=')])
DEBUG:websockets.protocol:client - state = OPEN
DEBUG:websockets.protocol:client > Frame(fin=True, opcode=2, data=b'PUT /devices/1570942978/endpoints/1570942978/data HTTP/1.1\r\nContent-Length: 36\r\nContent-Type: application/json; charset=UTF-8\r\nTransac-Id: 0\r\n\r\n[{"name":"position","value":"10.0"}]\r\n\r\n', rsv1=False, rsv2=False, rsv3=False)
DEBUG:websockets.protocol:client - event = data_received(<4 bytes>)
DEBUG:websockets.protocol:client - event = data_received(<355 bytes>)
DEBUG:websockets.protocol:client < Frame(fin=True, opcode=2, data=b'HTTP/1.1 404 Not Found\r\nServer: Tydom-XXXXXXXXXX\r\nUri-Origin: /devices/1570942978/endpoints/1570942978/data\r\nContent-Type: application/json\r\nTransfer-Encoding: chunked\r\nTransac-Id: 0\r\n\r\n9C\r\n<!doctype html>\r\n<html>\r\n<head><title>Error 404</title></head>\r\n<body>\r\n<h2>Error 404</h2>\r\n<p>The requested page could not be found</p>\r\n</body>\r\n</html>\r\n\r\n0\r\n\r\n', rsv1=False, rsv2=False, rsv3=False)
Cannot parse response
Expecting value: line 1 column 1 (char 0)
DEBUG:websockets.protocol:client > Frame(fin=True, opcode=9, data=b'\x92$M\xec', rsv1=False, rsv2=False, rsv3=False)
DEBUG:websockets.protocol:client - event = data_received(<2 bytes>)
DEBUG:websockets.protocol:client < Frame(fin=True, opcode=10, data=b'', rsv1=False, rsv2=False, rsv3=False)
DEBUG:websockets.protocol:client - received unsolicited pong: [empty]
DEBUG:websockets.protocol:client ! timed out waiting for pong
DEBUG:websockets.protocol:client ! failing OPEN WebSocket connection with code 1011
DEBUG:websockets.protocol:client - state = CLOSING
DEBUG:websockets.protocol:client > Frame(fin=True, opcode=8, data=b'\x03\xf3', rsv1=False, rsv2=False, rsv3=False)
DEBUG:websockets.protocol:client - event = data_received(<4 bytes>)
DEBUG:websockets.protocol:client - event = connection_lost(None)
DEBUG:websockets.protocol:client - state = CLOSED
DEBUG:websockets.protocol:client x code = 1006, reason = [no reason]
DEBUG:websockets.protocol:client - aborted pending ping: 92244dec
DEBUG:websockets.protocol:client x closing TCP connection
Merci d'avance pour toute piste/solution
Fabrice