Aller au contenu

Volets Roulants Somfy + Domoticz / Rfx + Fibaro Hcl


Messages recommandés

Posté(e)

Salut à  tous,

 

J'ai actuellement une box HCL en fonctionnement depuis plusieurs mois avec différents capteurs et autres joujoux. Tout est en zwave chez moi et j'en suis ravi. Sauf que la seule chose qui ne soit pas vraiment domotisé, ce sont les volets roulants. Là  par contre, l'ancien propriétaire a installé du somfy en RFY. 

 

Du coup, j'ai passé pas mal de temps sur le net à  essayer de trouver une solution, et j'ai fini par acheter un raspberry, et un module rfxcom, pour y installer domoticz. Et là , bonheur, ça fonctionne. 

 

Sauf que voilà , j'ai une appui fibaro dans un coin, qui me gère tout le tintouin, et une autre juste pour les volets. En gros, c'est pas top. 

 

J'ai vu sur différents forums que certains ont réussi à  envoyer des requêtes HTTP de la figaro HC2 vers le serveur domoticz. Sauf que dans mon cas, j'ai une HCL et mes tentatives ont toute échoué pour le moment. 

 

En gros, j'ai créé un module virtuel pour tester et j'ai collé ce code pour exécuter une commande HTTP pour ouvrir un de mes volets. Côté domoticz, j'ai indiqué que la HCL (enfin son ip) pouvait se connecter au domoticz dans avoir besoin de s'authentifier (je ne sais pas si ça marche mais j'ai aussi tenté la requête avec un mot de passe en base64, et cela n'a pas fonctionné non plus). 

 

Quelqu'un aurait une idée s'il vous plaît? 

 

Modèle de requête sui fonctionne nickel lorsqu'elle est utilisée directement dans un navigateur (pour info, j'utilise ici le paramètre switchcmd=On, mais dans mes tests, j'utilise les deux commandes On et Off):

 

http://<ip raspberry>:8080/json.htm?type=command&param=switchlight&idx=10&switchcmd=On

 

-----------------------------------

Module virtuel TEST

Adresse ip: <ip raspberry>

port tcp: 8080

 

Requête - Essai 1 avec mot de passe crypté en base64 UTF8: KO

GET /json.htm?type=command&param=switchlight&idx=10&switchcmd=On HTTP/1.10x0D0x0AHost:<ip raspberry>:8080 0x0D0x0AAuthorization: Basic <User:password> 0x0D0x0A0x0D0x0A

 

Requête - Essai 2 sans mot de passe: KO

GET /json.htm?type=command&param=switchlight&idx=10&switchcmd=On HTTP/1.10x0D0x0AHost:<ip raspberry>:8080 0x0D0x0A0x0D0x0A

-----------------------------------

 

Ah oui pour finir, lorsque je sauvegarde les requêtes ci-dessus, j'ai souvent une erreur de formatage: en gros, le bout de texte "&param=" est transformé en "¶m=". Peut-être que le problème vient de là , bien que je crois avoir tout de même réussi à  conserver la bonne syntax au moins une fois pendant mes tests, mais dans tous les cas, auriez-vous une idée d'où peut venir ce formatage étrange? 

 

Merci par avance pour votre aide. 

  • Upvote 1
Posté(e)

Salut

J'étais dans le même cas que toi.

Par contre, de mon coté, je suis passé par une Zibase

Voici plus de 8 mois que cela fonctionne.

 

Voici les deux bout de code que j'ai dans mon module virtuel pour un volet par exemple pour Ouvrir et Fermer.

C2 étant la référence d'enregistrement de mon volet coté Zibase.

En espérant que cela puisse t'aider.

SOMFY = Net.FHttp("192.168.xxx.xxx",80);
SOMFY:GET("/cgi-bin/domo.cgi?cmd=ON%20C2%20P10");
fibaro:log("Volet Buro droite ouvert");

SOMFY = Net.FHttp("192.168.xxx.xxx",80);
SOMFY:GET("/cgi-bin/domo.cgi?cmd=OFF%20C2%20P10");
fibaro:log("Volet Buro droite fermer");
Posté(e)

je suppose que tu t'es inspiré de ceci : http://www.domotique-fibaro.fr/index.php/topic/2675-requêtes-http-get-sur-hcl/

 

Essaie sans le / après le GET et avant le son...

 

