Aller au contenu

Modifier Des Paramètres En Lua


SebDel

Messages recommandés

Bonjour à  tous,

 

J'avance très bien dans mon projet semer de cailloux et de grosses briques... mais ça avance.

J'ai la chance de faire parti des abonnées EDF qui bénéficie du tarif EJP et je viens d'asservir mon système EJP à  la HC2 et donc en théorie elle saura quand le tarif EJP est en cours.

J'aimerai, quand l'EJP est actif, mettre tous les WALLs PLUG en ROUGE quand ils sont en OFF ou ON afin d'avertir les utilisateurs du jour EJP.

 

En fait j'ai vu qu'il y avait deux méthodes. Soit on change les statuts des LED quand la prise est ON ou OFF avec le paramètre 61 et 62, soit on utilise un message alarme 63, mais c'est un peu plus compliqué car j'ai d'autres modules qui vont réagir alors que je ne le veux pas.

 

Donc l'idée serait d'avoir un script qui permet de charger certains modules avec des paramètres qui vont bien (pour les walls plugs) et juste envoyé une modification sur le 61 et 62.

 

J'ai eu l'impression que pour faire cela il fallait utiliser l'API/DEVICES par le HTTP et que mon idée était de faire un "get" des paramètres, modifier ceux qui m'intéresse et de renvoyer le paquet.

 

J'aurais en fait préféré avoir une commande qui n'affecte que le 61 et 62 pour faire plus light.

 

Quelles sont vos expériences dans ce genre d'opération ?

 

Merci d'avance

Amicalement

Séb

Lien vers le commentaire
Partager sur d’autres sites

