Domoticz smart thermostat: Difference between revisions

From IOT4
Jump to navigation Jump to search
No edit summary
No edit summary
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'.


[[File:Thermo nappali.png|1000px]]





Revision as of 19:07, 23 May 2017

Create a virtual device:

Name: Thermo 
Sensor type: Thermostat setpoint

Thermo setpoint.png

Choose a IOT4SH01DS device for temperature sensor, in my case named it 'Nappali'.

Thermo nappali.png


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
  --      print ("All based event fired1");
      --  print(deviceValue .. "-" ..otherdevices[heating_probe])
        
        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
            -- commandArray['a device name'] = "On"
            -- commandArray['Scene:MyScene'] = "Off"
            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
--    if (variableName=='myVariable') then
--        if variableValue == 1 then
--            commandArray['a device name'] = "On"
--            commandArray['Group:My Group'] = "Off AFTER 30"
--        end
--    end
end

return commandArray