Page 1 sur 1

Recuperer valeur batterie sonde oregon par script

Publié : 23 nov. 2015, 19:57
par Steph38
Bonjour,

Je voudrai recuperer la valeur de la batterie avec un script lua d'une sonde oregon .

Code : Tout sélectionner

   "ActTime" : 1448302715,
   "ServerTime" : "2015-11-23 19:18:35",
   "Sunrise" : "07:50",
   "Sunset" : "17:02",
   "result" : [
      {
         "AddjMulti" : 1.0,
         "AddjMulti2" : 1.0,
         "AddjValue" : 0.0,
         "AddjValue2" : 0.0,
         "BatteryLevel" : 100,
         "CustomImage" : 0,
         "Data" : "21.5 C, 55 %",
         "Description" : "",
         "DewPoint" : "12.08",
         "Favorite" : 0,
         "HardwareID" : 9,
         "HardwareName" : "Rfxcom",
         "HardwareType" : "RFXCOM - RFXtrx433 USB 433.92MHz Transceiver",
         "HardwareTypeVal" : 1,
         "HaveTimeout" : false,
         "Humidity" : 55,
         "HumidityStatus" : "Normal",
         "ID" : "CB02",
         "LastUpdate" : "2015-11-23 19:18:16",
         "Name" : "Temp et h2o",
         "Notifications" : "true",
         "PlanID" : "0",
         "PlanIDs" : [ 0 ],
         "Protected" : false,
         "ShowNotifications" : true,
         "SignalLevel" : 5,
         "SubType" : "THGN122/123, THGN132, THGR122/228/238/268",
         "Temp" : 21.50,
         "Timers" : "false",
         "Type" : "Temp + Humidity",
         "TypeImg" : "temperature",
         "Unit" : 2,
         "Used" : 1,
         "XOffset" : "0",
         "YOffset" : "0",
         "idx" : "33"
      }
   ],
   "status" : "OK",
   "title" : "Devices"
Est il possible de me mettre sur la voie pour recuperrer batterylevel

Merci

Re: Recuperer valeur batterie sonde oregon par script

Publié : 24 nov. 2015, 19:03
par patrice
Bonsoir
Lua , je ne sais pas mais python ici http://easydomoticz.com/les-batteries-en-z-wave/

Re: Recuperer valeur batterie sonde oregon par script

Publié : 24 nov. 2015, 19:39
par vil1driver
A savoir que les sondes oregons n'envoient pas un niveau de batterie mais un full ou low..

A mon avis lorsque tu auras l'info piles faibles, il sera urgent de les remplacer..
Tu auras probablement eu des disfonctionnement avant :(

Re: Recuperer valeur batterie sonde oregon par script

Publié : 24 nov. 2015, 20:52
par Steph38
J emule une sonde oregon et je recupere batterylevel pour envoyer une autre info vers domoticz. Je sais le faire en python mais ca doit etre egalement possible en lua.

Merci pour vos reponses
Steph

Re: Recuperer valeur batterie sonde oregon par script

Publié : 25 nov. 2015, 10:39
par rimram31
Tu n'es pas le seul a te poser la question visiblement ;) https://www.domoticz.com/forum/viewtopi ... 820#p17994 dommage que domoticz ne passe pas aux scripts "smart" lua un tableau complet avec toutes les valeurs qu'il a a disposition, celles qu'il est capable de délivrer en web (json).

Les solutions proposées dans le thread comme ici https://www.domoticz.com/wiki/Battery_level_check doivent marcher même si c'est un peu absurde de demander au script lua appelé par dz de rappeler l'api web de dz :D qui plus est via un os.execute qui lance en fait un process linux a chaque appel ... Au jeu des économies de ressources système, on peut mieux faire :mrgreen:

Après, on peut apprendre a lua de faire du http (librairie socket) et du json (http://regex.info/blog/lua/json) mais pas trivial car socket pose des problèmes de compatibilité de version lua (car dz impose sa version). J'ai suivi avec succès ce post: http://www.domoticz.com/forum/viewtopic ... 638#p22638 mais pour test, pas utilisé en pratique dans domoticz.

Re: Recuperer valeur batterie sonde oregon par script

Publié : 26 nov. 2015, 09:26
par vil1driver

Re: Recuperer valeur batterie sonde oregon par script

Publié : 26 nov. 2015, 19:49
par Steph38
Merci pour vos reponses :
rimram31, je n ai helas pas compris grand chose
Vil1 driver' super ton lien mais ce n est pas ce Ue je recherche.

Je vais le faire en python et mettre a jour une variable dans domoticz afin de gerer mes action en lua.
Steph

Re: Recuperer valeur batterie sonde oregon par script

Publié : 26 nov. 2015, 21:08
par rimram31
Steph38 a écrit :... rimram31, je n ai helas pas compris grand chose...
Alors ne retiens que cette partie d'un lien que je t'ai donné du wiki:

Code : Tout sélectionner

        --Determine battery level
       local handle = io.popen("curl 'http://" .. DomoticzIP .. ":" .. DomoticzPort .. "/json.htm?type=devices&rid=" .. DeviceIDToCheckBatteryLevel .. "' 2>/dev/null | /usr/local/bin/jq -r .result[].BatteryLevel")
       local BattLevel = string.gsub(handle:read("*a"), "\n", "")
       handle:close()
DomoticzIP et DomoticzPort a remplacer par l'ip et le port (8080 a priori) de ton dz et DeviceIDToCheckBatteryLevel l'id du device dont tu veux aller chercher le niveau batterie. Il faut avoir au préalable installé jq sur ta machine, expliqué dans le wiki: https://www.domoticz.com/wiki/Battery_level_check