Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Tydom 1.0

Eli
Timide
Messages : 181
Inscription : 30 avr. 2019, 20:22

Re: Tydom 1.0

Message par Eli » 05 juin 2019, 19:20

Ok super merci. Bon j'ai regardé le code java et en fait il faut envoyer la commande suivante sur la websocket:

Code : Tout sélectionner

\x02GET /info HTTP/1.1\r\nContent-Length: 0\r\nContent-Type: application/json; charset=UTF-8\r\nTransac-Id: 0\r\n\r\n
Un petit octet 0x02 à inserer avant le text de la commande HTTP avec les bons headers.
Et là, j'ai bien la réponse du serveur ;)
Et j'arrive a bouger un volet en à peine 60 lignes de python ;)
[/quote]

Bien joué 😎

jjlf
Timide
Messages : 29
Inscription : 03 févr. 2018, 18:32

Re: Tydom 1.0

Message par jjlf » 05 juin 2019, 19:33

Hello je ne vais pas aussi vite que @Eli ;-) Je pense que ca va prendre bcp de temps de mon coté.
Donc je mettrais surement sur GitHub mon travail que d'autres dev pourront utiliser pour faire un beau plugin tout propre pour domoticz ou autre ;-)

Eli
Timide
Messages : 181
Inscription : 30 avr. 2019, 20:22

Re: Tydom 1.0

Message par Eli » 13 juin 2019, 00:06

Hello,

Petit statut de mon dev.
Mon plugin commence a pas mal fonctionner, je pense le sortir semaine prochaine max...! Je dois faire le test sur un docker de mon syno que tout fonctionne dans un environnement neuf.
A ce jour je pilote mes volets, je le localise (il descend et remonte rapidement) et je lance un scenario Tydom.
Avec Loic74 (merci à lui!), on s'organise pour que je puisse implémenter d'autres features, car il est bien équipé en DeltaDore. Je ferai ca dans une prochaine version, car je suis impatient de mettre ce plugin sur le market ;)

Eli.

mortyre
Actif
Messages : 1247
Inscription : 17 mai 2016, 16:51

Re: Tydom 1.0

Message par mortyre » 13 juin 2019, 11:10

Super Nouvelle Eli pour tous les possesseurs de DeltaDore
PROD: NAS1815+ VMM Buster 10.2 / Jeedom 4.0.31 / MariaDB 10.3.18 / PHP 7.3.9
DEV: DIY Odroid C2 16gb Strech 9.11 / Jeedom 4.x Alpha / MariaDB 10.1.41 / PHP 7.0.33

MakinaPower
Timide
Messages : 57
Inscription : 12 févr. 2019, 20:55

Re: Tydom 1.0

Message par MakinaPower » 13 juin 2019, 20:47

Bravo Eli ! vivement la semaine prochaine !

jjlf
Timide
Messages : 29
Inscription : 03 févr. 2018, 18:32

Re: Tydom 1.0

Message par jjlf » 13 juin 2019, 22:45

Voici ma petite contribution d'un example de code python :
Remplacer votre addresse MAC (du tydom) et le mot de passe et normalement vous aurez une réponse du server mediation de Delta Dore.
https://github.com/cth35/tydom_python
N'hésitez pas à l'utiliser et a commiter sur le github pour en faire un truc digne de ce nom car je n'aurais pas le temps ;-)
Je l'ai fait en python afin de pouvoir en faire un plugin domoticz que j'utilise.
Enjoy et merci @Eli pour ton aide.

Bod
Timide
Messages : 44
Inscription : 06 janv. 2019, 16:40

Re: Tydom 1.0

Message par Bod » 14 juin 2019, 19:01

J’ai du mal à y croire tellement ça parait trop beau !
Merci pour le taff, et merci pour tout ceux qui ont du delta dore 👌

MakinaPower
Timide
Messages : 57
Inscription : 12 févr. 2019, 20:55

Re: Tydom 1.0

Message par MakinaPower » 14 juin 2019, 21:10

jjlf a écrit :
13 juin 2019, 22:45
Voici ma petite contribution d'un example de code python :
Remplacer votre addresse MAC (du tydom) et le mot de passe et normalement vous aurez une réponse du server mediation de Delta Dore.
https://github.com/cth35/tydom_python
N'hésitez pas à l'utiliser et a commiter sur le github pour en faire un truc digne de ce nom car je n'aurais pas le temps ;-)
Je l'ai fait en python afin de pouvoir en faire un plugin domoticz que j'utilise.
Enjoy et merci @Eli pour ton aide.
Merci jjlf pour ce boulot que tu nous partage :)

Je me suis empressé de le tester sous Debian 9 et avec python 3.5 et après avoir installé le paquet python3-websockets mais j'ai ce message d'erreur en retour:

Code : Tout sélectionner

makina@JEEDOM:~/tydom_python$ python3.5 main.py 
send: b'GET /mediation/client?mac=0011223344&appli=1 HTTP/1.1\r\nAccept-Encoding: identity\r\nUpgrade: websocket\r\nAccept: */*\r\nConnection: Upgrade\r\nSec-WebSocket-Key: 0pd3LkNyunFS+pMIj9klrw==\r\nHost: mediation.tydom.com:443\r\nSec-WebSocket-Version: 13\r\n\r\n'
reply: 'HTTP/1.1 401 \r\n'
header: X-Content-Type-Options header: X-XSS-Protection header: Cache-Control header: Pragma header: Expires header: X-Frame-Options header: Set-Cookie header: WWW-Authenticate header: Content-Length header: Date Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/websockets/client.py", line 79, in handshake
    status_code, headers = yield from read_response(self.reader)
  File "/usr/lib/python3/dist-packages/websockets/http.py", line 66, in read_response
    version, status, reason = status_line[:-2].decode().split(None, 2)
ValueError: not enough values to unpack (expected 3, got 2)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "main.py", line 172, in <module>
    asyncio.get_event_loop().run_until_complete(hello())
  File "/usr/lib/python3.5/asyncio/base_events.py", line 466, in run_until_complete
    return future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
    raise self._exception
  File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
    result = coro.send(None)
  File "main.py", line 164, in hello
    async with websockets.client.connect('wss://mediation.tydom.com:443/mediation/client?mac={}&appli=1'.format(mac), extra_headers=websocketHeaders) as websocket:
  File "/usr/lib/python3/dist-packages/websockets/py35/client.py", line 12, in __aenter__
    self.websocket = await self
  File "/usr/lib/python3/dist-packages/websockets/py35/client.py", line 19, in __await__
    return (yield from self.client)
  File "/usr/lib/python3/dist-packages/websockets/client.py", line 165, in connect
    extra_headers=extra_headers)
  File "/usr/lib/python3/dist-packages/websockets/client.py", line 81, in handshake
    raise InvalidHandshake("Malformed HTTP message") from exc
websockets.exceptions.InvalidHandshake: Malformed HTTP message


Aurais tu une idée ? Merci encore !

jjlf
Timide
Messages : 29
Inscription : 03 févr. 2018, 18:32

Re: Tydom 1.0

Message par jjlf » 14 juin 2019, 22:12

MakinaPower a écrit :
14 juin 2019, 21:10
jjlf a écrit :
13 juin 2019, 22:45
Voici ma petite contribution d'un example de code python :
Remplacer votre addresse MAC (du tydom) et le mot de passe et normalement vous aurez une réponse du server mediation de Delta Dore.
https://github.com/cth35/tydom_python
N'hésitez pas à l'utiliser et a commiter sur le github pour en faire un truc digne de ce nom car je n'aurais pas le temps ;-)
Je l'ai fait en python afin de pouvoir en faire un plugin domoticz que j'utilise.
Enjoy et merci @Eli pour ton aide.
Merci jjlf pour ce boulot que tu nous partage :)

Je me suis empressé de le tester sous Debian 9 et avec python 3.5 et après avoir installé le paquet python3-websockets mais j'ai ce message d'erreur en retour:

Code : Tout sélectionner

makina@JEEDOM:~/tydom_python$ python3.5 main.py 
send: b'GET /mediation/client?mac=0011223344&appli=1 HTTP/1.1\r\nAccept-Encoding: identity\r\nUpgrade: websocket\r\nAccept: */*\r\nConnection: Upgrade\r\nSec-WebSocket-Key: 0pd3LkNyunFS+pMIj9klrw==\r\nHost: mediation.tydom.com:443\r\nSec-WebSocket-Version: 13\r\n\r\n'
reply: 'HTTP/1.1 401 \r\n'
header: X-Content-Type-Options header: X-XSS-Protection header: Cache-Control header: Pragma header: Expires header: X-Frame-Options header: Set-Cookie header: WWW-Authenticate header: Content-Length header: Date Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/websockets/client.py", line 79, in handshake
    status_code, headers = yield from read_response(self.reader)
  File "/usr/lib/python3/dist-packages/websockets/http.py", line 66, in read_response
    version, status, reason = status_line[:-2].decode().split(None, 2)
ValueError: not enough values to unpack (expected 3, got 2)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "main.py", line 172, in <module>
    asyncio.get_event_loop().run_until_complete(hello())
  File "/usr/lib/python3.5/asyncio/base_events.py", line 466, in run_until_complete
    return future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
    raise self._exception
  File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
    result = coro.send(None)
  File "main.py", line 164, in hello
    async with websockets.client.connect('wss://mediation.tydom.com:443/mediation/client?mac={}&appli=1'.format(mac), extra_headers=websocketHeaders) as websocket:
  File "/usr/lib/python3/dist-packages/websockets/py35/client.py", line 12, in __aenter__
    self.websocket = await self
  File "/usr/lib/python3/dist-packages/websockets/py35/client.py", line 19, in __await__
    return (yield from self.client)
  File "/usr/lib/python3/dist-packages/websockets/client.py", line 165, in connect
    extra_headers=extra_headers)
  File "/usr/lib/python3/dist-packages/websockets/client.py", line 81, in handshake
    raise InvalidHandshake("Malformed HTTP message") from exc
