Python Plugin: Smart Virtual Thermostat

For heating/cooling related questions in Domoticz

Moderator: leecollings

Milan
Posts: 9
Joined: Sunday 25 October 2020 15:36
Target OS: Linux
Domoticz version: 2023.1
Location: CZ
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by Milan »

Thanks a lot for excellent plugin. I have small question. It's possible to add the next thermostat mode besides normal and economy? Sometimes it's useful to have more levels.
Logread
Posts: 228
Joined: Sunday 28 August 2016 7:48
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by Logread »

Milan wrote: Sunday 25 October 2020 16:13 Thanks a lot for excellent plugin. I have small question. It's possible to add the next thermostat mode besides normal and economy? Sometimes it's useful to have more levels.
Thanks for your appreciation. Adding more « modes » would mean adding more set points and that means more devices on the interface... I would rather suggest you create custom scripts to adjust the exisitng setpoints as you need ?
joyride1176
Posts: 9
Joined: Tuesday 14 May 2019 23:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by joyride1176 »

Hi all

I'm facing an issue wider than me, I'm running this plugin on two raspberry with domoticz
Three SVT on the first rasperry
For SVT on the second raspberry

On the second SVT isn't running smooth, I've several errors every couple of days
The error appear randomly on one of the for SVT. Each thermostat have been created using different HW set up
The heating switch is a dummy switch which send http commands to a wifi rele

During the issue the heating switch continuosly filps fast on and off. The system recovers automatically but wifi rele goes out of sync and room temperature is out of control

Below my log with errors any help is appreciated

Thanks a lot

Stefano

Code: Select all

2020-10-27 23:25:59.418 Error: (Andrea) Domoticz API returned an error: status = ERR
2020-10-27 23:26:09.460 Error: (Andrea) Domoticz API returned an error: status = ERR
2020-10-27 23:26:19.502 Error: (Andrea) Domoticz API returned an error: status = ER

...same error for several minutes...

2020-10-27 23:49:11.662 Error: (Andrea) Domoticz API returned an error: status = ERR
2020-10-28 00:04:20.873 Error: (Andrea) Domoticz API returned an error: status = ERR
2020-10-28 00:04:21.928 Error: (Andrea) Domoticz API returned an error: status = ERR
2020-10-28 00:04:23.076 Status: (Andrea) Next calculation time will be : 2020-10-28 00:19:23.065397
2020-10-28 00:04:23.212 Status: (Andrea) Temperatures: Inside = 19.0 / Outside = 10.5
2020-10-28 00:04:23.212 Status: (Andrea) Calculation: Power = 7.7 -> heat duration = 1 minutes
2020-10-28 00:04:23.439 Error: (Andrea) Domoticz API returned an error: status = ERR
2020-10-28 00:05:30.776 Status: User: Termostato initiated a switch command (30/Andrea-P/Off)
2020-10-28 00:05:31.188 Status: User: Admin initiated a switch command (30/Andrea-P/Off)
2020-10-28 00:19:30.963 Status: (Andrea) Next calculation time will be : 2020-10-28 00:34:30.962958
2020-10-28 00:19:31.024 Status: (Andrea) Temperatures: Inside = 18.9 / Outside = 10.5
2020-10-28 00:19:31.025 Status: (Andrea) New calc for ConstT = 1.5335303006039305
2020-10-28 00:19:31.026 Status: (Andrea) ConstT updated to 1.0
2020-10-28 00:19:31.026 Status: (Andrea) Calculation: Power = 13.8 -> heat duration = 2 minutes
2020-10-28 00:19:31.108 Status: User: Termostato initiated a switch command (30/Andrea-P/On)
2020-10-28 00:19:31.505 Status: User: Admin initiated a switch command (30/Andrea-P/On)
2020-10-28 00:19:31.902 Status: (Andrea) Next calculation time will be : 2020-10-28 00:34:31.902338
2020-10-28 00:19:31.186 Error: (Andrea) Domoticz API returned an error: status = ERR
2020-10-28 00:19:32.041 Status: (Andrea) Temperatures: Inside = 18.9 / Outside = 10.5
2020-10-28 00:19:32.042 Status: (Andrea) Calculation: Power = 13.8 -> heat duration = 2 minutes
2020-10-28 00:19:32.228 Error: (Andrea) Domoticz API returned an error: status = ERR
2020-10-28 00:19:33.393 Status: (Andrea) Next calculation time will be : 2020-10-28 00:34:33.392663
2020-10-28 00:19:33.529 Status: (Andrea) Temperatures: Inside = 18.9 / Outside = 10.5
2020-10-28 00:19:33.530 Status: (Andrea) Calculation: Power = 13.8 -> heat duration = 2 minutes
2020-10-28 00:19:33.736 Error: (Andrea) Domoticz API returned an error: status = ERR
2020-10-28 00:21:41.134 Status: User: Termostato initiated a switch command (30/Andrea-P/Off)
2020-10-28 00:21:41.532 Status: User: Admin initiated a switch command (30/Andrea-P/Off)
2020-10-28 00:29:41.269 (Andrea - Thermostat temp) Updating device from 0:'18.9' to have values 0:'18.9'.
2020-10-28 00:29:41.273 (Andrea) Inside Temperature = 18.9
2020-10-28 00:29:41.273 (Andrea) Outside Temperature = 10.0
2020-10-28 00:34:41.358 (Andrea) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=temp&used=true&order=Name
2020-10-28 00:34:41.359 (Andrea) Add authentification for user Termostato
2020-10-28 00:34:41.406 (Andrea) device: 19-Andrea-T = 18.9
2020-10-28 00:34:41.408 (Andrea) device: 53-Esterno-T = 10.0
2020-10-28 00:34:41.409 (Andrea - Thermostat temp) Updating device from 0:'18.9' to have values 0:'18.9'.
2020-10-28 00:34:41.413 (Andrea) Inside Temperature = 18.9
2020-10-28 00:34:41.413 (Andrea) Outside Temperature = 10.0
2020-10-28 00:34:41.415 (Andrea) End Heat time = 2020-10-28 00:36:41.415279
2020-10-28 00:34:41.416 (Andrea) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=light&used=true&order=Name
2020-10-28 00:34:41.417 (Andrea) Add authentification for user Termostato
2020-10-28 00:34:41.493 (Andrea) Heater switch 30 currently is 'Off'
2020-10-28 00:34:41.494 (Andrea) Heating 'On'
Milan
Posts: 9
Joined: Sunday 25 October 2020 15:36
Target OS: Linux
Domoticz version: 2023.1
Location: CZ
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by Milan »

