NEWS
-
@Rene_HM anbei ein Screenshot. Habe schon folgendes versucht:
- Adapter gestoppt, Alle Objekte unter OG Büro gelöscht und den Adapter gestartet, sodass alle Objekte neu angelegt werden => selbes Ergebnis
- Im Adapter den Raum OG Büro gelöscht. Dabei ist mir aufgefallen, dass ich keinen neuen Raum anlegen kann => Bug?!. Habe dann einfach einen vorhandenen nicht benötigten Raum umbenannt in OG Büro und dort das Theromstat eingetragen.
Bei beiden der selbe Fehler...

@iobroker_Alex trag bitte nur in der Spalte "OID Zielwert" den Datenpunkt ein. Der andere "OID Ist-Wert" sollte der Ist-Wert des Thermostats sein. Wenn du aber keine Aktoren direkt steuern willst, brauchst du den Datenpunkt gar nicht, also leer lassen...
-
@xADDRx sagte in Adapter: HeatingControl:
Hallo zusammen,
funktionieren auch die Danfoss Thermostate?
Gruß
BenWenn zumindest der Zielwert der Thermostate irgendwo im iobroker schon zu finden sind (über einen entsprechenden Adapter), dann klares "ja".
-
@Rene_HM anbei ein Screenshot. Habe schon folgendes versucht:
- Adapter gestoppt, Alle Objekte unter OG Büro gelöscht und den Adapter gestartet, sodass alle Objekte neu angelegt werden => selbes Ergebnis
- Im Adapter den Raum OG Büro gelöscht. Dabei ist mir aufgefallen, dass ich keinen neuen Raum anlegen kann => Bug?!. Habe dann einfach einen vorhandenen nicht benötigten Raum umbenannt in OG Büro und dort das Theromstat eingetragen.
Bei beiden der selbe Fehler...

@iobroker_Alex sagte in Adapter: HeatingControl:
Dabei ist mir aufgefallen, dass ich keinen neuen Raum anlegen kann => Bug?!
Nein, kein bug. Räume können nicht manuell angelegt werden. Sie werden aus den enums vom System übernommen, aber nur wenn
a) noch keine Räume vorhanden sind
b) wenn die Option "delete all devices when admin opens" aktiviert ist. Aber Achtung: das löscht wirklich alle devices und man muss dann alles neu einstellen. Deshalb nicht vegressen, die Option wieder zu deaktivieren. -
@iobroker_Alex trag bitte nur in der Spalte "OID Zielwert" den Datenpunkt ein. Der andere "OID Ist-Wert" sollte der Ist-Wert des Thermostats sein. Wenn du aber keine Aktoren direkt steuern willst, brauchst du den Datenpunkt gar nicht, also leer lassen...
@Rene_HM hast recht funktioniert. Bei mir wird, wenn ich den Datenpunkt über das Menü auswähle, der Wert automatisch in beide Spalten "OID Zielwert" und "OID Ist-Wert" reingeschrieben. Könnte man dann auch noch optimieren.
Beim Thema mit den Räumen halte ich dagegen:
Stell dir vor ich baue mein Haus um und baue an. Den neuen Raum möchte ich dann doch gerne anlegen ohne alles andere nochmal neu zu administrieren...
Entweder er prüft bei Adapterstart die Räume ab oder ich bekomme als User die Möglichkeit einen Raum manuell hinzuzufügen. -
@Rene_HM hast recht funktioniert. Bei mir wird, wenn ich den Datenpunkt über das Menü auswähle, der Wert automatisch in beide Spalten "OID Zielwert" und "OID Ist-Wert" reingeschrieben. Könnte man dann auch noch optimieren.
Beim Thema mit den Räumen halte ich dagegen:
Stell dir vor ich baue mein Haus um und baue an. Den neuen Raum möchte ich dann doch gerne anlegen ohne alles andere nochmal neu zu administrieren...
Entweder er prüft bei Adapterstart die Räume ab oder ich bekomme als User die Möglichkeit einen Raum manuell hinzuzufügen.@iobroker_Alex sagte in Adapter: HeatingControl:
Bei mir wird, wenn ich den Datenpunkt über das Menü auswähle, der Wert automatisch in beide Spalten "OID Zielwert" und "OID Ist-Wert" reingeschrieben. Könnte man dann auch noch optimieren.
Das ist ein bug, sollte so nicht sein...
Beim Thema mit den Räumen halte ich dagegen:
Stell dir vor ich baue mein Haus um und baue an. Den neuen Raum möchte ich dann doch gerne anlegen ohne alles andere nochmal neu zu administrieren...
Entweder er prüft bei Adapterstart die Räume ab oder ich bekomme als User die Möglichkeit einen Raum manuell hinzuzufügen.Ich schau mal, was ich da machen kann...
-
@xADDRx sagte in Adapter: HeatingControl:
Hallo zusammen,
funktionieren auch die Danfoss Thermostate?
Gruß
BenWenn zumindest der Zielwert der Thermostate irgendwo im iobroker schon zu finden sind (über einen entsprechenden Adapter), dann klares "ja".
-
@Rene_HM Danke für die Antwort. Nun habe ich den Adapter installiert. Ich kann jedoch unter Geräte nicht einfügen, da kein Plus Symbol....siehe foto