Tu jetes ta HC, tu prends une Zibase et tu peux faire cela en 2 secondes. Ou sinon, tu te prend la tête à  injecter du JSON (comme tu l'explique plus haut) et tu peux garder ta HC2.

 

Je sais, c'est nul, mais c'est pour moi un manque important de la HC de ne pas permettre de jouer par scénario sur la programmation des modules.

 

Sinon, reste l'opération coà»teuse et délicate de mettre des rubans LED autour des Wall Plugs :)  

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Steven,

 

Merci pour ta réponse, en fait je suis tombé la dessus :

HC2 = Net.FHttp("192.168.XXX.XXX")
HC2:setBasicAuthentication("admin", "ton mot de passe") 
 
response ,status, errorCode = HC2:GET("/api/virtualDevices?id="..deviceID) 
 
fibaro:debug("status = " .. status) 
fibaro:sleep(1000) 
 
  jsonTable = json.decode(response) 
  fibaro:debug(response)  
  fibaro:debug(jsonTable.properties.rows[1].elements[1].caption) 
  fibaro:debug(jsonTable.properties.rows[1].elements[1].name)
  jsonTable.properties.rows[1].elements[1].caption = NewCaption 
  jsonTable.properties.rows[1].elements[1].name = NewName
 
  json = json.encode(jsonTable); 
  response2 ,status2, errorCode2 = HC2:PUT("/api/virtualDevices?id="..deviceID, json)*

Sur ce lien https://plus.google.com/102429223700201895244/posts/CEpskCGAKEz

 

J'ai réussi à  recevoir tout le paquet des propriétés du Wall Plug :

 

 

[DEBUG] 13:03:39: 
{"id":18,"name":"Multimédia","roomID":5,"type":"binary_light","properties":{"UIMessageSendTime":"0","classConfigure":"0,2,2,2,2,0,0,2,2,0,0","classGeneric":"37","classSupport":"37,49,50,112,114,115,122,133,134,142,239","classVersion":"1,2,2,1,1,1,1,2,1,1,1","color":"off","dead":"0","deviceControlType":"20","deviceIcon":"2","disabled":"0","emailNotificationID":"0","emailNotificationType":"0","endPoint":"0","isBatteryOperated":"0","isLight":"0","liliOffCommand":"éteindre 
chambre","liliOnCommand":"allumer 
chambre","log":"","logTemp":"","meterSupport":"{\"vMeterSupport\":[{\"meterType\":1,\"sMeterType\":\"kWh\",\"meterScale\":0,\"sMeterScale\":\"\",\"value\":0,\"enable\":true,\"lastPolling\":1409930025,\"configuration\":true,\"retryConfig\":0},{\"meterType\":1,\"sMeterType\":\"W\",\"meterScale\":2,\"sMeterScale\":\"\",\"value\":0,\"enable\":true,\"lastPolling\":1409930025,\"configuration\":true,\"retryConfig\":0}]}","needConfigure":"5","nodeID":"7","parametersTemplate":"225","parentID":"1","pollingRetryError":"0","pollingTime":"","pollingTimeNext":"","pollingTimeSec":"0","productInfo":"1,15,6,0,16,0,24,24","pushNotificationID":"0","pushNotificationType":"0","requestNodeNeighborState":"0","requestNodeNeighborStateTimeStemp":"0","saveLogs":"1","sensorSupport":"","showChildren":"1","showEnergy":"1","smsNotificationID":"0","smsNotificationType":"0","sortOrder":"999","unit":"","unitMeter":"kWh","unitSensor":"W","useTemplate":"1","userDescription":"","value":"0","valueMeter":"2.41","valueSensor":"0","zwaveCompany":"Fibar Group","zwaveInfo":"3,3,52","zwaveVersion":"2.4, 
(24.24)","parameters":[{"id":1,"size":1,"value":1,"lastSetValue":1},{"id":16,"size":1,"value":1,"lastSetValue":1},{"id":34,"size":1,"value":63,"lastSetValue":63},{"id":35,"size":1,"value":0,"lastSetValue":0},{"id":39,"size":2,"value":600,"lastSetValue":600},{"id":40,"size":1,"value":80,"lastSetValue":80},{"id":42,"size":1,"value":15,"lastSetValue":15},{"id":43,"size":1,"value":30,"lastSetValue":30},{"id":45,"size":1,"value":10,"lastSetValue":10},{"id":47,"size":2,"value":3600,"lastSetValue":3600},{"id":49,"size":1,"value":0,"lastSetValue":0},{"id":50,"size":2,"value":300,"lastSetValue":300},{"id":51,"size":2,"value":500,"lastSetValue":500},{"id":52,"size":1,"value":6,"lastSetValue":6},{"id":60,"size":2,"value":25000,"lastSetValue":25000},{"id":61,"size":1,"value":1,"lastSetValue":1},{"id":62,"size":1,"value":8,"lastSetValue":8},{"id":63,"size":1,"value":1,"lastSetValue":1},{"id":70,"size":2,"value":65535,"lastSetValue":65535}],"associationView":[{"groupID":1,"devices":[1]},{"groupID":2,"devices":[1]},{"groupID":3,"devices":[1]}],"associationSet":[{"groupID":1,"devices":[1]},{"groupID":2,"devices":[1]},{"groupID":3,"devices":[1]}]},"actions":{"firmwareUpdate":1,"pollingTimeSec":1,"requestNodeNeighborUpdate":0,"resetMeter":0,"turnOff":0,"turnOn":0},"created":1411661331,"modified":1411661331,"sortOrder":16}

 

 

 

 

 

 

La j'essaye de modifier dans la json table la valeur du parametre 61 et 62 et j'ai des nil quand j'essaye d'y accéder.

Si j'arrive à  modifier les bons paramètres et avec un PUT crois tu que je puisses y arriver.

 

Bon ce n'est pas très "SIOUX" mais si ca marche 22 fois dans l'année je serai ravi pour l'instant.

Merci à  toi

Séb
 

Lien vers le commentaire
Partager sur d’autres sites

Voila je viens de voir, en fait l'auteur a fait un "search and replace" sur les paramètres 61 et 62 plutôt que de s'aventurer avec le json. Je trouve cela très malin...

Bon pour le reste, le fait d'envoyer le gros paquet à  chaque fois par http + l'authentification et tout le toutim c'est vrai que ça n'est pas des plus économes.

Pour l'instant j'utiliserai la hache...

Je vais donc faire un module virtuel dans le même esprit est un petit appel de GEA lorsqu'on est en EJP et un autre quand on en sort... avec les bons critères.

En espérant des avancés avec la v4 sur la config et les plugins.

 

Encore merci

Séb

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

Merci Steven,

 

Ma problématique est résolu. Le jour où nous serons en EJP tous mes WallPlug seront en rouge dans toutes les pièces.

Bon quand je lance le script, dans la fenêtre de notification des messages zwaves ca travaille dur mais au bout de quelques instants (c'est pas instantané) les configurations sont mis à  jour.

Je vais essayé de mettre en résolu le post.

 

C'est reparti pour de nouvelles aventures...

 

Seb

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...