From 1b385dd03888aa11994439560be836f5096120aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Tue, 12 Oct 2021 10:00:33 +0200 Subject: [PATCH 1/5] Add heat pump interfaces --- libnymea/interfaces/heatpump.json | 3 +++ libnymea/interfaces/interfaces.qrc | 3 +++ libnymea/interfaces/simpleheatpump.json | 12 ++++++++++++ libnymea/interfaces/smartgridheatpump.json | 18 ++++++++++++++++++ 4 files changed, 36 insertions(+) create mode 100644 libnymea/interfaces/heatpump.json create mode 100644 libnymea/interfaces/simpleheatpump.json create mode 100644 libnymea/interfaces/smartgridheatpump.json diff --git a/libnymea/interfaces/heatpump.json b/libnymea/interfaces/heatpump.json new file mode 100644 index 00000000..6fe96126 --- /dev/null +++ b/libnymea/interfaces/heatpump.json @@ -0,0 +1,3 @@ +{ + "description": "The base for all heat pump interfaces. Can be used by the client to filter for heat pumps in the system." +} diff --git a/libnymea/interfaces/interfaces.qrc b/libnymea/interfaces/interfaces.qrc index 3d6ee2ca..f821404e 100644 --- a/libnymea/interfaces/interfaces.qrc +++ b/libnymea/interfaces/interfaces.qrc @@ -89,5 +89,8 @@ airquality.json indoorairquality.json energystorage.json + heatpump.json + smartgridheatpump.json + simpleheatpump.json diff --git a/libnymea/interfaces/simpleheatpump.json b/libnymea/interfaces/simpleheatpump.json new file mode 100644 index 00000000..bea56723 --- /dev/null +++ b/libnymea/interfaces/simpleheatpump.json @@ -0,0 +1,12 @@ +{ + "description": "This interface can be used for heat pumps offering one digital input for controlling whenever it is good to consume more energy than normal. This interface is intended to be used by an energy manager to enable boost whenever cheap or self produced energy is available.", + "extends": "heatpump", + "states": [ + { + "name": "boost", + "type": "bool", + "writable": true, + "logged": true + } + ] +} diff --git a/libnymea/interfaces/smartgridheatpump.json b/libnymea/interfaces/smartgridheatpump.json new file mode 100644 index 00000000..521d10ad --- /dev/null +++ b/libnymea/interfaces/smartgridheatpump.json @@ -0,0 +1,18 @@ +{ + "description": "This interface can be used for heat pumps offering the smart grid label \"SG-Ready\". The modes can be set to the heatpump either trough 2 digital outputs or directly using modbus registers. These modes should be used by an energy manager and are not intended to be set by an user since there are certain rules to consider when switchen the SG mode.", + "extends": "heatpump", + "states": [ + { + "name": "sgReadyMode", + "type": "QString", + "possibleValues": [ + "Off", + "Low", + "Standard", + "High" + ], + "writable": true, + "logged": true + } + ] +} From e8e66c9b7fdd70710e64e15ae7a6b2a7996b7a20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Wed, 10 Nov 2021 08:11:19 +0100 Subject: [PATCH 2/5] Add optional common states for heat pumps --- libnymea/interfaces/heatpump.json | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/libnymea/interfaces/heatpump.json b/libnymea/interfaces/heatpump.json index 6fe96126..eb8a4621 100644 --- a/libnymea/interfaces/heatpump.json +++ b/libnymea/interfaces/heatpump.json @@ -1,3 +1,33 @@ { "description": "The base for all heat pump interfaces. Can be used by the client to filter for heat pumps in the system." + "states": [ + { + "name": "outdoorTemperature", + "type": "double", + "unit": "DegreeCelsius", + "logged": true, + "optional": true + }, + { + "name": "hotWaterTemperature", + "type": "double", + "unit": "DegreeCelsius", + "logged": true, + "optional": true + }, + { + "name": "returnTemperature", + "type": "double", + "unit": "DegreeCelsius", + "logged": true, + "optional": true + }, + { + "name": "flowTemperature", + "type": "double", + "unit": "DegreeCelsius", + "logged": true, + "optional": true + } + ] } From 17371bdb7cec10c0afe1e50649fb8334369746ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Thu, 11 Nov 2021 11:05:24 +0100 Subject: [PATCH 3/5] Fix JSON typo in heatpump interface --- libnymea/interfaces/heatpump.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libnymea/interfaces/heatpump.json b/libnymea/interfaces/heatpump.json index eb8a4621..94c1c68c 100644 --- a/libnymea/interfaces/heatpump.json +++ b/libnymea/interfaces/heatpump.json @@ -1,5 +1,5 @@ { - "description": "The base for all heat pump interfaces. Can be used by the client to filter for heat pumps in the system." + "description": "The base for all heat pump interfaces. Can be used by the client to filter for heat pumps in the system.", "states": [ { "name": "outdoorTemperature", From cd42d6b7dc899334a266cd7f6187d9aaa4299027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Tue, 16 Nov 2021 14:41:49 +0100 Subject: [PATCH 4/5] Inhert simple heat pump from power interface --- libnymea/interfaces/simpleheatpump.json | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/libnymea/interfaces/simpleheatpump.json b/libnymea/interfaces/simpleheatpump.json index bea56723..acbd2cdf 100644 --- a/libnymea/interfaces/simpleheatpump.json +++ b/libnymea/interfaces/simpleheatpump.json @@ -1,12 +1,4 @@ { - "description": "This interface can be used for heat pumps offering one digital input for controlling whenever it is good to consume more energy than normal. This interface is intended to be used by an energy manager to enable boost whenever cheap or self produced energy is available.", - "extends": "heatpump", - "states": [ - { - "name": "boost", - "type": "bool", - "writable": true, - "logged": true - } - ] + "description": "This interface can be used for heat pumps offering one digital input for switching on and off the entire heatpump. Some heat pumps have only this possibility to be controlled. Be aware what you are doing if you switch of a heat pump and for how long.", + "extends": ["heatpump", "power"], } From b03d4d155aa571b200f5f58cd9bba916e71775e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Tue, 16 Nov 2021 16:48:55 +0100 Subject: [PATCH 5/5] Fix json typo in simple heat pump interface --- libnymea/interfaces/simpleheatpump.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libnymea/interfaces/simpleheatpump.json b/libnymea/interfaces/simpleheatpump.json index acbd2cdf..db80e450 100644 --- a/libnymea/interfaces/simpleheatpump.json +++ b/libnymea/interfaces/simpleheatpump.json @@ -1,4 +1,4 @@ { "description": "This interface can be used for heat pumps offering one digital input for switching on and off the entire heatpump. Some heat pumps have only this possibility to be controlled. Be aware what you are doing if you switch of a heat pump and for how long.", - "extends": ["heatpump", "power"], + "extends": ["heatpump", "power"] }