Aller au contenu
jojo

Modification Des Propriétés D'un Device

Recommended Posts

ATTENTION

Ce VD peux corrompre la DB de votre HC2, à  n'utiliser qu'en connaissance de cause.

Je ne puis être tenu pour responsable en cas de problème.

Faire un backup de la DB avant de commencer à  l'utiliser.

Si vous cachez un device , notez bien son numéro, car il ne sera plus visible, et donc "impossible" à  reconfigurer, ... (en tout cas si vous cachez le Main device et ses child devices)

 

Merci :

Merci à  Steven pour son code "Double click pour confirmer"

Merci à  notre graphiste national (Couillerot) pour ses icônes

post-1320-0-43869800-1424604801_thumb.png

 

Objectif :

Ce VD permet de modifier une propriété d'un device.

Je l'ai déjà  utilisé dans les situations suivantes :

  • dead : marquer manuellement un device sur pile comme mort, quand il n'a plus de pile ...
  • disabled : afficher un "sous-device" qui était caché par erreur / cacher des child devices inutilisés (exple dans les binary sensors).
  • "offset" : modifier l'offset d'une sonde de température (plutôt que d'utiliser le slider)

Utilisation :

avec l'URL suivante "<IP>/api/devices/" (suivi du # du device) vous pouvez voir dans votre browser les propriétés et leur nom précis (dépend du type de device)

{"id":649,"name":"Tmp_Tisun","roomID":12,"type":"com.fibaro.temperatureSensor","baseType":"com.fibaro.multilevelSensor","enabled":true,"visible":true,"isPlugin":false,"parentId":634,"remoteGatewayId":0,"interfaces":["zwave"],"properties":{"parameters":[{"id":1,"lastReportedValue":0,"lastSetValue":0,"size":2,"value":0},{"id":2,"lastReportedValue":0,"lastSetValue":0,"size":2,"value":0},{"id":3,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":4,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":5,"lastReportedValue":255,"lastSetValue":255,"size":1,"value":255},{"id":6,"lastReportedValue":255,"lastSetValue":255,"size":1,"value":255},{"id":7,"lastReportedValue":255,"lastSetValue":255,"size":1,"value":255},{"id":8,"lastReportedValue":255,"lastSetValue":255,"size":1,"value":255},{"id":9,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":10,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":11,"lastReportedValue":200,"lastSetValue":200,"size":1,"value":200},{"id":12,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":13,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":14,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0}],"zwaveCompany":"Fibargroup","zwaveInfo":"3,3,52","zwaveVersion":"2.1","pollingTimeSec":0,"configured":"true","dead":"false","deviceControlType":"0","deviceIcon":"30","emailNotificationID":"0","emailNotificationType":"0","endPointId":"3","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","manufacturer":"","markAsDead":"true","model":"","nodeId":"79","offset":"10.00","parametersTemplate":"85","productInfo":"1,15,5,1,16,2,2,1","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"false","showFireAlarm":"false","showFreezeAlarm":"false","smsNotificationID":"0","smsNotificationType":"0","unit":"C","useTemplate":"true","userDescription":"","value":"70.87"},"actions":{"reconfigure":0},"created":1444553629,"modified":1444553629,"sortOrder":113}

les propriétés concernées se trouvent dans : "properties":{...}

{"parameters":[{"id":1,"lastReportedValue":0,"lastSetValue":0,"size":2,"value":0},{"id":2,"lastReportedValue":0,"lastSetValue":0,"size":2,"value":0},{"id":3,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":4,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":5,"lastReportedValue":255,"lastSetValue":255,"size":1,"value":255},{"id":6,"lastReportedValue":255,"lastSetValue":255,"size":1,"value":255},{"id":7,"lastReportedValue":255,"lastSetValue":255,"size":1,"value":255},{"id":8,"lastReportedValue":255,"lastSetValue":255,"size":1,"value":255},{"id":9,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":10,"lastReportedValue":1,"lastSetValue":1,"size":1,"value":1},{"id":11,"lastReportedValue":200,"lastSetValue":200,"size":1,"value":200},{"id":12,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":13,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0},{"id":14,"lastReportedValue":0,"lastSetValue":0,"size":1,"value":0}],"zwaveCompany":"Fibargroup","zwaveInfo":"3,3,52","zwaveVersion":"2.1","pollingTimeSec":0,"configured":"true","dead":"false","deviceControlType":"0","deviceIcon":"30","emailNotificationID":"0","emailNotificationType":"0","endPointId":"3","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","manufacturer":"","markAsDead":"true","model":"","nodeId":"79","offset":"10.00","parametersTemplate":"85","productInfo":"1,15,5,1,16,2,2,1","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"false","showFireAlarm":"false","showFreezeAlarm":"false","smsNotificationID":"0","smsNotificationType":"0","unit":"C","useTemplate":"true","userDescription":"","value":"70.87"}ensuite adapter suivant vos désirs les lignes 4, 10 et 11 du VD
local Property = "offset"    -- vleurs possibles : cfr json
local NewPropValue = "0.00" -- la valsur doit être entre "
local deviceID = 649

Lorsque vous appuyez une première fois sur le bouton "Update device property", il vous affiche le device, la propriété à  modifier, sa valeur actuelle, et la future valeur

post-1320-0-35825000-1424603897_thumb.jpg

Appuyez une deuxième fois sur le bouton (dans les 5 sec) pour effectuer la modification

post-1320-0-77431900-1424603897_thumb.jpg

 

Si le nom de la propriété introduit en ligne 4 n'existe pas, il affiche un message d'erreur.

post-1320-0-22071100-1424603898_thumb.jpg

 

Cette v2 est compatible avec le firmware v4.x

DeviceProperties_v2.0.vfib

 

DeviceProperties_v1.0.vfib

DeviceProperties._v2.0.vfib

Modifié par jojo
  • Upvote 4

Partager ce message


Lien à poster
Partager sur d’autres sites

!! ATTENTION !!

Je viens de constater qu'il ne faut PAS cacher un main sensor, sinon on ne sait plus accéder aux child devices.

Je regarde pour modifier le code pour faire ce test

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai pas trop compris, mais cela sert àquoi ? En V4, cela existe déjà... ??

Partager ce message


Lien à poster
Partager sur d’autres sites

c'est pour la v3.x

Cela me permet par exemple de mettre manuellement àdead un device sur piles, que Fibaro ne marque pas comme mort.

J'ai aussi caché des child devices de mes Binary Sensor (j'utilise la température, mais pas les entrées IN1 et IN2)

Mais effectivement, cacher les devices est standard en v4.x. Mais quid des autres propriétés.

On pourrait également imaginer modifier des propriétés dans une scène en fonction de ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Yop yop, c'est vrai !

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai mis àjour le premier post avec une version compatible v4.x

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

 

Je n'avais pas trouvé ce post et essayait de faire par moi-même le code lua. J'ai donc essayé avec le VD proposé mais cela ne fonctionne pas lorsque j'essaie de modifier une valeur de type "booléen".

Tous les paramètres type nombre ou string ça fonctionne mais pas les valeurs de type bool.

 

Après contrôle, ca fonctionne sur un FGMS mais pas un device satel. Je pense que c'est à  ce niveau là  que ça bloque, mais je ne comprends pas pourquoi car au niveau du json la propriété existe donc pourquoi je n'arrive pas à  l'éditer, mystère...

Partager ce message


Lien à poster
Partager sur d’autres sites

salut @JOJO

 

Y-a-t-il une possibilité de modifier la paramètre 13 d'un FGD212.

 

Exécuter l’auto-calibration

 

 

1  Demande une nouvelle exécution du processus de calibration (circuit sans bypass Fibaro FGB-002)

2  Demande une nouvelle exécution du processus de calibration (circuit équipé d’un bypass Fibaro FGB-002)

Partager ce message


Lien à poster
Partager sur d’autres sites

je n'ai pas de FGD, donc je ne sais pas tester. Il faut que tu trouve son nom dans le json

Partager ce message


Lien à poster
Partager sur d’autres sites

@ salut JOJO

 

ce qe je cherche a réaliser c'st de modifier le paramètre 13 

{
        "id": 13,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },
{
  "id": 13,
  "name": "Plafonnier Salon",
  "roomID": 4,
  "type": "com.fibaro.FGD212",
  "baseType": "com.fibaro.multilevelSwitch",
  "enabled": true,
  "visible": true,
  "isPlugin": false,
  "parentId": 11,
  "remoteGatewayId": 0,
  "interfaces": [
    "energy",
    "levelChange",
    "light",
    "power",
    "zwave",
    "zwaveAlarm",
    "zwaveMultiChannelAssociation",
    "zwaveProtection",
    "zwaveSceneActivation"
  ],
  "properties": {
    "parameters": [
      {
        "id": 1,
        "lastReportedValue": 12,
        "lastSetValue": 12,
        "size": 1,
        "value": 12
.
.
.
.
etc
{
        "id": 13,
        "lastReportedValue": 0,
        "lastSetValue": 0,
        "size": 1,
        "value": 0
      },

le code suivant de @Steven, permet de réaliser un extinction général des lampes, mai il est possible de metre a jour un paramètre mai je ne c'est pas comment.

GEA.add({"SceneActivation", id["LED_ENTREE"] , 22},   -1, "", {
   {"function",
      function() 
           for _,v in ipairs(fibaro:getDevicesId({properties = {isLight=true}})) do
	     fibaro:call(v, "turnOff")
	   end
       end
   }	
})

Partager ce message


Lien à poster
Partager sur d’autres sites

je ne comprends pas le lien avec le code de Steven.

Le code de Steven ne fait que lire pour chaque device, si c'est une lumière, et de l'éteindre. Il ne modifie pas de paramètre

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut, Jojo

Oui le code Steven lie moi ce que je cherche c'est mètre àjour certain paramètre

Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 09/07/2016 à 01:19, 971jmd a dit :

Oui le code Steven lie moi ce que je cherche c'est mètre àjour certain paramètre

Est-ce que tu avais trouvé comment modifier un paramètre d'un device.

 

Moi je cherche à modifier le paramètre 19 (Niveau de variation forcé) d'un FGD212 : properties.parameters[15].value

 

L'objectif est de pouvoir faire varier le niveau de l'éclairage de mes lumières en fonction de l'horaire.

 

Actuellement j'utilise GEA pour définir ce niveau d'intensité, mais je souhaite pourvoir utiliser l'association directe entre mes détecteurs de mouvement et mon FDG212 tout en pouvant définir le niveau d'intensité de l'éclairage selon horaire de déclenchement.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour jojo.

 

J'ai essayé d’utiliser ton VD pour modifier les "unit" d'un fake module : passer de "lux" à "mm" : cela ne fonctionne pas.

"unit": "lux"

Les infos sur le VD s'affiche correctement, mais la valeur n'est pas mise à jour.

 

Merci.


image.png.813d92fe37de2219dafdad08eaf4cd83.png

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Désolé, je ne saurais plus t'aider précisément, je n'ai plus de box depuis plus de 2 ans.

As-tu bien clicker sur le bouton "Update device property" ?

Ce device a été développé il y a longtemps, fonctionne-t-ill encore avec les évolutions de firmware ???

As-tu essayé de modifier d'autres propriétés (dont tu peux vérifier la modification via l'interface traditionnelle) ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 4 heures, jojo a dit :

Désolé, je ne saurais plus t'aider précisément, je n'ai plus de box depuis plus de 2 ans.

As-tu bien clicker sur le bouton "Update device property" ?

Ce device a été développé il y a longtemps, fonctionne-t-ill encore avec les évolutions de firmware ???

As-tu essayé de modifier d'autres propriétés (dont tu peux vérifier la modification via l'interface traditionnelle) ?

bonjour jojo.

Oui, j'ai cliqué sur "Update device property" 1 fois, 2 fois, etc.. 

Je ne sais pas si le double clic est encore fonctionnel : c'est peut-être ça qui bloque la MAJ.

Oui, j'ai essayé de modifier d'autres propriétés, mais toujours sans succès.

Je vais chercher une autre solution.

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon, à première vue, c'est bien le double clic qui me bloque. Je passe à chaque fois par le "else" -  fibaro:log("Annulé") .

 

J'ai retrouvé le topic qui parle du double clic, j'ai modifié avec 2 boutons séparés, mais même résultat, impossible de modifier cette valeur.

Modifié par manuxenon

Partager ce message


Lien à poster
Partager sur d’autres sites

ah oui, je pense me souvenir que ce double clic avait été programmé par Steven, et il fallait en modifier le code original suite à des mises à jour du firmware.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci jojo.

J'avais trouvé et modifier en conséquence avec 2 boutons séparés avec un clic sur chaque (l'un après l'autre).

Ça marche, mais la fonction de MAJ de la propriété ne la met pas à jour.

Merci.

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai trouvé. J'ai modifié :

NewProperty = ('{"id":' ..deviceID.. ',"properties":{"' ..Property.. '": ' .. NewPropValue..'}}')

par :

NewProperty = ('{"id":' ..deviceID.. ',"properties":{"' ..Property.. '": "' .. NewPropValue..'"}}')

Et ça marche.

 

Bon je voulais changer l'affichage des unités sur l'icone du device, mais ça n'a rien fait, malgré la modification de la propriété.

image.png.60c9cef87abcedd0f9ec9fa30707b9d9.pngimage.png.851eee075c1165eacc0a2feb7b3c3d4f.png

Partager ce message


Lien à poster
Partager sur d’autres sites

et il n'ya a pas une autre propriété qui affiche lux dans le son de ce device ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Non, juste le type qui pourrait peut-être forcer "lux" :

"type": "com.fibaro.lightSensor",

 

Partager ce message


Lien à poster
Partager sur d’autres sites

désolé, pas d'autres idées

Partager ce message


Lien à poster
Partager sur d’autres sites

×