rg-engineering / ioBroker.heatingcontrol

heating control incl. simple actor handling
MIT License
52 stars 15 forks source link
heating-control home-automation iobroker repository smarthome

Logo

ioBroker.HeatingControl

Number of Installations Number of Installations Downloads NPM version

Known Vulnerabilities GitHub Actions

NPM

node-lts Libraries.io dependency status for latest release

GitHub GitHub repo size GitHub commit activity GitHub last commit GitHub issues

This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and for information how to disable the error reporting see Sentry-Plugin Documentation! Sentry reporting is used starting with js-controller 3.0.

If you like it, please consider a donation:

paypal

Documentation

I'm looking for support in creating / updating the user documentation and the FAQ's. If someone is interested, please contact me...

Adapter for controlling your heating system.

Features:

FAQ

Installation

Settings

main

profile

devices

Edit Room

datapoints

DP name description
HeatingPeriodActive if off, the profiles will not be used
CurrentProfile select current profile (1 based, means profile 1 use datapoints under heatingcontrol.0.Profiles.0 )
LastProgramRun shows last time when adapter run

temperature decrease / increase

DP name description target temperature for relative decrease target temperature for absolute decrease
GuestsPresent increase temperature because guests wants it warmer increase current profile temperature by Profiles.0.room.relative.GuestIncrease set target to Profiles.0.room.absolute.GuestIncrease
PartyNow decrease temperature because it's becoming hot' decrease current profile temperature by Profiles.0.room.relative.PartyDecrease set target to Profiles.0.room.absolute.PartyDecrease
Present we are present, if we are not present decrease temperature decrease current profile temperature by Profiles.0.room.relative.AbsentDecrease set target to Profiles.0.room.absolute.AbsentDecrease
VacationAbsent we are absent, so decrease also on weekend decrease current profile temperature by Profiles.0.room.relative.VacationAbsentDecrease set target to Profiles.0.room.absolute.VacationAbsentDecrease
FireplaceModeActive decrease temperature bacause you use a fireplace, will be decrease current profile temperature by Profiles.0.room.relative.FireplaceModeDecrease set target to Profiles.0.room.absolute.FireplaceModeDecrease
reseted automatically at adjustable time

no heating period

there are three options

others

window open

if "use sensors" is active and sensor(s) for a room is / are configured then

optionally a delay can be used. If window is opened only for a short time sensor delay can avoid from reduce and back to normal in very short times.

ical support

you can use your calendar or any other datapoint to change datapoints in adapter. Just configure events from ical or other datapoints in admin. Supported are

datapoint description
heatingcontrol.0.Present set it to true (in case of boolean) or to a number higher then limit (in case of number)
heatingcontrol.0.HolidayPresent set it to true when you at home in your holiday
heatingcontrol.0.VacationAbsent set it to true when you not at home in your holiday
heatingcontrol.0.GuestsPresent set it to true (in case of boolean) or to a number higher then limit (in case of number)
heatingcontrol.0.PartyNow set it to true (in case of boolean) or to a number higher then limit (in case of number)

hint: with number datapoints you could count how many people are in the house and then decide, e.g. we have enough for a party...

use changes from thermostat

Many user asked for an option to take over changes from thermostat into adapter. Now a four options are implemented:

option description
no changes from thermostat are ignored
as override changes from thermostat are taken as override; override time must be set in advance in heatingcontrol.0.Rooms.RoomName.TemperaturOverrideTime
if override time is not set, than override is not executed
as new profile setting changes from thermostat are taken as target temperature for current profile period
until next profile point changes from thermostat are taken as target temperature until next profile point. This is a manual mode, so only Window sensors are used. All other
increases / decreases are ignored. There is a datapoint in every room to disable manual mode before reaching next profile point.

extend override when temperature is changed

The standard behavior for override is, when you change temperature the override time is not changed. E.g if you start override for 20 minutes with 25°C and you change to 28°C after 15 minutes then 28°C is only used for the last 5 minutes. With that option you restart override whenever you change override temperature. In example above 28°C would then be used for 20 minutes which leads to 15 minutes 25°C and 20 minutes 28°C

override mode

There are two mode adjustable in admin for all rooms.

Thermostat handles "window is open"

Some thermostats can handle "window is open" by itself. In those cases a direct connection between window sensor and thermostat is configured and thermostat reduces target temperature by itslef when a window is opened. In combination with option "use of changes from thermostat" / "until next profil point" will lead this to an unexpected manual state. In this situation the reduced temperature would be used until next profil point. But the adpater can handle this behavior. You must enable option "Thermostat handles 'Window is Open'" and you can configure window sensors also in adapter. When window is opened the adapter waits for max. 3 seconds for new target temperature from thermostat. If it receives a new target temperature in that time it will be used as a reduced absolut temperature. Status will then be "auto window open". As soon as the window is closed the status goes back to auto and thermostat sets back the original target temperature Attention do not use Sensor Open Delay in that case. If you use it, the Window open event appears after target temperature received from thermostat. This ends up in manual state.

Copy period and copy profile

heatingcontrol.0.Profiles.1.CopyProfile heatingcontrol.0.Profiles.1.Room.CopyProfile

and

heatingcontrol.0.Profiles.1.Küche.Fri.CopyPeriods

CopyProfile copies the entire content of the profile where the button is pressed to the next profile. In the above example, the button is in profile 1. The button copies everything from profile 1 to profile 2. If you want to copy only one room, use the button in a certain room.