Oui, je m'en suis inspiré. J'utilise déjà  un de ce type de requête pour changer légat d'une variable globale. Mais c'est interne au Fibaro et ça fonctionne nickel.

 

Sinon, si j'ai bien compris ton idée, cela donnerait ça:

 

GET json.htm?type=command&param=switchlight&idx=10&switchcmd=On HTTP/1.10x0D0x0AHost:<ip raspberry>:8080 0x0D0x0A0x0D0x0A

 

Mais ça ne fonctionne pas. Chose encore plus étrange, avec plusieurs essais, le bout de texte "&param" qui est formaté en "¶m=". En bref, la HCL formate tout texte correspondant à  "¶" en ""¶m=". Bizarre, vous avez dit bizarre? 

 

@kioneoranga: j'ai une HCL et non HC2. Ce qui fait que je dois utiliser un autre moyen que le LUA. Et il me semble que ton exemple de code soit du LUA, je me trompe? 

Posté(e)

C'est bon, j'ai trouvé  :60:

 

Alors voilà , l'explication:

 

1/ La fibaro HCL comme HC2 formate automatiquement le texte "¶& en "¶m=". Mais à  priori, c'est un formatage qui ne se fait qu'au moment de la sauvegarde et qui n'impacte que l'interface du module virtuel (le texte sauvegardé en base est correct). Par contre, si vous sauvegardez une deuxième fois, là  le système va enregistrer cette valeur parasite.

 

C'est un petit bug qui se corrige tout simplement en changeant le nom du paramètre. En gros, au lieu de "&param=", on peut mettre "&dparam=". 

 

2/ On supprime la notion de Host (c'est déjà  géré dans le module virtuel lui-même) et on ajoute le param &level=0 en fin d'URL. Et pas besoin de définir un accès sécurisé via la commande <user:password en base64> si on a bien définit l'ip de la box fibaro comme étant autorisé à  accéder au serveur domoticz sans authentification.

 

En gros, on obtient ça:

 

GET /json.htm?type=command&dparam=switchlight&idx=10&switchcmd=On&level=0 HTTP/1.10x0D0x0A0x0D0x0A

 

Et ça fonctionne nickel. 

 

En tout cas, merci pour votre aide et vos réponses rapides à  mon problème. 

 

  • Upvote 1
  • 4 semaines après...
Posté(e)

Hello,

 

ben moi ça fonctionnait bien.. sauf que j'ai ajouté des scènes (excellent tuto de jojo ! -> merci à  toi  :74: ) pour mettre à  jour les icônes en fonction de la position des portes de garage, et la ça ne fonctionne plus.

 

 

Donc deux portes motorisés en Somfy, pilotable via DomoticZ/RFXCom (IP de la HC2 est bien autorisée).

 

Pour la porte 1, l'URL http://192.168.xx.yy:8080/json.htm?type=command&dparam=switchlight&idx=71&switchcmd=Stop&level=0 fonctionne bien via un navigateur.

Et pourtant, le module virtuel ne fonctionne plus (l'adresse IP est bien 192.168.xx.yy, et le port 8080).

 

J'ai essayé GET /json.htm?type=command&dparam=switchlight&idx=71&switchcmd=Stop&level=0 HTTP/1.10x0D0x0A0x0D0x0A

en chaîne, en LUA, ça ne fonctionne pas. j'ai recréé un module virtuel vierge, et rien non plus.

 
Je suis reparti de zéro, et pourtant ça ne fonctionne pas. 
Du coup, mon WAF en prend un sacré coup....
 
J'suis paumé la... 
Posté(e)

si ça a fonctionné, ça doit encore fonctionner, sauf s'il y a eu une motif.

 

Ce qui ne fonctionne plus, c'est le VD qui teste l'état de tes contacts FGBS ?

L'as-tu essayé en mode debug, quand tu ouvres ou ferme ta porte ? Que dit-il ?

Posté(e)

Hello,

Alors c'est bizarre. Etant sur mon portable sous Windows 10, avec Edge, et avec l'interface en Francais, c'est la que c'a n'a plus fonctionné.

Plus de batterie sur mon pc, je prends celui de ma femme, sous 8.1, et Chrome. Je recommence, et hop, ca refonctionne :60: 

Donc, pb d'interface Fibaro en Français, ou pb de Microsoft Edge ?

Je vous avouerai que je ne réessaierais pas.

​En tout cas, merci pour votre aide ! 

×
×
  • Créer...