Aller au contenu

Changer les paramètres d'un module en LUA


Messages recommandés

Posté(e)

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.

Posté(e)

C'est peut-être envisageable mais sans grandes certitudes, faudrait que je fasse quelques tests.

  • 8 mois après...
Posté(e)

Bonjour, je m'excuse par avance de remonté un sujet de janvier ! :)

 

Je me pose exactement la même question à  savoir si c'est possible de modifié les paramètres d'un module en LUA ! :)

 

Posté(e)

Oui c'est possible ;) mais pour quel module et pourquoi faire ? je suis curieux...

Posté(e)

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???

Posté(e)

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.

 

:)

Posté(e)

Je suis déjà  en train de me prendre la tête :)

 

Merci Krikroff, je pense que je tiens le bon boà»t avec ça mais voici la réponse du debug:

 

A la ligne 5, j'ai: Attempt to index global "Net" (a nil value)...

Posté(e)

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

Posté(e)

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 ?

Posté(e)

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?

Posté(e)

Moi j'ai enlevé la verif du statut !

 

Qu'entend tu par "il n'écrit rien dans le registre" ? tu veux comme moi changer ( exemple ) le paramètre 0 de ton ZXT-120 dans la configuration des valeurs du plugin ?

Posté(e)

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...

Posté(e)

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.

Posté(e)

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

×
×
  • Créer...