Aller au contenu

Changer les paramètres d'un module en LUA


franckg16

Messages recommandés

J'ai une sirène VISOSENCE ZM 1602. Je souhaiterais qu'elle clignote (lumière uniquement) pendant la phase d'armement (pendant laquelle il faut quitter la maison). Par contre lors d'un déclenchement d'alarme, je voudrais qu'elle clignote et qu'elle sonne (logique).

Pour passer de "lumière uniquement" à"lumière+sirène", il faut changer le paramètre 1.

Voilàmon problème.

Lien vers le commentaire
Partager sur d’autres sites

  • 8 mois après...

Bonjour à  tous,

 

Pour ma part, j'aurais besoin de rappeller les codes IR manuellement enregistrés du Remotec ZXT-120.

 

En effet, bien que l'Alpha 3.907 permette le contrôle du ZXT-120, il n'est utile que si votre AC existe dans sa base de donnée. Or, beaucoup n'y sont pas. Donc, le seul moyen est d'enregistrer chaque code manuellement et de les rappeller au moyen d'un Device Virtuel.

 

Si je veux rappeller le code se trouvant dans le registre N°1 (Power ON) parmi les 22 registre prévus à  cet effet, je dois envoyer au paramètre 34, le N° du registre ("1" pour Power ON) en 2 Bytes

EX: Fibaro:sendParameter(34,"2d",5)

Avec ceci, je pourrais enfin contrôller tous les AC et me passer du coà»teux WF2IR de Global Caché.

 

Ce code Lua doit exister non?

 

Du côté de Fibaro, toujours la même réponse, à  savoir: "Le ZXT-120 sera pris en charge dans les prochaines versions" Malgré ces explications, ils ne réagissent pas...

 

Une idée quelqu'un???

Lien vers le commentaire
Partager sur d’autres sites

Voici ce que j'utilise pour modifier un ou des paramètres d'un module, ici c'est un WallPlug pour bloquer/débloquer la sécurité ON/OFF

local deviceID = 445; 
local json = '{"id":'..deviceID..',"properties":{"parameters":[{"id": 1,"size": 1,"value": 0}]}}';

local HC2 = Net.FHttp("192.168.1.xxx", 80);
HC2:setBasicAuthentication("admin", "admin");
local response, status, errorCode = HC2:PUT("/api/devices?id="..deviceID, json)

if tonumber(status) == 200 then
  fibaro:debug("Security locked");
else
  fibaro:debug("err ID: "..deviceID.. " status: "..status); 
end

Il faut adapter avec les paramètres adéquats.

 

:)

Lien vers le commentaire
Partager sur d’autres sites

Je viens de tester j'ai la même erreur

[ERROR] 19:10:49: line 9: attempt to index global 'Net' (a nil value)

Erk je viens de voir un de tes messages concernant le virtual device ! 

 

 

 

Tu es en quelle version du HC2 ? la lib Net.* n'est disponible que dans les Virtual Device en V3.xx

 

Donc il faut crée un Virtual Device et non pas une scène ?

Lien vers le commentaire
Partager sur d’autres sites

Bien le bonjour,

 

Pour ma part, je me creuse tjrs la tête. En utilisant ce code, avec les bons paramètres, il n'écrit rien dans le registre du ZXT-120 (vérifié avec HC_IP/API/device?=xxx).

 

Par contre, si je laisse ta verif du status, il renvoie 400. Peu importe quel device id j'utilise, il renvoie 400 (Même avec un id inexistant).

 

Aurais-tu une idée?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour spirituAIK, je veux en effet modifier le paramètre 34 de mon ZXT avec par exemple la valeur "1" pour rappeller le code correspondant à  ON/OFF.

 

Etant complètement dépassé avec le JSON, je ne vois pas où dans ce code, il y a une action de remplacement des "propriétés" du device par les propriétés enregistrée dans la table Locale...

Lien vers le commentaire
Partager sur d’autres sites

S.v.p ne désactivez pas la vérification ;) et de toute façon si le retour n'est pas 200 alors c'est qu'il y a un problème !

 

L'erreur 400 c'est un problème de requête incorrect, en d'autres termes la demande envoyée n'est pas conforme aux attentes de l'api.

 

Vérifiez si vous avez la documentation le "size" et "value" accepté par le périphérique.

Lien vers le commentaire
Partager sur d’autres sites

Je venais de voir la correspondance du 400 dans la nouvelle "Docs". En fait dans la doc du zxt-120, le size du param 34 n'est pas renseignée mais il accepte les deux (1d et 2d), je viens de le tester.

 

Voila ce qu'il se trouve dans le registre après une modif manuelle du paramètre, et il a bien actionné le climatiseur

"properties":{"parameters":[{"id":34,"lastSetValue":1,"size":1,"value":1}]

Cela marche aussi lorsque je modifie les paramètre à  partir du nouvel outil de la "docs" fibaro (http://HC_IP/docs/#!/devices/modDevice).

 

Voir screen capture ci-joint.

post-145-0-27914800-1410518216_thumb.jpg

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...