Beer didn't help

Lua script and as trigger device i use:
Code: Select all
-- Lua script. LET OP zet Trigger op Device
commandArray = {}
ToonThermostatSensorName = uservariables['toon_thermostaat_naam'] -- Sensor showing current setpoint
ToonIP = uservariables['toon_ip']
for deviceName,deviceValue in pairs(devicechanged) do
if (deviceName == ToonThermostatSensorName) then
if uservariables['toon_thermostaat_helper'] == 1 then
commandArray['Variable:toon_thermostaat_helper'] = '0'
else
SetPoint = otherdevices_svalues[ToonThermostatSensorName]
ToonCommand = string.format('http://%s/happ_thermstat?action=setSetpoint&Setpoint=%s', ToonIP, SetPoint*100)
print('Setting Toon setpoint to '.. SetPoint)
commandArray['OpenURL'] = ToonCommand
end
end
end
return commandArray
Code: Select all
local ToonIpAdres = '192.168.178.71' -- IP adres rooted TOON thermostaat
local IDX_ToonActieveScene = 118 -- IDX nummer van TOON scene / selector switch
local IDX_ToonProgrammaVerloop = 119 -- IDX nummer van TOON programma / selector switch
local IDX_ToonDoelTemperatuurThermostaat = 123 -- IDX nummer van TOON thermostaat setpoint
local IDX_ToonHuidigeKamerTemperatuur = 121 -- IDX nummer van TOON kamer temperatuur
local IDX_ToonHuidigeModulatieNiveau = 122 -- IDX nummer van TOON modulatie niveau / custom sensor
local IDX_ToonHuidigieActiviteit = 120 -- IDX nummer van TOON huidige activiteit / slector switch
local UV_ThermostaatHelper = 'toon_thermostaat_helper' -- als het goed is niet veranderen
local scriptVersion = 'Versie 1.3'
local scriptVar = 'TOON Thermostaat ' .. scriptVersion
return
{ on = {
httpResponses = { scriptVar },
timer = {'every minute'},},
logging = { level = domoticz.LOG_INFO,
marker = scriptVar },
execute = function(domoticz, item)
if (item.isTimer) then
domoticz.openURL({
url = 'http://' .. ToonIpAdres .. '/happ_thermstat?action=getThermostatInfo',
method = 'GET',
callback = scriptVar,})
end
if (item.isHTTPResponse) then
domoticz.utils.dumpTable(item.headers)
if item.ok then
local rawJSON = domoticz.utils.fromJSON(item.data)
local myData = rawJSON
local ToonActieveScene = myData.activeState
if ToonActieveScene == '-1' then ToonActieveSceneUpdateWaarde = 'Handmatige temp. instelling'
elseif ToonActieveScene == '0' then ToonActieveSceneUpdateWaarde = 'Comfort'
elseif ToonActieveScene == '1' then ToonActieveSceneUpdateWaarde = 'Thuis'
elseif ToonActieveScene == '2' then ToonActieveSceneUpdateWaarde = 'Slapen'
elseif ToonActieveScene == '3' then ToonActieveSceneUpdateWaarde = 'Weg'
elseif ToonActieveScene == '4' then ToonActieveSceneUpdateWaarde = 'Vakantie'
end
domoticz.log( '----- Toon actieve scéne = ' .. tostring(ToonActieveSceneUpdateWaarde))
domoticz.devices(IDX_ToonActieveScene).switchSelector(ToonActieveSceneUpdateWaarde).silent()
local ToonProgrammaVerloop = myData.programState
if ToonProgrammaVerloop == '0' then ToonProgrammaVerloopUpdateWaarde = 'Uit'
elseif ToonProgrammaVerloop == '1' then ToonProgrammaVerloopUpdateWaarde = 'Aan'
elseif ToonProgrammaVerloop == '2' then ToonProgrammaVerloopUpdateWaarde = 'Aan / afwijkend'
elseif ToonProgrammaVerloop == '8' then ToonProgrammaVerloopUpdateWaarde = 'Aan / afwijkend'
end
domoticz.log( '----- Toon automatisch programma verloop = ' .. tostring(ToonProgrammaVerloopUpdateWaarde))
domoticz.devices(IDX_ToonProgrammaVerloop).switchSelector(ToonProgrammaVerloopUpdateWaarde).silent()
local ToonDoelTemperatuurThermostaat = myData.currentSetpoint / 100
domoticz.log( '----- Doel temperatuur voor thermostaat: '.. tostring(ToonDoelTemperatuurThermostaat))
domoticz.variables(UV_ThermostaatHelper).set(1)
domoticz.devices(IDX_ToonDoelTemperatuurThermostaat).updateSetPoint(ToonDoelTemperatuurThermostaat).silent()
local ToonHuidigeKamerTemperatuur = domoticz.utils.round((myData.currentTemp / 100),1)
domoticz.log( '----- Huidige woonkamer temp. = ' .. tostring(ToonHuidigeKamerTemperatuur))
domoticz.devices(IDX_ToonHuidigeKamerTemperatuur).updateTemperature(ToonHuidigeKamerTemperatuur).silent()
local ToonHuidigeModulatieNiveau = myData.currentModulationLevel
domoticz.log( '----- Huidige modulatie niveau = ' .. tostring(ToonHuidigeModulatieNiveau))
domoticz.devices(IDX_ToonHuidigeModulatieNiveau).updateCustomSensor(ToonHuidigeModulatieNiveau).silent()
local ToonHuidigieActiviteit = myData.burnerInfo
if ToonHuidigieActiviteit == '0' then ToonHuidigieActiviteitUpdateWaarde = 'Geen'
elseif ToonHuidigieActiviteit == '1' then ToonHuidigieActiviteitUpdateWaarde = 'Verwarm. CV'
elseif ToonHuidigieActiviteit == '2' then ToonHuidigieActiviteitUpdateWaarde = 'Verwarm. water'
elseif ToonHuidigieActiviteit == '3' then ToonHuidigieActiviteitUpdateWaarde = 'Voor verwarm.'
end
domoticz.log( '----- Huidige activiteit = ' .. tostring(ToonHuidigieActiviteitUpdateWaarde))
domoticz.devices(IDX_ToonHuidigieActiviteit).switchSelector(ToonHuidigieActiviteitUpdateWaarde).silent()
end
end
end
}
Code: Select all
{
dev_settings_device: {
uuid: "cd5a4b02-a23e-4165-8ae7-4130b9151c08",
name: "settings_device",
internalAddress: "settings_device",
type: "settings_device"
},
dev_6: {
uuid: "634c56b5-3f04-4c24-a909-b4ad313ae478",
name: "HAE_METER_v3",
internalAddress: "6",
type: "HAE_METER_v3",
supportsCrc: "1",
ccList: "5e 86 72 32 56 5a 59 85 73 7a 60 8e 22 70 8b 3c 3d 3e",
supportedCC: "5e 86 72 32 56 5a 59 85 73 7a 60 8e 22 70 8b 3c 3d 3e",
nodeFlags: [ ],
IsConnected: "1",
HealthValue: "10",
DeviceName: "HAE_METER_v3",
CurrentSensorStatus: "UNKNOWN"
},
dev_6.1: {
uuid: "18cd69ab-7fa6-491b-8cbb-870932f63d9c",
name: "HAE_METER_v3_1",
internalAddress: "6.1",
type: "HAE_METER_v3_1",
supportsCrc: "0",
ccList: "5e 59 85 8e 3c 3d 3e",
supportedCC: "5e 59 85 8e 3c 3d 3e",
nodeFlags: [ ],
CurrentSensorStatus: "WARNING",
CurrentGasFlow: "39.00",
CurrentGasQuantity: "2673902.00",
DeviceName: ""
},
dev_6.2: {
uuid: "5446565f-2e23-4101-b4ae-f5d36641c91a",
name: "HAE_METER_v3_2",
internalAddress: "6.2",
type: "HAE_METER_v3_2",
supportsCrc: "0",
ccList: "5e 59 85 8e 3c 3d 3e",
supportedCC: "5e 59 85 8e 3c 3d 3e",
nodeFlags: [ ],
CurrentSensorStatus: "UNKNOWN",
DeviceName: "",
CurrentElectricityFlow: "NaN",
CurrentElectricityQuantity: "NaN"
},
dev_6.3: {
uuid: "1c29dcf9-1814-4f79-aa41-4d149fcd2afc",
name: "HAE_METER_v3_3",
internalAddress: "6.3",
type: "HAE_METER_v3_3",
supportsCrc: "0",
ccList: "5e 59 85 8e 3c 3d 3e",
supportedCC: "5e 59 85 8e 3c 3d 3e",
nodeFlags: [ ],
CurrentSensorStatus: "UNKNOWN",
DeviceName: "",
CurrentElectricityFlow: "NaN",
CurrentElectricityQuantity: "NaN"
},
dev_6.4: {
uuid: "d9d7d18e-5507-489d-aa54-596ab28f5603",
name: "HAE_METER_v3_4",
internalAddress: "6.4",
type: "HAE_METER_v3_4",
supportsCrc: "0",
ccList: "5e 59 85 8e 3c 3d 3e",
supportedCC: "5e 59 85 8e 3c 3d 3e",
nodeFlags: [ ],
CurrentSensorStatus: "WARNING",
DeviceName: "",
CurrentElectricityFlow: "0.00",
CurrentElectricityQuantity: "4050743.00"
},
dev_6.5: {
uuid: "b45317d6-feeb-494c-8ba1-8e55818d96cd",
name: "HAE_METER_v3_5",
internalAddress: "6.5",
type: "HAE_METER_v3_5",
supportsCrc: "0",
ccList: "5e 59 85 8e 3c 3d 3e",
supportedCC: "5e 59 85 8e 3c 3d 3e",
nodeFlags: [ ],
CurrentSensorStatus: "WARNING",
DeviceName: "",
CurrentElectricityFlow: "0.00",
CurrentElectricityQuantity: "0.00"
},
dev_6.6: {
uuid: "fede1130-fe96-4c0d-b9fd-dc5ba246741d",
name: "HAE_METER_v3_6",
internalAddress: "6.6",
type: "HAE_METER_v3_6",
supportsCrc: "0",
ccList: "5e 59 85 8e 3c 3d 3e",
supportedCC: "5e 59 85 8e 3c 3d 3e",
nodeFlags: [ ],
CurrentSensorStatus: "WARNING",
DeviceName: "",
CurrentElectricityFlow: "823.00",
CurrentElectricityQuantity: "7442750.00"
},
dev_6.7: {
uuid: "c8bf3923-444c-4f2d-b452-095c334e9044",
name: "HAE_METER_v3_7",
internalAddress: "6.7",
type: "HAE_METER_v3_7",
supportsCrc: "0",
ccList: "5e 59 85 8e 3c 3d 3e",
supportedCC: "5e 59 85 8e 3c 3d 3e",
nodeFlags: [ ],
CurrentSensorStatus: "WARNING",
DeviceName: "",
CurrentElectricityFlow: "0.00",
CurrentElectricityQuantity: "92.00"
},
dev_6.8: {
uuid: "a9468352-f6a5-4303-9d43-60e5be3c6505",
name: "HAE_METER_v3_8",
internalAddress: "6.8",
type: "HAE_METER_v3_8",
supportsCrc: "0",
ccList: "5e 59 85 8e 3c 3d 3e",
supportedCC: "5e 59 85 8e 3c 3d 3e",
nodeFlags: [ ],
CurrentSensorStatus: "UNKNOWN",
DeviceName: "",
CurrentHeatQuantity: "NaN"
}
}