Aller au contenu

modifier un paramètre en mode Json


971jmd

Messages recommandés

salut à tous 

 

le sujet enregistrer un Json est fermer, je souhaite de laide sur le sujet 

 

j'ai tester le code suivant mai rien ne fonctionne  :(


 

local DeviceID = 14 -- id du module àparamétrer
local DeviceParID = 1 -- # du paramètre
local DeviceParSize = 0


local json = '{"id":"..DeviceID..","properties":{"parameters":[{"id": "1","size": "1","value":"0"}]}}"
fibaro:debug(json)
local HC2 = Net.FHttp("127.0.0.1", 11111);
local response, status, errorCode = HC2:PUT("/api/devices/"..DeviceID, json)

 

Exemple, je souhaite modifier le paramètre suivant d'un WP

 

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

 

merci de votre aide

 

Modifié par 971jmd
Lien vers le commentaire
Partager sur d’autres sites

ah attend je suis allé trop vite je crois

 

MonDevice = api.get("/devices/"..DeviceID)
print(json.encode(MonDevice))
MonDevice.parameters[DeviceParID].value = 0
api.put("/devices/"..DeviceID, MonDevice)

j'ai oublié "parameters"

Modifié par jjacques68
Lien vers le commentaire
Partager sur d’autres sites

voici le debug 

il affiche bien les paramètre du module mai erreur sur la fin

.

[DEBUG] 16:23:16: {"sortOrder":13,"modified":1584714642,"remoteGatewayId":0,"baseType":"com.fibaro.FGWP","type":"com.fibaro.FGWP101","created":1584714642,"properties":{"manufacturer":"","smsNotificationID":0,"pushNotificationID":0,"nodeId":3,"configured":true,"userDescription":"","isLight":true,"emailNotificationID":0,"remoteGatewayId":0,"zwaveInfo":"3,3,52","useTemplate":true,"model":"","endPointId":0,"pushNotificationType":0,"zwaveCompany":"Fibargroup","parameters":[{"size":1,"value":1,"id":1},{"size":1,"value":1,"id":16},{"size":1,"value":63,"id":34},{"size":1,"value":0,"id":35},{"size":2,"value":600,"id":39},{"size":1,"value":80,"id":40},{"size":1,"value":15,"id":42},{"size":1,"value":30,"id":43},{"size":1,"value":10,"id":45},{"size":2,"value":3600,"id":47},{"size":1,"value":0,"id":49},{"size":2,"value":300,"id":50},{"size":2,"value":500,"id":51},{"size":1,"value":6,"id":52},{"size":2,"value":25000,"id":60},{"size":1,"value":1,"id":61},{"size":1,"value":8,"id":62},{"size":1,"value":1,"id":63},{"size":2,"value":65535,"id":70}],"emailNotificationType":0,"deviceControlType":2,"zwaveVersion":"25.25","energy":55.38,"deviceGroup":[],"pollingTimeSec":0,"dead":false,"firmwareUpdate":{"updateVersion":"25.25","info":"","status":"UpToDate","progress":0},"logTemp":"","value":false,"saveLogs":true,"icon":{"source":"HC","path":"fibaro\/icons\/com.fibaro.FGWP_EU\/plug0.png"},"deadReason":"","log":"","deviceGroupMaster":0,"color":"off","serialNumber":"","updateVersion":"","showEnergy":true,"productInfo":"1,15,6,0,16,0,25,25","power":0,"deviceIcon":124,"parametersTemplate":"718","smsNotificationType":0,"markAsDead":true,"categories":["lights","ambience"]},"actions":{"reconfigure":0,"reset":0,"turnOn":0,"retryUpdate":1,"startUpdate":1,"updateFirmware":1,"abortUpdate":1,"turnOff":0},"isPlugin":false,"interfaces":["deviceGrouping","energy","fibaroFirmwareUpdate","light","power","zwave","zwaveMultiChannelAssociation"],"enabled":true,"name":"Suspension Cuisine","id":14,"parentId":13,"visible":true,"roomID":4}
[DEBUG] 16:23:16: 2020-04-18 16:23:15.922856 [ fatal] Unknown exception: /opt/fibaro/scenes/363.lua:14: attempt to index field 'parameters' (a nil value)

 

 

Lien vers le commentaire
Partager sur d’autres sites

ça fonctionne chef mai si je quand je souhaite modifier le paramètre ID 16  ça fonctionne pas 

 

{ "id": 16, "lastReportedValue": 1, "lastSetValue": 1, "size": 1, "value": 1 },

 

 

je je décompose le code:

 

DeviceID correspond à ID du module ok

mai  DeviceParID   je c'est pas trop

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...