Page 15 of 21
Re: Python Plugin: Smart Virtual Thermostat
Posted: Thursday 02 January 2020 12:36
by joyride1176
joyride1176 wrote: ↑Wednesday 01 January 2020 17:44
Hi All!
I'm using SVT to warm up seven rooms using two instances of domoticz and seven HW components, one for every room
I've read all pages in this thread but I din't found and to below behavior
In practice SVT swtich on the heat for 10 sec which is not in line with the configuration:20,2,2,1,60 ( I expect 2 minutes of minimum heat per cycle)
Below the logs, anyone has a suggestion on what's going on?
in this way valves may go out of sync....
Fixed....
two issues
first there was a delay off in the swtich config
second Minimum Heating time per cycle is a % and not minutes like I supposed
Stefano
Re: Python Plugin: Smart Virtual Thermostat
Posted: Sunday 05 January 2020 20:29
by EmKaRo
All the best in 2020.
Please tell me how often thermostat temperature is refreshed?
Is it one per cycle?
Re: Python Plugin: Smart Virtual Thermostat
Posted: Monday 06 January 2020 9:53
by Logread
EmKaRo wrote: ↑Sunday 05 January 2020 20:29
All the best in 2020.
Please tell me how often thermostat temperature is refreshed?
Is it one per cycle?
Happy new year !
Every 5 minutes.
Re: Python Plugin: Smart Virtual Thermostat
Posted: Friday 24 January 2020 18:46
by deennoo
Great plugin, i have an issue : my boiler have an external temp sensor, this made heating water goes from 43 to 72 degrés.
Of course depending of external temp + inside temp + heating water temp heating Time have to be adapted.
I have a sensor who allow me to have temp of heating departure water temp (the one who goes outside from thé boiler)
Any advice to deal with this ?
Re: Python Plugin: Smart Virtual Thermostat
Posted: Sunday 26 January 2020 11:08
by Remicade
Hello,
For two rooms i prepared a Sonoff TH10 with a 230V actuator from Honeywell.
I setup two hardware devices "SmartVirtual Thermostat" named Lars and Bart.
So far so good.
Besides the device that is used to switch the actuator I also put the central heating switch (IDX 17) in "heating switches" so for Lars : 15,17 and for Bart: 13,17
The thermostat function itself works very well but I am running in to one problem.
When Bart reaches setpoint, Domoticz switches both IDX 13 and 17 to off.
This is a problem when Lars is also switched on.
The result is that Lars IDX 15 is still switched on but as mentioned earlier, Bart did swich off IDX 17......
So the actuator opens the valve but there is no heat because of the fact that the central heating is no longer switched on.
Is it a suggestion to check in the script that the heating switches are on?
Or should I make a Dzvents or LUA script to check this out? (Help is needed in this case

)
I hope that some one can help me with this one.
Thanks Paul
Re: Python Plugin: Smart Virtual Thermostat
Posted: Sunday 26 January 2020 11:49
by Logread
@Remicade,
My suggestion would be to remove 17 from the plugins switches lists and run a script that sets 17 « On » if 13 or 15 are on, and switches 17 « Off » if 13 and 15 are « Off ».
Hope this helps
Re: Python Plugin: Smart Virtual Thermostat
Posted: Tuesday 28 January 2020 19:33
by Remicade
Logread wrote: ↑Sunday 26 January 2020 11:49
@Remicade,
My suggestion would be to remove 17 from the plugins switches lists and run a script that sets 17 « On » if 13 or 15 are on, and switches 17 « Off » if 13 and 15 are « Off ».
Hope this helps
Thanks for your quick reaction Logread,
What do you suggest? DzVents?
And how to wriye such a function?
using devicechanged funtion?
Any help is welcome!
Thanks Paul
Re: Python Plugin: Smart Virtual Thermostat
Posted: Thursday 30 January 2020 18:03
by JonyBCN
Great idea. For work reasons I use PIDs and apply it to software heating I thought it was great.
I have been testing the plugin and for some reason I have an unexpected problem.
My installation for this case consists of a temperature sensor in the room to be heated, another outside and to heat the room an electric radiator controlled by a Fibaro plug.
Mole seems to be fine, but there are problems with the plug control. The first night he stayed on (Domoticz "saw it" off) constantly raising the temperature.
The reverse also happened during the day, Domoticz believed that the plug was on when it was actually turned off.
Checking the plug logs I see what the problem may be: the plugin sends the orders too fast:
at the same exact time it sends the On and Off signal, and I think the plug is not able to respond properly. Can be? If so, it shouldn't be complicated to fix it.

- IMG_6224.jpg (24.97 KiB) Viewed 3069 times
Re: Python Plugin: Smart Virtual Thermostat
Posted: Thursday 06 February 2020 19:11
by peerkersezuuker
Hello,
@logread, I am trying to get the SVT to work within domoticz.
But I bumped in to a problem with the update of the user variabele from within the plugin.
When it is getting updated from within the plugin an api cal is send out
Code: Select all
Virtual Thermostat) Calling domoticz API: http://192.168.0.31:8880/json.htm?type=command¶m=updateuservariable&vname=Virtual%20Thermostat-InternalVariables&vtype=2&vvalue=%7B%27ConstC%27%3A%200.9%2C%20%27ConstT%27%3A%201.0%2C%20%27nbCC%27%3A%203%2C%20%27nbCT%27%3A%205%2C%20%27LastPwr%27%3A%2017.6%2C%20%27LastInT%27%3A%2019.6%2C%20%27LastOutT%27%3A%203.7%2C%20%27LastSetPoint%27%3A%2020.5%2C%20%27ALStatus%27%3A%201%7D
And this is causing my domoticz to crash.
See
https://www.domoticz.com/forum/viewtopi ... =6&t=31238
Is this something you ever came across ?
Regards
Peer
Re: Python Plugin: Smart Virtual Thermostat
Posted: Sunday 09 February 2020 7:25
by rrozema
peerkersezuuker wrote: ↑Thursday 06 February 2020 19:11
Hello,
@logread, I am trying to get the SVT to work within domoticz.
But I bumped in to a problem with the update of the user variabele from within the plugin.
When it is getting updated from within the plugin an api cal is send out
Code: Select all
Virtual Thermostat) Calling domoticz API: http://192.168.0.31:8880/json.htm?type=command¶m=updateuservariable&vname=Virtual%20Thermostat-InternalVariables&vtype=2&vvalue=%7B%27ConstC%27%3A%200.9%2C%20%27ConstT%27%3A%201.0%2C%20%27nbCC%27%3A%203%2C%20%27nbCT%27%3A%205%2C%20%27LastPwr%27%3A%2017.6%2C%20%27LastInT%27%3A%2019.6%2C%20%27LastOutT%27%3A%203.7%2C%20%27LastSetPoint%27%3A%2020.5%2C%20%27ALStatus%27%3A%201%7D
And this is causing my domoticz to crash.
See
https://www.domoticz.com/forum/viewtopi ... =6&t=31238
Is this something you ever came across ?
Regards
Peer
I'm guessing you're on raspbian jessie. If so, check your python version. This has been reported before in this thread, also the solution is there: upgrade your python or upgrade your entire os (which upgrades python too).
Re: Python Plugin: Smart Virtual Thermostat
Posted: Sunday 09 February 2020 12:06
by peerkersezuuker
Hello rrozema,
Thanks for the heads up, but I am on buster for a while now.
And buster comes with python 3.7.3
I even tried an fresh install of domoticz on another pi (also with buster) but there I have the same problem.
I know it is a python thingy, because when I update an uservariabele from my python script_device_change.py I get the same behavior.
But what the cause is, I can not get clear.
Regards
Peer
Re: Python Plugin: Smart Virtual Thermostat
Posted: Friday 21 February 2020 15:39
by joyride1176
Hi all,
Just a question to simplify the management of seven room and seven SVT instances and lot of switches
I want to modify the configuration as follow, the question at the end will the plugin work properly?
- press normal button and hide thermostat control buttons (normal, economy) vi settings/devices and press blu arrow
- hide economy set point
The plugin will work properly at the normal set point?
In case I will decrease the normal set point will I have any issue?
Thanks
Stefano
Re: Python Plugin: Smart Virtual Thermostat
Posted: Friday 28 February 2020 20:21
by Remicade
Hi all,
I have tried several things but I am not getting it done....Can someone please check this for me.
Thanks in advance.
Remicade wrote: ↑Tuesday 28 January 2020 19:33
Logread wrote: ↑Sunday 26 January 2020 11:49
@Remicade,
My suggestion would be to remove 17 from the plugins switches lists and run a script that sets 17 « On » if 13 or 15 are on, and switches 17 « Off » if 13 and 15 are « Off ».
Hope this helps
Thanks for your quick reaction Logread,
What do you suggest? DzVents?
And how to wriye such a function?
using devicechanged funtion?
Any help is welcome!
Thanks Paul
Re: Python Plugin: Smart Virtual Thermostat
Posted: Sunday 01 March 2020 15:22
by Remicade
Hi,
return {
active = true,
on = {
'Bart Switch'
},
execute = function(domoticz, switch)
if (switch.state == 'On') then
domoticz.devices['CV'].switchOn()
end
end
}
Tried the code above....I do not get it? LUA...dZvents??? Not clear for me..
All I want is : If Lars is on, then CV is on. If Bart is on, the CV is on.
Thanks
step by step help is needed I think...
Cheers Paul
Re: Python Plugin: Smart Virtual Thermostat
Posted: Sunday 01 March 2020 19:30
by Remicade
Thanks Logread!
Your suggestion was what I had in mind.
Solved now with LUA.
Maybe to much, I wrote 4 scripts:
local bart_switch = 'Bart Switch'
local cv_switch = 'CV Schakelaar'
local lars_switch = 'Lars Switch'
commandArray = {}
if devicechanged[bart_switch] then
if otherdevices[bart_switch] == 'On' then
commandArray[cv_switch]='On'
end
end
return commandArray
And :
local bart_switch = 'Bart Switch'
local cv_switch = 'CV Schakelaar'
local lars_switch = 'Lars Switch'
commandArray = {}
if devicechanged[bart_switch] then
if otherdevices[bart_switch] == 'Off' and otherdevices[lars_switch] == 'Off' then
commandArray[cv_switch]='Off'
end
end
return commandArray
Did the same for another room.
Thanks for now.
(Can these scripts be combined?)
Logread wrote: ↑Sunday 26 January 2020 11:49
@Remicade,
My suggestion would be to remove 17 from the plugins switches lists and run a script that sets 17 « On » if 13 or 15 are on, and switches 17 « Off » if 13 and 15 are « Off ».
Hope this helps
Re: Python Plugin: Smart Virtual Thermostat
Posted: Friday 13 March 2020 21:31
by jake
Remicade wrote:Hi,
return {
active = true,
on = {
'Bart Switch'
},
execute = function(domoticz, switch)
if (switch.state == 'On') then
domoticz.devices['CV'].switchOn()
end
end
}
Tried the code above....I do not get it? LUA...dZvents??? Not clear for me..
All I want is : If Lars is on, then CV is on. If Bart is on, the CV is on.
Thanks
step by step help is needed I think...
Cheers Paul
Yes, this is a dzvents script that you need to put in the domoticz\scripts\dzVents\scripts folder. the example here above only one SVT heater is shown, but this can be multiplied by other svt switches:
Code: Select all
return {
active = true,
on = {
'Bart Switch',
'Piet Switch',
'Jan Switch'
},
execute = function(domoticz, switch)
local Bart = domoticz.devices('Bart Switch')
local PIet = domoticz.devices('Piet Switch')
local Jan = domoticz.devices('Jan Switch')
if (switch.state == 'On') then
domoticz.devices['CV'].switchOn().checkfirst() --only switch when necessary, avoid multiple entries in the log
elseif (Bart.state =='Off' and Piet.state =='Off' and Jan.state =='Off') then --no heat required anymore by any of the SVT switches
domoticz.devices['CV'].switchOff().checkfirst() --only switch when necessary, avoid multiple entries in the log
end
end
}
Re: Python Plugin: Smart Virtual Thermostat
Posted: Monday 16 March 2020 15:56
by joyride1176
Is this a bug?
Hi All
I've seven instances (seven hardware configurations) of SVT running over two rasperry with jessie.
On the raspeberry placed on the first floor are running for instances, here I'm having issues at least once per week randomly on each instances
The behavior is always the same during normal operations the switch in charge to control the boiler start to flip on/off quickly:
Starting at: 16/03/2020 06:31:0 each second the switch receive on/off commands
After few seconds the normal behavior is restored but the rele goes out of sync and I have to fix it manually
This is is the configuration:
Apply minimum heating per cycle: only when heating is required
Calculation cycle...: 15,5,2,1,60
Variables: 'LastOutT': 12.0, 'ConstC': 362.5, 'LastInT': 20.7, 'LastPwr': 100, 'LastSetPoint': 23.5, 'nbCT': 50, 'ALStatus': 1, 'nbCC': 50, 'ConstT': -9.6}
Any idea on what's going on? or troubleshoot the issue?
Thanks
Stefano
Code: Select all
16/03/2020 08:53:20 On
16/03/2020 08:53:20 On
16/03/2020 06:31:33 Off
16/03/2020 06:31:32 On
16/03/2020 06:31:31 Off
16/03/2020 06:31:30 On
16/03/2020 06:31:28 Off
16/03/2020 06:31:27 On
16/03/2020 06:31:26 Off
16/03/2020 06:31:25 On
16/03/2020 06:31:24 Off
16/03/2020 06:31:23 On
16/03/2020 06:31:22 Off
16/03/2020 06:31:21 On
16/03/2020 06:31:20 Off
16/03/2020 06:31:19 On
16/03/2020 06:31:17 Off
16/03/2020 06:31:16 On
16/03/2020 06:31:15 Off
16/03/2020 06:31:14 On
16/03/2020 06:31:13 Off
16/03/2020 06:31:12 On
16/03/2020 06:31:11 Off
16/03/2020 06:31:10 On
16/03/2020 06:31:09 Off
16/03/2020 06:31:08 On
16/03/2020 06:31:06 Off
16/03/2020 06:31:05 On
16/03/2020 06:31:04 Off
16/03/2020 06:31:03 On
16/03/2020 06:31:02 Off
16/03/2020 06:31:01 On
16/03/2020 06:31:00 On
16/03/2020 06:17:10 Off
16/03/2020 06:17:09 Off
16/03/2020 06:16:00 On
16/03/2020 06:15:59 On
16/03/2020 06:02:09 Off
16/03/2020 06:02:08 Off
16/03/2020 06:00:59 On
16/03/2020 06:00:58 On
16/03/2020 05:47:08 Off
16/03/2020 05:47:07 Off
16/03/2020 05:45:58 On
16/03/2020 05:45:57 On
Re: Python Plugin: Smart Virtual Thermostat
Posted: Monday 16 March 2020 17:23
by Remicade
Thans for that!
I Will check this.
Chefs Paul
jake wrote: ↑Friday 13 March 2020 21:31
Remicade wrote:Hi,
return {
active = true,
on = {
'Bart Switch'
},
execute = function(domoticz, switch)
if (switch.state == 'On') then
domoticz.devices['CV'].switchOn()
end
end
}
Tried the code above....I do not get it? LUA...dZvents??? Not clear for me..
All I want is : If Lars is on, then CV is on. If Bart is on, the CV is on.
Thanks
step by step help is needed I think...
Cheers Paul
Yes, this is a dzvents script that you need to put in the domoticz\scripts\dzVents\scripts folder. the example here above only one SVT heater is shown, but this can be multiplied by other svt switches:
Code: Select all
return {
active = true,
on = {
'Bart Switch',
'Piet Switch',
'Jan Switch'
},
execute = function(domoticz, switch)
local Bart = domoticz.devices('Bart Switch')
local PIet = domoticz.devices('Piet Switch')
local Jan = domoticz.devices('Jan Switch')
if (switch.state == 'On') then
domoticz.devices['CV'].switchOn().checkfirst() --only switch when necessary, avoid multiple entries in the log
elseif (Bart.state =='Off' and Piet.state =='Off' and Jan.state =='Off') then --no heat required anymore by any of the SVT switches
domoticz.devices['CV'].switchOff().checkfirst() --only switch when necessary, avoid multiple entries in the log
end
end
}
Re: Python Plugin: Smart Virtual Thermostat
Posted: Friday 12 June 2020 5:52
by TokTias
Hi !
New user here (but I've been using domoticz with a lot of different sensors like Hue, MySensors Roborock S5 Max, etc since 2015).
I have installed the plugin and configured it in the Hardware settings, but it always causes an exception on all URL's called (for example "Error calling '
http://localhost:8090/json.htm?type=dev ... order=Name'") like "response = request.urlopen(req)" in DomoticzAPI().
I can copy the failed URL and run it with curl without any problems so what's failing here ?
Cheers !
/T
Re: Python Plugin: Smart Virtual Thermostat
Posted: Sunday 14 June 2020 6:16
by TokTias
Right, I solved it now.
I had to change the domoticz address from localhost to the IP address of my domotics server (localhost should work, but didn't in this case for some unknown reason).
I also realized I had to click the "Add Device" arrow in Devices to make it discoverable by this plugin since it filters on "used" sensors.
All good now, keep up the good work
Cheers !
/T