websockets.exceptions.InvalidHandshake: Malformed HTTP message


Aurais tu une idée ? Merci encore !
Merci,
Attention le code que j'ai fourni est juste pour ceux qui dev un peu en python. Ca ne fait rien d'extraordinaire. Ca montre juste comment jouer avec mais il y a énormément de dev à faire pour avoir un truc pleinement fonctionnel.
Tu as une vieille version de websockets.
Le dev a corrigé dela il y a 2 ans : https://github.com/aaugustin/websockets ... a7f43a972c
Essaie de mettre a jour ton module websockets.

MakinaPower
Timide
Messages : 57
Inscription : 12 févr. 2019, 20:55

Re: Tydom 1.0

Message par MakinaPower » 15 juin 2019, 12:53

jjlf, merci effectivement en supprimant le paquet debian

Code : Tout sélectionner

apt-get purge python3-websockets 
et en passant par

Code : Tout sélectionner

pip3 install websockets
cela fonctionne très bien. (on passe d'une version 3 à une version 7)

Ton POC est réussi, bravo :)

jjlf
Timide
Messages : 29
Inscription : 03 févr. 2018, 18:32

Re: Tydom 1.0

Message par jjlf » 15 juin 2019, 13:10

Merci pour ton retour MakinaPower. Si tu dev par dessus n'hésites pas à partager.

Eli
Timide
Messages : 181
Inscription : 30 avr. 2019, 20:22

Re: Tydom 1.0

Message par Eli » 16 juin 2019, 21:37

bah si kek1 peut me filer un dernier coup de main...

viewtopic.php?f=27&t=45908&p=740328#p740328

Bod
Timide
Messages : 44
Inscription : 06 janv. 2019, 16:40

Re: Tydom 1.0

Message par Bod » 18 juin 2019, 18:29

Des nouvelles de la publication ? 😁
Merci Eli

Eli
Timide
Messages : 181
Inscription : 30 avr. 2019, 20:22

Re: Tydom 1.0

Message par Eli » 18 juin 2019, 22:17

Hello,

J'ai publié en beta hier, je ne connais pas le workflow, est ce qu'il y a un humain qui valide la publication...

Dites moi si vous voyez JeeDore dans le store (et ca rime :D )

Eli.

Bod
Timide
Messages : 44
Inscription : 06 janv. 2019, 16:40

Re: Tydom 1.0

Message par Bod » 18 juin 2019, 22:34

Non je ne vois rien !

Eli
Timide
Messages : 181
Inscription : 30 avr. 2019, 20:22

Re: Tydom 1.0

Message par Eli » 18 juin 2019, 23:14

Je viens de reessayer et j'ai le message d'erreur suivant, j'avais du ne pas le voir hier :
Vous n'êtes pas autorisé à publier des plugins sur le market. Merci d'aller sur votre page profils pour savoir comment être autorisé.
J'ai posé la question...

Désolé pr l'attente

Eli.

Eli
Timide
Messages : 181
Inscription : 30 avr. 2019, 20:22

Re: Tydom 1.0

Message par Eli » 19 juin 2019, 23:19

Hello,

Petit retour...Depuis quelques jours, c' est mon syno qui gere les volets :D

C'est parti 8-)

Code : Tout sélectionner

×Votre objet a été envoyé avec succès sur le market
En attente de vos retours

Eli.

Loic74
Actif
Messages : 709
Inscription : 24 oct. 2017, 22:45
Localisation : Haute-Savoie
Contact :

Re: Tydom 1.0

Message par Loic74 » 19 juin 2019, 23:35

je le vois pas sur la market... :?
---------------------------------------
Jeedom v3.3.19, VM sur Synology RS1619xs+, Arduinos, ETH-IO32B, MQTT, TTN, LoRa, Service Pack Power Ultimate
Ma présentation
Ma piscine connectée
ioBoard

Bod
Timide
Messages : 44
Inscription : 06 janv. 2019, 16:40

Re: Tydom 1.0

Message par Bod » 20 juin 2019, 08:35

Il y est ! Faut cocher beta et nouveau dans les filtres !
Merci eli.

Je teste ça courant Juillet pour ma part, pas dispo avant !

Hâte d’avoir les premiers retours 👍😁😊

MakinaPower
Timide
Messages : 57
Inscription : 12 févr. 2019, 20:55

Re: Tydom 1.0

Message par MakinaPower » 20 juin 2019, 13:43

Salut ELI, un premier retour après l'achat du plugin, j'ai été amené a mettre des droits d'execution sur le fichier Rezolv.JeeDore.Server
car j'avais des erreurs de type access denied sur ce fichier dans les logs

Code : Tout sélectionner

chmod +x /var/www/html/plugins/jeedore/ressources/jeedoredaemon/Rezolv.JeeDore.Server
Pour le reste il y a un problème de gestion des accents au niveau des noms des équipements (encoding).

Pour le moment pas de widget d'équipement au niveau du dashboard (je suppose que c'est prévu dans un second temps)

Good Job :) !

Répondre

Revenir vers « Suggestions de Plugins »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités