Dzvents and eurotronic / spirit radiator valve  [Solved]

Easy to use, 100% Lua-based event scripting framework.

Moderator: leecollings

Post Reply
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

Hi, just bought my first eurotronic / spirit radiator valve. I used V4. 10363 and the valve was recognized immediately.

I got
three setpoints
a switch slider
Temperature and
valve mode device

The valve mode contains:
off = valve closed
heat = uses setpoint heat
heat eco= uses setpoint heat eco
Full power = for a couple of minutes maximum valve
and manufacturer specific.


some dzvents actions i tried and they work:
dz.devices('Slaapkamer Thermostat Mode').updateMode('Heat Eco')
dz.devices('slaapkamer_heat_temp').updateSetPoint(21)
dz.devices('Slaapkamer Thermostat Mode').updateMode('Manufacturer Specific')

Some questions
1. i am looking how to read the value from 'Heat Eco' in dzvents
2. i have a third setpoint, when is this setpoint used?
3. when i select manufacturer specific,from the drop down bar it returns "heat"
4. What does "manufacturer specific" do ?
5. When i operate the valve manually it also changes the actual setpoint, that looks strange!
I expected that when you manually change the valve, a manual mode is selected and and a setpoint that belogs to manually changes...

script (first attempt) and not working

Code: Select all


-- i set the valve always to heat as a sort of default/actual thermo setting
-- at nighttime i change the current heat setpoint to the value from heat eco setpoint
-- i disable the slider switch
-- i disable the setpoint (one i dont know what it does)
-- i am looking how to read the value from 'Heat Eco' in dzvents and how to set heat sp with value from eco sp
return {
	on = {devices = {'testverwarming'}},    

    logging =   { level   = domoticz.LOG_DEBUG ,                  
                  marker  = "Security"},
	
    execute = function(dz, device, info)
    local currenttempset = dz.devices('slaapkamer_heat_temp')
    local currenttempseteco = dz.devices('slaapkamer_heat_eco_temp')
    
    
    if currenttempset.temperature <> currenttempseteco.temperature
        currenttempset.updateSetPoint(currenttempseteco.temperature)
    end
 
end
}
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
User avatar
waaren
Posts: 6028
Joined: Tuesday 03 January 2017 14:18
Target OS: Linux
Domoticz version: Beta
Location: Netherlands
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by waaren »

pvklink wrote: Wednesday 23 January 2019 13:37 script (first attempt) and not working
try changing

Code: Select all

if currenttempset.temperature <> currenttempseteco.temperature
to

Code: Select all

if currenttempset.temperature ~= currenttempseteco.temperature
but do you want this or do you want to compare it to the current setpoint ?
Debian buster, bullseye on RPI-4, Intel NUC.
dz Beta, Z-Wave, RFLink, RFXtrx433e, P1, Youless, Hue, Yeelight, Xiaomi, MQTT
==>> dzVents wiki
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

Both currenttempset.temperature and currenttempseteco.temperature are setpoint.

If somebody changed the valve manually effect is that the sp(currenttempset.temperature) is also changed.
When the night comes i put the sp currenttempset.temperature back to defaults (value from sp currenttempseteco.temperature)

By the way currenttempset.temperature did not change when i pushed the pushbutton
think that : currenttempset.updateSetPoint(currenttempseteco.temperature) does not work

Code: Select all

return {
	on = {devices = {'testverwarming'}},    -- alle devices die met Smoke beginnen worden door dit script opgepakt 

    logging =   { level   = domoticz.LOG_DEBUG ,                  -- Uncomment to override the dzVents global logging setting
                  marker  = "Security"},
	
    execute = function(dz, device, info)
    local currenttempset = dz.devices('slaapkamer_heat_temp')
    local currenttempseteco = dz.devices('slaapkamer_heat_eco_temp')
    
    if currenttempset.temperature ~= currenttempseteco.temperature  -- if setpoints arer different make them equal
        currenttempset.updateSetPoint(currenttempseteco.temperature)
    end
    
    - altijd op heat zetten
    - rest modes niet gebruiken
    - waarde van eco uitlezen en setpoint heat op waarde van eco zetten
    -- how to read  the value from heatpoint eco
    --dz.devices('Slaapkamer Thermostat Mode').updateMode('Manufacturer Specific')
    --dz.devices('Slaapkamer Thermostat Mode').updateMode('Heat')
    --dz.devices('Slaapkamer Thermostat Mode').updateMode('Heat Eco')
    --dz.devices('slaapkamer_heat_temp').updateSetPoint(21)

end
}
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

Its working!

I already have a dvents script for evening and night etc.
Can these scripts trigger this script without using a dummyswitch like i do at this time?
Another option is that i make timer rules for this script....

Code: Select all

--- altijd op heat zetten
-- waarde van eco uitlezen en setpoint heat op waarde van eco zetten
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Manufacturer Specific')
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Heat')
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Heat Eco')
-- dz.devices('slaapkamer_heat_temp').updateSetPoint(21)
-- dz.devices('slaapkamer_heat_temp').setPoint     uitlezen van setpoint
-- nog ophalen werkelijke temperatuur slaapkamer

return {
	on = {
		devices = {
			'test'
		}
	},
	execute = function(dz, device)

    cur1 = dz.devices('Slaapkamer_thermostaat_instelling').setPoint -- werkt met mode 'Heat'
    cur2 = dz.devices('Slaapkamer_thermostaat_nachtnorm').setPoint          -- als mode 'Heat' actief is kunnen we deze als de nachtnorm gebruiken. 
    --cur3 = dz.devices('Slaapkamer_thermostaat_dagnorm').setPoint          -- als mode 'Heat' actief is kunnen we deze als de dagnorm gebruiken. 

    if cur1 ~= cur2  then -- if setpoints are different make them equal
		dz.devices('Slaapkamer_thermostaat_instelling').updateSetPoint(cur2)
		dz.log('Device ' .. device.name .. ' pvk was changed:' .. cur1 .. '/' .. cur2 .. ' ', dz.LOG_INFO)
    end

end
}
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
User avatar
waaren
Posts: 6028
Joined: Tuesday 03 January 2017 14:18
Target OS: Linux
Domoticz version: Beta
Location: Netherlands
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by waaren »

pvklink wrote: Wednesday 23 January 2019 16:19 Can these scripts trigger this script without using a dummyswitch like i do at this time?
You can use the technique used in scripts below.

Code: Select all

-- master

return {
    on =        {       timer   =   { "every minute" }},                        
              
    logging =   {       level   =   domoticz.LOG_DEBUG,                                   
                        marker  =   "master" },                                           

    execute = function( dz )
   
        local function delayedURL(callback,delay)
            local logString = "/json.htm?type=command&param=addlogmessage&message=" .. dz.utils.urlEncode("Mork calling Mindy")
            local url= dz.settings['Domoticz url'] .. logString
            dz.openURL({    
                         url = url,
                         method = "GET",
                         callback = callback 
                      }).afterSec(delay)                      
        end
       
        delayedURL("Wake_up_Mindy",12) 
        
    end
}

Code: Select all

--slave

return {
    on =        {       httpResponses =        {  "Wake_up_Mindy" } },                

        logging =   {       level   =   domoticz.LOG_DEBUG,                                   
                            marker  =   "slave" },   
    
    execute = function(dz) 
        
        dz.log("Hmmmm who is calling ? ",dz.LOG_DEBUG)
        
    end
}
Debian buster, bullseye on RPI-4, Intel NUC.
dz Beta, Z-Wave, RFLink, RFXtrx433e, P1, Youless, Hue, Yeelight, Xiaomi, MQTT
==>> dzVents wiki
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

Thanks, the solution does work!

But, i think it is a lot of code to simple call another script!
That should be one rule...
The function should be default part of dzvents..

With a dummy switch it only takes one rule....
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
User avatar
waaren
Posts: 6028
Joined: Tuesday 03 January 2017 14:18
Target OS: Linux
Domoticz version: Beta
Location: Netherlands
Contact:

Re: Dzvents and eurotronic / spirit radiator valve  [Solved]

Post by waaren »

pvklink wrote: Wednesday 23 January 2019 22:09 Thanks, the solution does work!
But, i think it is a lot of code to simple call another script!
That should be one rule...
The function should be default part of dzvents..

With a dummy switch it only takes one rule....
That does not sound nice.
But anyway, just put the function in global_data.lua. Then you only need one line in your caller script and one line in your called script.
Debian buster, bullseye on RPI-4, Intel NUC.
dz Beta, Z-Wave, RFLink, RFXtrx433e, P1, Youless, Hue, Yeelight, Xiaomi, MQTT
==>> dzVents wiki
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

Hi @waaren that wasnt my intention!
I am very happy with this code!, and you are by far my dzvents hero.
Without you, 50% of my scripts wont work!
And now i am completely moved from lua, blockly to dzvents with lots of fuctionality!

But, in my old days for exampe a call to another script in basic or fortran was sort off: call "scriptname, variable) etc.
In dzvents this function isnt available. So i understand that you have to write code to create the function, like you did for me...
If the function is available in dzvents, you need only one rule...
So again, i am very happy! and it was more a wish to get it into dzvents and get dzvents better with your function!
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
EddyG
Posts: 1042
Joined: Monday 02 November 2015 5:54
Target OS: -
Domoticz version:

Re: Dzvents and eurotronic / spirit radiator valve

Post by EddyG »

This is my dzVents script for this radiator valve and working perfectly.
My 'Heat' is set to 21 degreesCelsius and my 'Heat Eco' is set to 16 degreesCelsius

I have a button "Vakantie' (Holiday) in Domoticz which I use in a lot of scripts to get other settings for Holidays times.

Code: Select all

return {
        active = true,
--      active = false,

        on = {
--              timer = { 'every minute' }

                timer = { 'at 08:01 on mon, tue, wed, thu, fri',
                          'at 08:31 on sat, sun',
                          'at 20:01' }
        },

        execute = function(domoticz)
--              local debug = false
                local debug = true

                local valVakantie = domoticz.devices("Vakantie").state
                local t = domoticz.time

                if debug then
                        print('Zolder Thermostat Mode: ' .. domoticz.devices('Zolder Thermostat Mode').state)
                end


                if valVakantie == "Off" then
                        if (t.matchesRule('at 08:01 on mon, tue, wed, thu, fri')) then
                                domoticz.devices('Zolder Thermostat Mode').updateMode('Heat')
                        elseif (t.matchesRule('at 08:31 on sat, sun')) then
                                domoticz.devices('Zolder Thermostat Mode').updateMode('Heat')
                        elseif (t.matchesRule('at 20:01')) then
                                domoticz.devices('Zolder Thermostat Mode').updateMode('Heat Eco')
                        end
                else
                        domoticz.devices('Zolder Thermostat Mode').updateMode('Heat Eco')
                end
        end
}
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

Great!
I will combine the holiday button with my "button" anybody home which is trigger by arming and disarming my alarm unit!
Only thing in your script is that when somebody changes the radiator valve manually the corresponding setpoint of the actual mode is also changed and used the nexttime
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
EddyG
Posts: 1042
Joined: Monday 02 November 2015 5:54
Target OS: -
Domoticz version:

Re: Dzvents and eurotronic / spirit radiator valve

Post by EddyG »

You could just set "Heat" and "Heat Eco" every time in the script too, or do that once everyday, that way you could manual temporary override the settings.
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

That's exactly what i did, i am going to make a holiday button!
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

Hi Eddy,

what sort off heating devices do you have? I am just starting with:

- a nefit smartline 24 2009 no opentherm
- nefit roomthermostat moduline 300 (manual, no opentherm, it does modulate)
- 8 low temperature jagra, 7 with an old manual thermostat and 1 with a spirit zwave plus.

at the moment i cant trigger my smartline24
and i cant manage my roomthermostat with domoticz dzvents

I am thinking of placing a Nefit EMS-OT converter Opentherm module 7746901847 and a new room thermostat.

Do you know a roomthermostat that i can manage by dzvents commands, i am orientating devices like toon
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
EddyG
Posts: 1042
Joined: Monday 02 November 2015 5:54
Target OS: -
Domoticz version:

Re: Dzvents and eurotronic / spirit radiator valve

Post by EddyG »

I have a dedicated heating system which is autonoom and not connected to Domoticz.
I only use domoticz with this valve to seperately control the temperature in 3 rooms.
So sorry, I am not familiar with any thermostats that could be connected to Domoticz.
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

I also have made my script more intelligent.
When i dont use the item element, and corresponding item checks and i dont use the webhooks in this script it works well with the selector switch
But when i add the item checks and add the webhook lines and sections, the selector switch does not work. So item.isdevice isnt true when i use the selector switch ?

Code: Select all

-- altijd op heat zetten..
-- waarde van eco uitlezen en setpoint heat op waarde van eco zetten in de nacht
-- waarde van eco uitlezen en setpoint heat op waarde van Manufacturer Specific zetten in de dag
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Manufacturer Specific')
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Heat')
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Heat Eco')
-- dz.devices('slaapkamer_heat_temp').updateSetPoint(21)
-- dz.devices('slaapkamer_heat_temp').setPoint     uitlezen van setpoint

local hr1   = 'Hook_DZ_nacht'
local hr2   = 'Hook_DZ_dag'

return {
	on = {httpResponses = {hr1,hr2},                
		devices = {'Default_heating'}
	    },

    logging =   { level   = domoticz.LOG_DEBUG ,                  -- Uncomment to override the dzVents global logging setting
                  marker  = "Security"},
	
    execute = function(dz, item, device, info)                                      -- dont use item
    local nt1   = 'Niels_slaapkamer_thermostaat_instelling'
    local nt2   = 'Niels_slaapkamer_thermostaat_nachtnorm'
    local nt3   = 'Niels_slaapkamer_thermostaat_dagnorm'
	local switch1 = dz.devices('Niels-game-pc-noodvz').value
	local switch2 = dz.devices('pc-niels-game').value
    local cur1 = dz.devices(nt1).setPoint
    local cur2 = dz.devices(nt2).setPoint
    local cur3 = dz.devices(nt3).setPoint

    if item.isDevice then                                                                      -- dont check
        if device.state == 'dag' then    
        	dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur3)
            dz.log("Script: " .. info.scriptName .. " verwarming wordt op dagstand gezet....", dz.LOG_INFO)

        elseif device.state == 'nacht' then
            dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur2)
            dz.log("Script: " .. info.scriptName .. " verwarming wordt op nachtstand gezet....", dz.LOG_INFO)

        elseif device.state == 'check' then

            if (switch1 == 'On') or (switch1 == 'On') then
    	        dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur3)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op dagstand gezet....", dz.LOG_INFO)
            else
                dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur2)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op nachtstand gezet....", dz.LOG_INFO)
            end
        end

    elseif item.isHTTPResponse then								-- when i delete this section
        if (item.trigger == hr1) then -- nachtaanroep
            if cur1 ~= cur2  then -- if setpoints are different make them equal night is coming
	        	dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur2)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op nachtstand gezet....", dz.LOG_INFO)
            end
        end

        if (item.trigger == hr2) then -- dagaanroep						-- when i delete this section it works
            if cur1 ~= cur3  then -- if setpoints are different make them equal day is coming
	            dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur3)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op dagstand gezet....", dz.LOG_INFO)
            end
        end
    end

end
}
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

solved it!

Code: Select all

-- altijd op heat zetten..
-- waarde van eco uitlezen en setpoint heat op waarde van eco zetten in de nacht
-- waarde van eco uitlezen en setpoint heat op waarde van Manufacturer Specific zetten in de dag
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Manufacturer Specific')
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Heat')
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Heat Eco')
-- dz.devices('slaapkamer_heat_temp').updateSetPoint(21)
-- dz.devices('slaapkamer_heat_temp').setPoint     uitlezen van setpoint

local hr1   = 'Hook_DZ_nacht'
local hr2   = 'Hook_DZ_dag'

return {
	on = {httpResponses = {hr1,hr2},                
		devices = {'Default_heating'}
	    },

    logging =   { level   = domoticz.LOG_DEBUG ,                  -- Uncomment to override the dzVents global logging setting
                  marker  = "Security"},
	
    execute = function(dz, device, info)
    local nt1   = 'Niels_slaapkamer_thermostaat_instelling'
    local nt2   = 'Niels_slaapkamer_thermostaat_nachtnorm'
    local nt3   = 'Niels_slaapkamer_thermostaat_dagnorm'
	local switch1 = dz.devices('Niels-game-pc-noodvz').value
	local switch2 = dz.devices('pc-niels-game').value
    local cur1 = dz.devices(nt1).setPoint
    local cur2 = dz.devices(nt2).setPoint
    local cur3 = dz.devices(nt3).setPoint

    if device.isDevice then
        if device.state == 'dag' then    
        	dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur3)
            dz.log("Script: " .. info.scriptName .. " verwarming wordt op dagstand gezet....", dz.LOG_INFO)

        elseif device.state == 'nacht' then
            dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur2)
            dz.log("Script: " .. info.scriptName .. " verwarming wordt op nachtstand gezet....", dz.LOG_INFO)

        elseif device.state == 'check' then

            if (switch1 == 'On') or (switch1 == 'On') then
    	        dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur3)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op dagstand gezet....", dz.LOG_INFO)
            else
                dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur2)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op nachtstand gezet....", dz.LOG_INFO)
            end
        end

    elseif device.isHTTPResponse then
        if (device.trigger == hr1) then -- nachtaanroep
            if cur1 ~= cur2  then -- if setpoints are different make them equal night is coming
	        	dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur2)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op nachtstand gezet....", dz.LOG_INFO)
            end
        end

        if (device.trigger == hr2) then -- dagaanroep
            if cur1 ~= cur3  then -- if setpoints are different make them equal day is coming
	            dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur3)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op dagstand gezet....", dz.LOG_INFO)
            end
        end
    end

end
}

Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
EddyG
Posts: 1042
Joined: Monday 02 November 2015 5:54
Target OS: -
Domoticz version:

Re: Dzvents and eurotronic / spirit radiator valve

Post by EddyG »

There are 2 setpoints in the device "Heat" and "Heat Eco"
You can set the values of those setpoints in dzVents.
Isn't it more simple to switch between those 2 setpoints?
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

when a user then turns the heat, the setpoint also changes.
i use one mode and use one setpoint for manual and i use the other setpoints as norm for day and night and i can easily adjust them without code
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
knielen
Posts: 46
Joined: Sunday 10 September 2017 9:45
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by knielen »

pvklink wrote: Thursday 31 January 2019 22:48 solved it!

Code: Select all

-- altijd op heat zetten..
-- waarde van eco uitlezen en setpoint heat op waarde van eco zetten in de nacht
-- waarde van eco uitlezen en setpoint heat op waarde van Manufacturer Specific zetten in de dag
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Manufacturer Specific')
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Heat')
-- dz.devices('Slaapkamer_thermostaat_mode').updateMode('Heat Eco')
-- dz.devices('slaapkamer_heat_temp').updateSetPoint(21)
-- dz.devices('slaapkamer_heat_temp').setPoint     uitlezen van setpoint

local hr1   = 'Hook_DZ_nacht'
local hr2   = 'Hook_DZ_dag'

return {
	on = {httpResponses = {hr1,hr2},                
		devices = {'Default_heating'}
	    },

    logging =   { level   = domoticz.LOG_DEBUG ,                  -- Uncomment to override the dzVents global logging setting
                  marker  = "Security"},
	
    execute = function(dz, device, info)
    local nt1   = 'Niels_slaapkamer_thermostaat_instelling'
    local nt2   = 'Niels_slaapkamer_thermostaat_nachtnorm'
    local nt3   = 'Niels_slaapkamer_thermostaat_dagnorm'
	local switch1 = dz.devices('Niels-game-pc-noodvz').value
	local switch2 = dz.devices('pc-niels-game').value
    local cur1 = dz.devices(nt1).setPoint
    local cur2 = dz.devices(nt2).setPoint
    local cur3 = dz.devices(nt3).setPoint

    if device.isDevice then
        if device.state == 'dag' then    
        	dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur3)
            dz.log("Script: " .. info.scriptName .. " verwarming wordt op dagstand gezet....", dz.LOG_INFO)

        elseif device.state == 'nacht' then
            dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur2)
            dz.log("Script: " .. info.scriptName .. " verwarming wordt op nachtstand gezet....", dz.LOG_INFO)

        elseif device.state == 'check' then

            if (switch1 == 'On') or (switch1 == 'On') then
    	        dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur3)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op dagstand gezet....", dz.LOG_INFO)
            else
                dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur2)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op nachtstand gezet....", dz.LOG_INFO)
            end
        end

    elseif device.isHTTPResponse then
        if (device.trigger == hr1) then -- nachtaanroep
            if cur1 ~= cur2  then -- if setpoints are different make them equal night is coming
	        	dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur2)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op nachtstand gezet....", dz.LOG_INFO)
            end
        end

        if (device.trigger == hr2) then -- dagaanroep
            if cur1 ~= cur3  then -- if setpoints are different make them equal day is coming
	            dz.devices('Niels_slaapkamer_thermostaat_instelling').updateSetPoint(cur3)
                dz.log("Script: " .. info.scriptName .. " verwarming wordt op dagstand gezet....", dz.LOG_INFO)
            end
        end
    end

end
}

Huh? Something is wrong:

Code: Select all

 if (switch1 == 'On') or (switch1 == 'On') 
pvklink
Posts: 822
Joined: Wednesday 12 November 2014 15:01
Target OS: Raspberry Pi / ODroid
Domoticz version: latest b
Contact:

Re: Dzvents and eurotronic / spirit radiator valve

Post by pvklink »

mm, double check! :-)
I will change it...

Thanks!
Raspberry (raspbian on rpi 3) , Domoticz Beta, dzVents , RFXtrx433e, P1, Hue, Yeelight, Zwave+, X10, ESP(easy), MQTT,Weather Underground, System Alive Checker, Domoticz Remote Server to RPI with Google Assistant,
Jablotron connection, Ikea
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest