Page 1 sur 1

Mon 1er script LUA

Publié : 06 déc. 2014, 16:20
par pascal3111
Bonjour,

J'utilise domoticz depuis 1 semaine (raspberry + razwave), pour l'instant avec juste 1 sonde de temperature everspring zwave.

Domotiz fonctionne bien, j'ai bien ma sonde de temperature qui fonctionne (TSalon), par contre j'essaye de faire un script LUA pour commencer a programmer un thermostat. Mais je n'arrive pas à lire la valeur du capteur.

J'ai une erreur sur la ligne suivante :
local temp_jour = devicechanged['TSalon_Temperature']

Dans le log j'ai :
Sat Dec 6 16:16:22 2014 (Razberry) Temp + Humidity (TSalon)
Sat Dec 6 16:16:23 2014 (Razberry) Temp + Humidity (TSalon)
Sat Dec 6 16:16:30 2014 (System) Temp (Unknown)
Sat Dec 6 16:16:30 2014 Hardware Monitor: Fetching data (System sensors)
Sat Dec 6 16:17:00 2014 (System) Temp (Unknown)
Sat Dec 6 16:17:00 2014 Hardware Monitor: Fetching data (System sensors)
Sat Dec 6 16:17:18 2014 Error: /home/pi/domoticz/scripts/lua/script_time_chauffage.lua:7: attempt to index global 'devicechanged' (a nil value)

Le script global est :

local confort = 20 -- Temperature du mode confort
local hysteresis = 0.5 -- Valeur seuil pour eviter trop de commutation

commandArray = {}

local temp_jour = devicechanged['TSalon_Temperature']
print(string.format('Temp = %s', temp_jour))
return commandArray

Re: Mon 1er script LUA

Publié : 06 déc. 2014, 18:23
par mike913
Bonjour,

Si ta sonde s' appelle TSalon
essaye ce script:

Code : Tout sélectionner

-- Temperature Salon Sensor
commandArray = {}
sSalonTemp, sSalonHumidity = otherdevices_svalues['TSalon']:match("([^;]+);([^;]+)")
sSalonTemp = tonumber(sSalonTemp)
sSalonHumidity = tonumber(sSalonHumidity)
print("Salon Temperature " .. sSalonTemp)
print("Salon Humidite " .. sSalonHumidity)
return commandArray

Re: Mon 1er script LUA

Publié : 07 déc. 2014, 13:06
par pascal3111
merci mike913 cela fonctionne bien.