Domoticz smart thermostat: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
Create a virtual device: | '''Create a virtual device:''' | ||
Name: Thermo | Name: Thermo | ||
Sensor type: Thermostat setpoint | Sensor type: Thermostat setpoint | ||
Line 5: | Line 5: | ||
[[File:Thermo_setpoint.png|1000px]] | [[File:Thermo_setpoint.png|1000px]] | ||
Choose a IOT4SH01DS device for temperature sensor, in my case named it 'Nappali'. | '''Choose a IOT4SH01DS device for temperature sensor, in my case named it 'Nappali'.''' | ||
[[File:Thermo nappali.png|1000px]] | [[File:Thermo nappali.png|1000px]] | ||
Choose a IOT4SH01Relay device for controlling the central heating unit, in my case named 'futes'. | '''Choose a IOT4SH01Relay device for controlling the central heating unit, in my case named 'futes'.''' | ||
[[File:Thermo_switch.png|1000px]] | [[File:Thermo_switch.png|1000px]] | ||
Line 17: | Line 17: | ||
[[File:Thermo_events.png|1000px]] | [[File:Thermo_events.png|1000px]] | ||
Insert this code: | '''Insert this code:''' | ||
<source lang=lua> | <source lang=lua> | ||
Line 68: | Line 68: | ||
</source> | </source> | ||
The event type set to Lua and set the event to active. | '''The event type set to Lua and set the event to active.''' | ||
If you remove the -- (lua remark) before the ''commandArray['SendNotification']'' lines the Domoticz will be notify heating status changes. | |||
If you want can use higher hysteresis than 0.1 celsius, just simply modify the Lua code. | |||
[[File:Thermo lua.png|1000px]] | [[File:Thermo lua.png|1000px]] |
Revision as of 19:21, 23 May 2017
Create a virtual device:
Name: Thermo Sensor type: Thermostat setpoint
Choose a IOT4SH01DS device for temperature sensor, in my case named it 'Nappali'.
Choose a IOT4SH01Relay device for controlling the central heating unit, in my case named 'futes'.
In the Setup-> More options -> Events
Insert this code:
--
-- Domoticz passes information to scripts through a number of global tables
--
--
--
--
-- https://www.iot4.eu/wiki
local heating_probe = 'Nappali'
local thermostat_setpoint = 'Thermo'
local heating_unit = 'futes'
local hysteresis = 0.1
commandArray = {}
-- loop through all the devices
for deviceName,deviceValue in pairs(otherdevices) do
if (deviceName== thermostat_setpoint ) then
if tonumber(deviceValue) < tonumber(otherdevices[heating_probe]-hysteresis) then
if (otherdevices[heating_unit] == "On") then
-- commandArray['SendNotification']='Heating is off'
commandArray[heating_unit]='Off'
print("Heating is Off")
end
elseif tonumber(deviceValue) > tonumber(otherdevices[heating_probe]+hysteresis) then
if (otherdevices[heating_unit] == "Off") then
commandArray[heating_unit]='On'
-- commandArray['SendNotification']='Heating is on'
print("Heating is On")
end
end
end
end
-- loop through all the variables
for variableName,variableValue in pairs(uservariables) do
end
return commandArray
The event type set to Lua and set the event to active. If you remove the -- (lua remark) before the commandArray['SendNotification'] lines the Domoticz will be notify heating status changes. If you want can use higher hysteresis than 0.1 celsius, just simply modify the Lua code.