-
inspiriert vom Heizungsthermostat-Script und weil meine homeputer-Lizenz abgelaufen ist, und ich meine Heizungssteuerung von dort nach iobroker portieren wollte, ist der Adapter HeatingControl entstanden.
Features:
- setzen der Zieltemperatur in verschiedenen Thermostaten
- beliebige Anzahl von täglichen Zeitabschnitten mit unterschiedlichen Zieltemperaturen
- Zeit und Zieltemperatur per Visualisierung konfigurierbar
- automatische Suche nach vorhandenen Thermostaten im System (über Gewerk) und Zuordnung zu Räumen
- Für den Fall, dass der Thermostat nur als Thermometer verwendet wird, behandelt der Adapter auch digitale Outputs zum Schalten der Ventile. Im Moment ist dafür nur eine einfache Ein/Aus-Regelung implementiert (die für meine Zwecke ausreichend ist). Weitere Regelungen sind aber als Idee bereits vorhanden und können implementiert werden. Es gibt nun auch einen linearen on/off mit Hysterese
- es werden bis zu zwei Outputs für Ventile unterstützt
- Outputs werden auch automatisch den Räumen zugeordnet. Dafür müssen diese dem gleichen Gewerk wie Thermostate zugeordnet sein.
- im Admin des Adapters können Räume deaktiviert werden
- Absenkung bei Abwesenheit
- Ventile ein oder aus außerhalb der Heizperiode
- Verbindung zu ical
- Verbindung zu Feiertags-Adapter
- Senden von Nachrichten per email, Signal, Telegram, discord, ...
- Kamin-Modus
- Wartungsmodus
- mehrere Profile
- Tages-Programme für
- Montag - Sonntag
- Montag - Freitag + Samstag - Samstag
- jeden Tag separat
Versionen:
Ich habe eine Frage bezüglich der "Allgemeinen" States von HeatingControl. Ich wollte die States Present und HeatingPeriodActive per Javascript setzen, dort kommt aber immer eine Warnung weil ich ein boolean in ein bool State setzen will laut Skript.
Wie können die States per Skript gesetzt werden? -
Ich habe eine Frage bezüglich der "Allgemeinen" States von HeatingControl. Ich wollte die States Present und HeatingPeriodActive per Javascript setzen, dort kommt aber immer eine Warnung weil ich ein boolean in ein bool State setzen will laut Skript.
Wie können die States per Skript gesetzt werden? -
@xADDRx Hier fehlen die Räume. Die holt sich der Adapter eigentlich aus den enums / Aufzählungen aus dem iobroker-System. Schau mal dort, ob da Räume angelegt sind. Falls nicht, musst du zunächst dort die Räume anlegen

-
@Rene_HM Hallo René,
erstmal danke für die tolle Arbeit!! Soweit funktioniert alles. Ich habe jedoch beim Wert WindowOpend kein false oder true stehen, sondern 0°.
Was mache ich falsch?@xADDRx nichts! Der o.g. Wert ist die Absenkung, wenn ein Fenster offen ist. Es gibt ein 'WindowIsOpen' nicht (jedenfalls nicht als Datenpunkt). Einfach den Adapter im debug Mode starten und bei Öffnen und Schliessen des Fensters das log beobachten. Anhand des logs sollte dann erkennbar sein, dass die Zieltemperatur um den eingegebenen Wert reduziert wird. Ich baue noch ein Status-Datenpunkt ein, an dem man sieht, welche Absenkungen verwendet werden. Das ist aber noch nicht fertig...
-
@xADDRx nichts! Der o.g. Wert ist die Absenkung, wenn ein Fenster offen ist. Es gibt ein 'WindowIsOpen' nicht (jedenfalls nicht als Datenpunkt). Einfach den Adapter im debug Mode starten und bei Öffnen und Schliessen des Fensters das log beobachten. Anhand des logs sollte dann erkennbar sein, dass die Zieltemperatur um den eingegebenen Wert reduziert wird. Ich baue noch ein Status-Datenpunkt ein, an dem man sieht, welche Absenkungen verwendet werden. Das ist aber noch nicht fertig...
-
@Rene_HM sagte in Adapter: HeatingControl:
setState('heatingcontrol.0.Present',true);Eben leider nicht Rene. Im Log erscheint dann:
javascript.0 2019-09-20 06:21:02.493 warn at script.js.Test.Skript_1:1:1 javascript.0 2019-09-20 06:21:02.492 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20) javascript.0 2019-09-20 06:21:02.478 warn You are assigning a boolean to the state "heatingcontrol.0.Present" which expects a bool. Please fix your code to use a bool or change the state type to boolean. This warning might become an error in -
@Rene_HM sagte in Adapter: HeatingControl:
setState('heatingcontrol.0.Present',true);Eben leider nicht Rene. Im Log erscheint dann:
javascript.0 2019-09-20 06:21:02.493 warn at script.js.Test.Skript_1:1:1 javascript.0 2019-09-20 06:21:02.492 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20) javascript.0 2019-09-20 06:21:02.478 warn You are assigning a boolean to the state "heatingcontrol.0.Present" which expects a bool. Please fix your code to use a bool or change the state type to boolean. This warning might become an error in@CKMartens sagte:
You are assigning a boolean to the state "heatingcontrol.0.Present" which expects a bool.
Offenbar hat der Datenpunkt "heatingcontrol.0.Present" den Typ "bool", den es in Javascript nicht gibt. Korrigieren in "boolean".
-
@CKMartens sagte:
You are assigning a boolean to the state "heatingcontrol.0.Present" which expects a bool.
Offenbar hat der Datenpunkt "heatingcontrol.0.Present" den Typ "bool", den es in Javascript nicht gibt. Korrigieren in "boolean".
-
@paul53 habe ich mit V02.3 geändert. Datenpunkt muss aber im Objecttree gelöscht werden und Adapter neu gestartet, damit die Änderung wirkt.
-
Achtung: In der aktuellen Version gibt es noch ein Problem, wenn Räume oder Gewerke als enum manuell im iobroker admin angelegt werden. Dann funktioniert die Übernahme dieser Werte in den Adapter nicht. Stattdessen werden Räume oder Gewerke als [object object] angezeigt. Bei importierten enums, z.Bsp. aus Homematic tritt dieser Fehler nicht auf. Ich versuche zeitnah eine Lösung für dieses Problem zu finden.
@Rene_HM sagte in Adapter: HeatingControl:
Achtung: In der aktuellen Version gibt es noch ein Problem, wenn Räume oder Gewerke als enum manuell im iobroker admin angelegt werden.
In der eben veröffentlichten Version 0.2.3 (auf github und NPM) ist dieses Problem gelöst.
Die 0.2.3 enthält weitere bug fixes:- die Reihenfolge der Uhrzeiten in den periods wird geprüft. Falls eine spätere Periode eine frühere Uhrzeit enthält, wird dieser Eintrag ignoriert
- wenn Perioden geändert werden, wird nicht nur die Zeittabelle für cron neu berechnet, sondern es wird auch geprüft, ob sich Temperaturen geändert haben. Diese werden dann auch direkt auf's Thermostat geschrieben
- die Auswahl der object ID für "aktuell" und "Ziel" bei der Konfiguration der Thermostate wurde überarbeitet
- der Type der bool-Datenpunkte wurde auf boolean geändert
Nächste Version wird 0.3.0 mit weiteren Features aus der Liste:
https://github.com/rg-engineering/ioBroker.heatingcontrol/issues -
Nach Aktivierung der "HeatingPeriodActive" wird die falsche Periode genommen. Bei mir springt er am Montag immer wieder auf die Sa/So Einstellung. Fehlermeldung gibt es hier keine.
Habe den Fehler gefunden. Es liegt nicht daran das er den falschen Tag nimmt sondern daran das er nicht durch die Perioden schaltet wenn die letzte Zeit kleiner ist als die vorherigen.

Wenn jetzt Periods[4] kleiner ist z.B. 3 Uhr dann bleibt er da hängen.
Hallo,
ich habe den Adapter auch mal testweise zum Beginn der Heizperiode aktiviert. Super, danke für die Arbeit!@Michael-Sauer sagte in Adapter: HeatingControl:
Nach Aktivierung der "HeatingPeriodActive" wird die falsche Periode genommen. Bei mir springt er am Montag immer wieder auf die Sa/So Einstellung. Fehlermeldung gibt es hier keine.
Habe den Fehler gefunden. Es liegt nicht daran das er den falschen Tag nimmt sondern daran das er nicht durch die Perioden schaltet wenn die letzte Zeit kleiner ist als die vorherigen.

Wenn jetzt Periods[4] kleiner ist z.B. 3 Uhr dann bleibt er da hängen.
Michael hat einen Fehler gefunden, den ich so oder ähnlich auch bestätigen kann.
Vor allem, wenn man nachts noch die Heizung verstellen will, muss man darauf achtern, dass die Perioden chronologisch korrekt sortiert sind. Wenn die erste Umstellung des neuen Tages zB um 00:30Uhr ist, muss das auch in der ersten Periode stehen. Sonst funktioniert es nicht.
Ich hatte auch anfangs den Tag im Kopf von morgens bis abends durchgespielt und entsprechend eingetragen und dann nicht die gewünschte Steuerung bekommen.
Wer also nach Mitternacht die Heizung stellen will muss daran denken.
@Rene_HM Bitte die Namen (also nicht Objektnamen, sondern Namen in der zweiten Admin Spalte) anpassen. Dort sind Leerzeichen und korrekte Groß/Kleinschreibung erlaubt.
Vorschläge:period from -> Startzeit oder start period
HolidayAbsentDecrease -> Absenkung Urlaub abwesend oder holiday absent decrease
HolidayPresent -> Urlaub anwesend oder holiday present
VacationAbsent -> Urlaub abwesend oder holiday absentAusserdem fände ich gut den CurrentTimePeriod-Datenpunkt aufzusplitten. Kann man sich selbst in VIS wieder zusammensetzen
CurrentPeriod -> 2
CurrentPeriodStarted -> 06:00
CurrentPeriodSetTemperatur -> 23 °C
CurrentSetTemperature -> 21 °C (zB weil "Abwesenheit ein" 2 °C weniger)Gruß
PixPS. Kleiner Hinweis und ich mache gern Issues auf Git