The CopyPeriods are available per day or Mon-Fri per room. This copies the periods to the next section. In the above example, the CopyPeriods copies all periods from Friday in the kitchen room to the periods on Saturday in the kitchen room. So you can e.g. in the profile "every day separately", copy the periods from Monday to Sunday ...

maintenance mode

to do

fireplace mode

to do

actuator handling

to do

switch between linear and linear with hysteresis

describe two new datapoints heatingcontrol.0.Rooms.TestRaum.Regulator.HysteresisOffOffset and heatingcontrol.0.Rooms.TestRaum.Regulator.HysteresisOnOffset

extended actuator handling

checks that value was set correctly and ack is set, otherwise retries...

to do

EVU Sperrzeit / PowerInterruption

when the power supply company blocking time is reached, all actuators are switched off and switched on again at the end of the blocking time. Status goes to "EVU Sperrzeit" / "PowerInterruption" Aim: switch off electrical heaters and switch them on again in a targeted manner in order to minimize the load on the contactors and to minimize inrush currents Configuration: Start / end time of the EVU blocking time, several periods can be configured

Issues and Feature Requests

known issues

Adapter with Homematic IP Fußbodenheizungsaktor HmIP-FAL230-C10 – 10fach, 230 V

It seems that HmIP-FAL230-C10 can not be used directly as an actuator in combination with that adapter. If you use HmIP-FAL230-C10 together with Homematic thermostats it should work. see also Forum

Window-open function of HM thermostats

HM thermostats have an open window function in two variants. On the one hand as temperature drop detection and on the other hand in connection with a window contact. This function causes the adapter to switch to manual mode when the window is opened. Ideally, this function should be deactivated so as not to interfere with the functionality of the adapter. If thermostat use information from window sensor then "thermostat handles window open" option should be enabled.

When the adapter crashes or an other Code error happens, this error message that also appears in the ioBroker log is submitted to Sentry. All of this helps me to provide error free adapters that basically never crashs.

Changelog

2.12.10 (2024-08-18)

2.12.8 (2024-06-05)

2.12.7 (2024-05-28)

2.12.5 (2024-03-01)

2.12.4 (2024-02-11)

2.12.3 (2024-01-12)

2.12.2 (2023-12-16)

2.12.1 (2023-11-25)

2.12.0 (2023-11-22)

2.11.1 (2023-07-30)

2.11.0 (2023-06-18)

2.10.6 (2023-01-31)

2.10.5 (2023-01-21)

2.10.4 (2022-12-21)

2.10.3 (2022-12-19)

2.10.1 (2022-12-10)

2.9.3 (2022-10-28)

2.9.2 (2022-08-19)

2.9.1 (2022-06-10)

2.9.0 (2022-06-09)

2.8.7 (2022-04-23)

2.8.6 (2022-03-31)

2.8.5 (2022-02-12)

2.8.4 (2022-01-29)

2.8.3 (2022-01-07)

2.8.2 (2022-01-04)

2.8.1 (2021-12-29)

2.8.0 (2021-12-18)

2.7.2 (2021-11-14)

2.7.1 (2021-10-20)

2.7.0 (2021-10-18)

2.6.2 (2021-09-29)

2.6.1 (2021-09-25)

2.6.0 (2021-09-17)

2.5.1 (2021-08-20)

2.5.0 (2021-08-20)

2.4.3 (2021-06-17)

2.4.2 (2021-05-17)

2.4.1 (2021-05-15)

2.4.0 (2021-05-13)

2.3.2 (2021-04-18)

2.3.1 (2021-04-05)

2.3.0 (2021-03-20)

2.2.0 (2021-02-15)

2.1.1 (2021-02-08)

2.1.0 (2021-01-31)

2.0.4 (2021-01-28)

2.0.3 (2021-01-24)

2.0.2 (2021-01-22)

2.0.1 (2021-01-19)

2.0.0 (2021-01-16)

ATTENTION: breaking changes !!!!

1.1.2 (2020-11-11)

1.1.0 (2020-11-01)

1.1.0 (2020-10-20)

1.0.0 (2020-10-09)

0.6.0 (2020-09-15)

0.5.7 (2020-07-07)

0.5.6 (2020-06-14)

0.5.4 (2020-06-04)

0.5.3 (2020-06-03)

0.5.2 (2020-05-25)

0.5.1 (2020-05-22)

0.5.0 (2020-05-03)

0.4.0 (2020-05-02)

0.3.19 (2020-03-15)

0.3.18 (2020-03-08)

0.3.17 (2020-03-01)

0.3.16 (2020-02-09)

0.3.15 (2020-01-18)

0.3.14 (2020-01-12)

0.3.13 (2019-12-28)

0.3.12 (2019-12-27)

0.3.11 (2019-12-27)

0.3.10 (2019-12-26)

0.3.9 (2019-12-14)

0.3.8 (2019-12-12)

0.3.7 (2019-11-29)

Attention: some changes in datapoints!!

0.3.6 (2019-11-23)

Attention: some changes in datapoints!!

0.3.4 (2019-11-09)

0.3.3 (2019-11-08)

Attention: some changes in datapoints!!

0.3.2 (2019-11-01)

0.3.1 (2019-10-31)

0.3.0 (2019-10-27)

0.2.3 (2019-09-20)

0.2.2 (2019-09-13)

0.2.1 (2019-09-08)

0.2.0 (2019-09-05)

0.1.0 (2019-08-25)

0.0.5 (2019-07-08)

0.0.4 (2019-06-23)

0.0.3 (2019-06-02)

0.0.2 (2019-05-19)

0.0.1 (2019-04-27)

License

MIT License

Copyright (c) 2019-2024 René G. info@rg-engineering.eu

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.