Logread wrote: Tuesday 27 October 2020 11:39
Milan wrote: Sunday 25 October 2020 16:13 Thanks a lot for excellent plugin. I have small question. It's possible to add the next thermostat mode besides normal and economy? Sometimes it's useful to have more levels.
Thanks for your appreciation. Adding more « modes » would mean adding more set points and that means more devices on the interface... I would rather suggest you create custom scripts to adjust the exisitng setpoints as you need ?
I meant more setpoints of temperature than two. Now there are two values, but for example, in the case of a long absence, it is better to set a lower value than just the economy.
I'll try to explore the py script, maybe it won't be that complicated.
jake
Posts: 742
Joined: Saturday 30 May 2015 22:40
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by jake »

Milan wrote:
Logread wrote: Tuesday 27 October 2020 11:39
Milan wrote: Sunday 25 October 2020 16:13 Thanks a lot for excellent plugin. I have small question. It's possible to add the next thermostat mode besides normal and economy? Sometimes it's useful to have more levels.
Thanks for your appreciation. Adding more « modes » would mean adding more set points and that means more devices on the interface... I would rather suggest you create custom scripts to adjust the exisitng setpoints as you need ?
I meant more setpoints of temperature than two. Now there are two values, but for example, in the case of a long absence, it is better to set a lower value than just the economy.
I'll try to explore the py script, maybe it won't be that complicated.
What you can do, is to create your own blockly or script and manipulate the economy setpoint from there. By doing so, you can create as many (economy) setpoints as you want. Actually, I would skip the economy device altogether and make a multi switch with multiple setpoints to manipulate the normal setpoint.
joyride1176
Posts: 9
Joined: Tuesday 14 May 2019 23:01
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by joyride1176 »

Hi all,

I really really need a help

i've found a blocking bug and finally I had the chance to collect full log during the event with a debug all option active
In practice in the plugin triggers calculation 17 times in less than 2 minutes causing more than 20 on/off/on transitions in 10 minutes of the Heating Switch
The the results is disruptive the fast transitions of the Heating Switch put in panic the solenoid valve

Here is my configuration:
0.4.8 (after I took the log I've updated to 0.4.9)
Calculation Cycle: 15,15,2,1,60
Apply minimum heating per cycle: only when required

Calculation cycle summary (17 times in 2 minutes)

Code: Select all

2020-11-03 08:46:03.111 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:01:03.111187
2020-11-03 08:46:04.523 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:01:04.523196
2020-11-03 09:01:05.965 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:16:05.964197
2020-11-03 09:01:07.593 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:16:07.592448
2020-11-03 09:01:09.099 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:16:09.098777
2020-11-03 09:01:10.518 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:16:10.518091
2020-11-03 09:01:11.974 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:16:11.974097
2020-11-03 09:03:16.788 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:16.787558
2020-11-03 09:03:18.034 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:18.033249
2020-11-03 09:03:21.103 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:21.103322
2020-11-03 09:03:22.668 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:22.668200
2020-11-03 09:03:24.275 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:24.274643
2020-11-03 09:03:25.820 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:25.819965
2020-11-03 09:03:27.311 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:27.310470
2020-11-03 09:03:28.754 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:28.753804
2020-11-03 09:03:30.181 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:30.180342
2020-11-03 09:03:31.611 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:31.611238
2020-11-03 09:03:33.009 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:33.009269
2020-11-03 09:03:34.539 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:34.538633

heating switch transition (33 in few minutes)

Code: Select all

03/11/2020 09:12:37	Off
03/11/2020 09:12:36	Off
03/11/2020 09:10:27	On
03/11/2020 09:10:27	On
03/11/2020 09:10:26	Off
03/11/2020 09:10:25	On
03/11/2020 09:10:24	Off
03/11/2020 09:10:21	On
03/11/2020 09:10:20	Off
03/11/2020 09:10:17	On
03/11/2020 09:10:16	Off
03/11/2020 09:07:58	On
03/11/2020 09:07:58	On
03/11/2020 09:07:57	Off
03/11/2020 09:07:57	On
03/11/2020 09:07:56	Off
03/11/2020 09:05:46	On
03/11/2020 09:05:36	Off
03/11/2020 09:03:25	On
03/11/2020 09:03:24	On
03/11/2020 09:03:23	Off
03/11/2020 09:03:22	On
03/11/2020 09:03:21	Off
03/11/2020 09:03:20	On
03/11/2020 09:03:18	On
03/11/2020 09:03:17	Off
03/11/2020 09:03:17	On
03/11/2020 09:03:16	Off
03/11/2020 09:01:06	On
03/11/2020 09:01:06	On
03/11/2020 08:48:05	Off
03/11/2020 08:48:05	Off
03/11/2020 08:46:01	On
Full log:

Code: Select all

2020-11-03 08:46:03.111 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:01:03.111187
2020-11-03 08:46:03.240 Status: (Matrimoniale) Temperatures: Inside = 19.1 / Outside = 12.5
2020-11-03 08:46:03.241 Status: (Matrimoniale) Calculated power is 0, applying minimum power of 15
2020-11-03 08:46:03.241 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 08:46:04.523 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:01:04.523196
2020-11-03 08:46:04.636 Status: (Matrimoniale) Temperatures: Inside = 19.1 / Outside = 12.5
2020-11-03 08:46:04.636 Status: (Matrimoniale) Calculated power is 0, applying minimum power of 15
2020-11-03 08:46:04.636 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 08:48:05.596 Status: User: Termostato initiated a switch command (27/Matrimoniale-P/Off)
2020-11-03 08:48:05.974 Status: User: Admin initiated a switch command (27/Matrimoniale-P/Off)
2020-11-03 09:01:05.965 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:16:05.964197
2020-11-03 09:01:06.048 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:01:06.048 Status: (Matrimoniale) New calc for ConstC = 240.32168933333762
2020-11-03 09:01:06.050 Status: (Matrimoniale) ConstC updated to 240.3
2020-11-03 09:01:06.051 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:01:06.051 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:01:06.141 Status: User: Termostato initiated a switch command (27/Matrimoniale-P/On)
2020-11-03 09:01:06.548 Status: User: Admin initiated a switch command (27/Matrimoniale-P/On)
2020-11-03 09:01:06.600 Status: Incoming connection from: 192.168.1.179
2020-11-03 09:01:07.103 Status: User: Termostato initiated a switch command (30/Andrea-P/On)
2020-11-03 09:01:07.593 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:16:07.592448
2020-11-03 09:01:07.708 Status: User: Admin initiated a switch command (30/Andrea-P/On)
2020-11-03 09:01:07.750 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:01:07.750 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:01:07.750 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:01:09.099 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:16:09.098777
2020-11-03 09:01:09.230 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:01:09.231 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:01:09.237 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:01:10.518 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:16:10.518091
2020-11-03 09:01:10.658 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:01:10.659 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:01:10.659 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:01:11.974 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:16:11.974097
2020-11-03 09:01:12.076 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:01:12.076 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:01:12.076 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:14.630 Status: User: Termostato initiated a switch command (30/Andrea-P/Off)
2020-11-03 09:03:15.029 Status: User: Admin initiated a switch command (30/Andrea-P/Off)
2020-11-03 09:03:15.639 Status: User: Termostato initiated a switch command (30/Andrea-P/On)
2020-11-03 09:03:16.134 Status: User: Admin initiated a switch command (30/Andrea-P/On)
2020-11-03 09:03:16.350 Status: User: Termostato initiated a switch command (27/Matrimoniale-P/Off)
2020-11-03 09:03:16.788 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:16.787558
2020-11-03 09:03:16.921 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:16.922 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:16.922 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:17.118 Status: User: Termostato initiated a switch command (27/Matrimoniale-P/On)
2020-11-03 09:03:17.239 Status: User: Admin initiated a switch command (27/Matrimoniale-P/Off)
2020-11-03 09:03:18.034 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:18.033249
2020-11-03 09:03:18.171 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:18.171 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:18.172 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:18.364 Status: User: Termostato initiated a switch command (27/Matrimoniale-P/On)
2020-11-03 09:03:20.210 Status: User: Admin initiated a switch command (27/Matrimoniale-P/On)
2020-11-03 09:03:21.103 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:21.103322
2020-11-03 09:03:21.218 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:21.218 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:21.219 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:21.441 Status: User: Admin initiated a switch command (27/Matrimoniale-P/Off)
2020-11-03 09:03:22.565 Status: User: Admin initiated a switch command (27/Matrimoniale-P/On)
2020-11-03 09:03:22.668 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:22.668200
2020-11-03 09:03:22.802 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:22.802 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:22.803 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:23.791 Status: User: Admin initiated a switch command (27/Matrimoniale-P/Off)
2020-11-03 09:03:24.275 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:24.274643
2020-11-03 09:03:24.387 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:24.387 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:24.388 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:24.563 Status: User: Termostato initiated a switch command (27/Matrimoniale-P/On)
2020-11-03 09:03:25.039 Status: User: Admin initiated a switch command (27/Matrimoniale-P/On)
2020-11-03 09:03:25.820 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:25.819965
2020-11-03 09:03:25.958 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:25.959 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:25.959 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:27.311 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:27.310470
2020-11-03 09:03:27.430 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:27.430 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:27.430 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:28.852 (Matrimoniale) device: 20-Matrimoniale-T = 19.2
2020-11-03 09:03:28.854 (Matrimoniale) device: 53-Esterno-T = 12.5
2020-11-03 09:03:28.855 (Matrimoniale - Thermostat temp) Updating device from 0:'19.2' to have values 0:'19.2'.
2020-11-03 09:03:28.869 (Matrimoniale) Inside Temperature = 19.2
2020-11-03 09:03:28.869 (Matrimoniale) Outside Temperature = 12.5
2020-11-03 09:03:28.870 (Matrimoniale) End Heat time = 2020-11-03 09:05:28.870616
2020-11-03 09:03:28.871 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=light&used=true&order=Name
2020-11-03 09:03:28.872 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:28.754 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:28.753804
2020-11-03 09:03:28.869 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:28.870 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:28.870 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:29.013 (Matrimoniale) Heater switch 27 currently is 'On'
2020-11-03 09:03:29.014 (Matrimoniale) Heating 'On'
2020-11-03 09:03:29.014 (Matrimoniale) End Heat time = 2020-11-03 09:05:28.870616
2020-11-03 09:03:29.016 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=command&param=updateuservariable&vname=Matrimoniale-InternalVariables&vtype=2&vvalue=%7B%27ConstT%27%3A%20-8.3%2C%20%27nbCC%27%3A%201%2C%20%27LastSetPoint%27%3A%2019.5%2C%20%27LastPwr%27%3A%2015%2C%20%27LastOutT%27%3A%2012.5%2C%20%27LastInT%27%3A%2019.2%2C%20%27nbCT%27%3A%2017%2C%20%27ConstC%27%3A%20240.3%2C%20%27ALStatus%27%3A%201%7D
2020-11-03 09:03:29.028 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:30.103 (Matrimoniale) Processing 'onCommandCallback' message
2020-11-03 09:03:30.104 (Matrimoniale) Calling message handler 'onCommand'.
2020-11-03 09:03:30.104 (Matrimoniale) onCommand called for Unit 1: Command 'Set Level', Level: 10
2020-11-03 09:03:30.104 (Matrimoniale - Thermostat Control) Updating device from 1:'10' to have values 1:'10'.
2020-11-03 09:03:30.181 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=temp&used=true&order=Name
2020-11-03 09:03:30.183 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:30.297 (Matrimoniale) device: 20-Matrimoniale-T = 19.2
2020-11-03 09:03:30.309 (Matrimoniale) device: 53-Esterno-T = 12.5
2020-11-03 09:03:30.310 (Matrimoniale - Thermostat temp) Updating device from 0:'19.2' to have values 0:'19.2'.
2020-11-03 09:03:30.314 (Matrimoniale) Inside Temperature = 19.2
2020-11-03 09:03:30.314 (Matrimoniale) Outside Temperature = 12.5
2020-11-03 09:03:30.316 (Matrimoniale) End Heat time = 2020-11-03 09:05:30.316319
2020-11-03 09:03:30.317 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=light&used=true&order=Name
2020-11-03 09:03:30.318 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:30.500 (Matrimoniale) Heater switch 27 currently is 'On'
2020-11-03 09:03:30.501 (Matrimoniale) Heating 'On'
2020-11-03 09:03:30.501 (Matrimoniale) End Heat time = 2020-11-03 09:05:30.316319
2020-11-03 09:03:30.503 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=command&param=updateuservariable&vname=Matrimoniale-InternalVariables&vtype=2&vvalue=%7B%27ConstT%27%3A%20-8.3%2C%20%27nbCC%27%3A%201%2C%20%27LastSetPoint%27%3A%2019.5%2C%20%27LastPwr%27%3A%2015%2C%20%27LastOutT%27%3A%2012.5%2C%20%27LastInT%27%3A%2019.2%2C%20%27nbCT%27%3A%2017%2C%20%27ConstC%27%3A%20240.3%2C%20%27ALStatus%27%3A%201%7D
2020-11-03 09:03:30.504 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:30.843 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:03:30.843 (Matrimoniale) Calling message handler 'onHeartbeat'.
2020-11-03 09:03:30.181 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:30.180342
2020-11-03 09:03:30.315 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:30.315 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:30.316 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:31.560 (Matrimoniale) Processing 'onCommandCallback' message
2020-11-03 09:03:31.560 (Matrimoniale) Calling message handler 'onCommand'.
2020-11-03 09:03:31.560 (Matrimoniale) onCommand called for Unit 1: Command 'Set Level', Level: 10
2020-11-03 09:03:31.560 (Matrimoniale - Thermostat Control) Updating device from 1:'10' to have values 1:'10'.
2020-11-03 09:03:31.612 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=temp&used=true&order=Name
2020-11-03 09:03:31.613 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:31.694 (Matrimoniale) device: 20-Matrimoniale-T = 19.2
2020-11-03 09:03:31.695 (Matrimoniale) device: 53-Esterno-T = 12.5
2020-11-03 09:03:31.707 (Matrimoniale - Thermostat temp) Updating device from 0:'19.2' to have values 0:'19.2'.
2020-11-03 09:03:31.710 (Matrimoniale) Inside Temperature = 19.2
2020-11-03 09:03:31.711 (Matrimoniale) Outside Temperature = 12.5
2020-11-03 09:03:31.712 (Matrimoniale) End Heat time = 2020-11-03 09:05:31.712253
2020-11-03 09:03:31.713 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=light&used=true&order=Name
2020-11-03 09:03:31.714 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:31.875 (Matrimoniale) Heater switch 27 currently is 'On'
2020-11-03 09:03:31.876 (Matrimoniale) Heating 'On'
2020-11-03 09:03:31.876 (Matrimoniale) End Heat time = 2020-11-03 09:05:31.712253
2020-11-03 09:03:31.884 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=command&param=updateuservariable&vname=Matrimoniale-InternalVariables&vtype=2&vvalue=%7B%27ConstT%27%3A%20-8.3%2C%20%27nbCC%27%3A%201%2C%20%27LastSetPoint%27%3A%2019.5%2C%20%27LastPwr%27%3A%2015%2C%20%27LastOutT%27%3A%2012.5%2C%20%27LastInT%27%3A%2019.2%2C%20%27nbCT%27%3A%2017%2C%20%27ConstC%27%3A%20240.3%2C%20%27ALStatus%27%3A%201%7D
2020-11-03 09:03:31.885 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:31.611 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:31.611238
2020-11-03 09:03:31.711 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:31.711 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:31.712 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:32.956 (Matrimoniale) Processing 'onCommandCallback' message
2020-11-03 09:03:32.956 (Matrimoniale) Calling message handler 'onCommand'.
2020-11-03 09:03:32.956 (Matrimoniale) onCommand called for Unit 1: Command 'Set Level', Level: 10
2020-11-03 09:03:32.956 (Matrimoniale - Thermostat Control) Updating device from 1:'10' to have values 1:'10'.
2020-11-03 09:03:33.010 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=temp&used=true&order=Name
2020-11-03 09:03:33.011 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:33.125 (Matrimoniale) device: 20-Matrimoniale-T = 19.2
2020-11-03 09:03:33.126 (Matrimoniale) device: 53-Esterno-T = 12.5
2020-11-03 09:03:33.128 (Matrimoniale - Thermostat temp) Updating device from 0:'19.2' to have values 0:'19.2'.
2020-11-03 09:03:33.132 (Matrimoniale) Inside Temperature = 19.2
2020-11-03 09:03:33.132 (Matrimoniale) Outside Temperature = 12.5
2020-11-03 09:03:33.134 (Matrimoniale) End Heat time = 2020-11-03 09:05:33.133677
2020-11-03 09:03:33.134 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=light&used=true&order=Name
2020-11-03 09:03:33.135 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:33.331 (Matrimoniale) Heater switch 27 currently is 'On'
2020-11-03 09:03:33.331 (Matrimoniale) Heating 'On'
2020-11-03 09:03:33.332 (Matrimoniale) End Heat time = 2020-11-03 09:05:33.133677
2020-11-03 09:03:33.334 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=command&param=updateuservariable&vname=Matrimoniale-InternalVariables&vtype=2&vvalue=%7B%27ConstT%27%3A%20-8.3%2C%20%27nbCC%27%3A%201%2C%20%27LastSetPoint%27%3A%2019.5%2C%20%27LastPwr%27%3A%2015%2C%20%27LastOutT%27%3A%2012.5%2C%20%27LastInT%27%3A%2019.2%2C%20%27nbCT%27%3A%2017%2C%20%27ConstC%27%3A%20240.3%2C%20%27ALStatus%27%3A%201%7D
2020-11-03 09:03:33.335 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:33.009 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:33.009269
2020-11-03 09:03:33.132 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:33.133 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:33.133 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:34.484 (Matrimoniale) Processing 'onCommandCallback' message
2020-11-03 09:03:34.484 (Matrimoniale) Calling message handler 'onCommand'.
2020-11-03 09:03:34.484 (Matrimoniale) onCommand called for Unit 1: Command 'Set Level', Level: 10
2020-11-03 09:03:34.484 (Matrimoniale - Thermostat Control) Updating device from 1:'10' to have values 1:'10'.
2020-11-03 09:03:34.540 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=temp&used=true&order=Name
2020-11-03 09:03:34.541 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:34.631 (Matrimoniale) device: 20-Matrimoniale-T = 19.2
2020-11-03 09:03:34.633 (Matrimoniale) device: 53-Esterno-T = 12.5
2020-11-03 09:03:34.634 (Matrimoniale - Thermostat temp) Updating device from 0:'19.2' to have values 0:'19.2'.
2020-11-03 09:03:34.648 (Matrimoniale) Inside Temperature = 19.2
2020-11-03 09:03:34.648 (Matrimoniale) Outside Temperature = 12.5
2020-11-03 09:03:34.649 (Matrimoniale) End Heat time = 2020-11-03 09:05:34.649598
2020-11-03 09:03:34.650 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=devices&filter=light&used=true&order=Name
2020-11-03 09:03:34.651 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:34.816 (Matrimoniale) Heater switch 27 currently is 'On'
2020-11-03 09:03:34.817 (Matrimoniale) Heating 'On'
2020-11-03 09:03:34.817 (Matrimoniale) End Heat time = 2020-11-03 09:05:34.649598
2020-11-03 09:03:34.819 (Matrimoniale) Calling domoticz API: http://127.0.0.1:8080/json.htm?type=command&param=updateuservariable&vname=Matrimoniale-InternalVariables&vtype=2&vvalue=%7B%27ConstT%27%3A%20-8.3%2C%20%27nbCC%27%3A%201%2C%20%27LastSetPoint%27%3A%2019.5%2C%20%27LastPwr%27%3A%2015%2C%20%27LastOutT%27%3A%2012.5%2C%20%27LastInT%27%3A%2019.2%2C%20%27nbCT%27%3A%2017%2C%20%27ConstC%27%3A%20240.3%2C%20%27ALStatus%27%3A%201%7D
2020-11-03 09:03:34.821 (Matrimoniale) Add authentification for user Termostato
2020-11-03 09:03:34.539 Status: (Matrimoniale) Next calculation time will be : 2020-11-03 09:18:34.538633
2020-11-03 09:03:34.648 Status: (Matrimoniale) Temperatures: Inside = 19.2 / Outside = 12.5
2020-11-03 09:03:34.649 Status: (Matrimoniale) Calculated power is 14.0, applying minimum power of 15
2020-11-03 09:03:34.649 Status: (Matrimoniale) Calculation: Power = 15 -> heat duration = 2 minutes
2020-11-03 09:03:36.080 (Matrimoniale) Pushing 'onHeartbeatCallback' on to queue
2020-11-03 09:03:36.121 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:03:36.121 (Matrimoniale) Calling message handler 'onHeartbeat'.
2020-11-03 09:03:46.086 (Matrimoniale) Pushing 'onHeartbeatCallback' on to queue
2020-11-03 09:03:46.108 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:03:46.108 (Matrimoniale) Calling message handler 'onHeartbeat'.
2020-11-03 09:03:56.089 (Matrimoniale) Pushing 'onHeartbeatCallback' on to queue
2020-11-03 09:03:56.105 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:03:56.105 (Matrimoniale) Calling message handler 'onHeartbeat'.
2020-11-03 09:04:06.095 (Matrimoniale) Pushing 'onHeartbeatCallback' on to queue
2020-11-03 09:04:06.110 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:04:06.110 (Matrimoniale) Calling message handler 'onHeartbeat'.
2020-11-03 09:04:16.098 (Matrimoniale) Pushing 'onHeartbeatCallback' on to queue
2020-11-03 09:04:16.136 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:04:16.137 (Matrimoniale) Calling message handler 'onHeartbeat'.
2020-11-03 09:04:26.101 (Matrimoniale) Pushing 'onHeartbeatCallback' on to queue
2020-11-03 09:04:26.119 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:04:26.120 (Matrimoniale) Calling message handler 'onHeartbeat'.
2020-11-03 09:04:36.108 (Matrimoniale) Pushing 'onHeartbeatCallback' on to queue
2020-11-03 09:04:36.133 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:04:36.133 (Matrimoniale) Calling message handler 'onHeartbeat'.
2020-11-03 09:04:46.115 (Matrimoniale) Pushing 'onHeartbeatCallback' on to queue
2020-11-03 09:04:46.161 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:04:46.161 (Matrimoniale) Calling message handler 'onHeartbeat'.
2020-11-03 09:04:56.124 (Matrimoniale) Pushing 'onHeartbeatCallback' on to queue
2020-11-03 09:04:56.162 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:04:56.162 (Matrimoniale) Calling message handler 'onHeartbeat'.
2020-11-03 09:05:06.131 (Matrimoniale) Pushing 'onHeartbeatCallback' on to queue
2020-11-03 09:05:06.158 (Matrimoniale) Processing 'onHeartbeatCallback' message
2020-11-03 09:05:06.158 (Matrimoniale) Calling message handler 'onHeartbeat'.
mash47
Posts: 13
Joined: Wednesday 04 December 2019 13:25
Target OS: Raspberry Pi / ODroid
Domoticz version: v4.10717
Location: Sheffield, UK
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by mash47 »

@Logread, an excellent Domoticz version of Antor's SVT for Vera

I've been using the Smart Virtual Thermostat by Antor for about 5 year on a mios/Veralite. The majority of my devices have been migrated to Domoticz on a raspberry pi but I'm still using the SVT on the Veralite.

I've been testing the SVT plugin on Domoticz with a dummy load. As the Antor version allows a 20 minute Forced period, I set up the Domoticz SVT with the settings that I use on the Veralite i.e. 20,15,0,0,20. The Forced period = 20 minutes gave this error:

Error: (SVT) Invalid forced mode duration parameter. Using minimum of 30 minutes !

In addition, the calculation cycle period was 30 minutes instead of the 20 minutes in the configuration. When checking the code I noticed that there was an error at line 199.

Code: Select all

if self.forcedduration < 30:
                Domoticz.Error("Invalid forced mode duration parameter. Using minimum of 30 minutes !")
                self.calculate_period = 30
The last line of this piece of code should be 'self.forcedduration = 30'

Would you please also consider changing the minimum forced duration period to 20 minutes thus changing the code to this ...

Code: Select all

if self.forcedduration < 20:
                Domoticz.Error("Invalid forced mode duration parameter. Using minimum of 20 minutes !")
                self.forcedduration = 20
Logread
Posts: 228
Joined: Sunday 28 August 2016 7:48
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by Logread »

mash47 wrote: Tuesday 24 November 2020 0:28 @Logread, an excellent Domoticz version of Antor's SVT for Vera

I've been using the Smart Virtual Thermostat by Antor for about 5 year on a mios/Veralite. The majority of my devices have been migrated to Domoticz on a raspberry pi but I'm still using the SVT on the Veralite.

I've been testing the SVT plugin on Domoticz with a dummy load. As the Antor version allows a 20 minute Forced period, I set up the Domoticz SVT with the settings that I use on the Veralite i.e. 20,15,0,0,20. The Forced period = 20 minutes gave this error:

Error: (SVT) Invalid forced mode duration parameter. Using minimum of 30 minutes !

In addition, the calculation cycle period was 30 minutes instead of the 20 minutes in the configuration. When checking the code I noticed that there was an error at line 199.

Code: Select all

if self.forcedduration < 30:
                Domoticz.Error("Invalid forced mode duration parameter. Using minimum of 30 minutes !")
                self.calculate_period = 30
The last line of this piece of code should be 'self.forcedduration = 30'

Would you please also consider changing the minimum forced duration period to 20 minutes thus changing the code to this ...

Code: Select all

if self.forcedduration < 20:
                Domoticz.Error("Invalid forced mode duration parameter. Using minimum of 20 minutes !")
                self.forcedduration = 20
Hi, thanks for uncovering that bug. Will fix it in the next version.
By the way, I took the same journey from Vera to domoticz a few years ago and that’s why I ported the SVT... and I will not go back to the Vera platform !
mash47
Posts: 13
Joined: Wednesday 04 December 2019 13:25
Target OS: Raspberry Pi / ODroid
Domoticz version: v4.10717
Location: Sheffield, UK
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by mash47 »

Logread wrote: Tuesday 24 November 2020 8:09 Hi, thanks for uncovering that bug. Will fix it in the next version.
Thank you
carmelo42
Posts: 2
Joined: Saturday 12 December 2020 14:14
Target OS: Linux
Domoticz version:
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by carmelo42 »

Hi !
I'm starting with Domoticz after several years on Jeedom.
I'm using the SVT plugin, but I think there's an issue :

Code: Select all

2020-12-12 14:00:36.293 Status: (SVT) Next calculation time will be : 2020-12-12 15:00:36.293392
2020-12-12 14:00:36.301 Status: (SVT) Temperatures: Inside = 19.7 / Outside = 5.3
2020-12-12 14:00:36.301 Status: (SVT) New calc for ConstC = 71.6067666660715
2020-12-12 14:00:36.301 Status: (SVT) ConstC updated to 96.6
2020-12-12 14:00:36.301 Status: (SVT) Calculation: Power = 0.6 -> heat duration = 0 minutes
2020-12-12 14:00:36.312 Status: User: admin initiated a switch command (68/CHAUDIERE/On)
2020-12-12 14:00:36.313 Status: Notification: CHAUDIERE >> ON
2020-12-12 14:00:46.303 Status: User: admin initiated a switch command (68/CHAUDIERE/Off)
2020-12-12 14:00:46.304 Status: Notification: CHAUDIERE >> OFF
The plugin determines no need to heat ( heat duration: 0 minutes), but it sends ON command and 10 seconds after OFF command is sent.
It's not very good for my boiler to be turned ON and immediatly OFF ...
jake
Posts: 742
Joined: Saturday 30 May 2015 22:40
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by jake »

That indeed is very strange! However I think you need to enable more extensive logging to find out what is going on.
carmelo42
Posts: 2
Joined: Saturday 12 December 2020 14:14
Target OS: Linux
Domoticz version:
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by carmelo42 »

Is it possible de create a new SetPoint ? For holidays for example ?
I did not find the info in the plugin documentation ...
rrozema
Posts: 470
Joined: Thursday 26 October 2017 13:37
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Delft
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by rrozema »

carmelo42 wrote: Thursday 17 December 2020 19:32 Is it possible de create a new SetPoint ? For holidays for example ?
I did not find the info in the plugin documentation ...
No -that question has been asked before- you can't add more setpoints. Then again, why would you? Even the economy one is quite useless if you ask me. It's much easier to change the setting for the normal setpoint, using a script or a timer, or what ever suits you.
brucez
Posts: 15
Joined: Tuesday 19 January 2016 13:39
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by brucez »

deennoo wrote: Friday 24 January 2020 18:46 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 ?
Hi, I'm in the same situation. Plus when there's no heating for an extended time (more than an hour) the boiler needs to heat up the water and that adds 10-20 minutes.
Are there any chances to add one more factor (heating water temperature) to the plugin?
(Currently I'm doing it by manipulating the outtemp of the plugin, with the water temp value...)

It's a great plugin and I'm also open to donate as my appreciation of you work! :)
Logread
Posts: 228
Joined: Sunday 28 August 2016 7:48
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: France
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by Logread »

brucez wrote: Monday 21 December 2020 7:25 Are there any chances to add one more factor (heating water temperature) to the plugin?
(Currently I'm doing it by manipulating the outtemp of the plugin, with the water temp value...)
I think your approach of using the outtemp to factor the heating water temp is the most sensible without making any changes to the plugin, at the expense of losing that variable.
It should be feasible to add such a "water temp" factor to the plugin logic, but this is a very significant endeavor... If you or anyone with the same need would be able to develop it and submit the (tested) code as a pull request on GitHub, you are more than welcome !
It's a great plugin and I'm also open to donate as my appreciation of you work! :)
Thanks for the appreciation...
brucez
Posts: 15
Joined: Tuesday 19 January 2016 13:39
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by brucez »

:) Thanks for your reply!

Well, my Python is not the best but I'll try to develop something usable in the next few weeks. Once I get it working I'll post it to github as a pull request. :)

Thanks and Merry Christmas! :)
piotrux
Posts: 2
Joined: Monday 28 December 2020 18:44
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by piotrux »

Hello, I wanted to use the plugin to control the temperature at home, but I do not have an on / off heater, only a thermostat on which I set the temperature on the stove, is it possible to change the plugin so that it controls the temperature of the stove? I am using a script to control the temperature as below:
Bez tytułu.jpg
Bez tytułu.jpg (48.57 KiB) Viewed 1786 times
jake
Posts: 742
Joined: Saturday 30 May 2015 22:40
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by jake »

piotrux wrote:Hello, I wanted to use the plugin to control the temperature at home, but I do not have an on / off heater, only a thermostat on which I set the temperature on the stove, is it possible to change the plugin so that it controls the temperature of the stove? I am using a script to control the temperature as below:
Bez tytułu.jpg
I have an opentherm gateway and manipulate the thermostat setpoint to trigger the boiler. (1 degree above current room temperature)
rrozema
Posts: 470
Joined: Thursday 26 October 2017 13:37
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Delft
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by rrozema »

piotrux wrote: Monday 28 December 2020 18:54 Hello, I wanted to use the plugin to control the temperature at home, but I do not have an on / off heater, only a thermostat on which I set the temperature on the stove, is it possible to change the plugin so that it controls the temperature of the stove? I am using a script to control the temperature as below:
Bez tytułu.jpg
Using svt to set a temperature on another thermostat defeats the purpose of having a smart thermostat: svt is meant to save on your energy bill by automatically 'learning' the characteristics of the room(s) and your heating equipment. It does so by switching your heating device on and off just long enough to get (and later keep) your room(s) at the desired temperature with as little as possible overshoot and least possible used energy. If you try to make svt set a setpoint on some other thermostat it won't be able to learn nor control anything.

So, SVT replaces your existing thermostat. You'll have to remove your existing thermostat and put some sort of switch device in it's place that can be controlled from domoticz. Then you can use svt to manipulate that switch and thereby the stove.
piotrux
Posts: 2
Joined: Monday 28 December 2020 18:44
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Python Plugin: Smart Virtual Thermostat

Post by piotrux »

Thank you explanation. My stove is old there is no on and off switch. I have custom thermostat build on "let's control it". In that case how can i adjust to make it work? I want a constant temperature in the room thanks to netatmoand SVT.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest