NEWS
Test Adapter HeatingControl v2.12.x
-
@dominik-f @Rene_HM bisher habe ich von Homematic nur die Thermostate selbst und mein Plan war eigentlich meine bereits vorhandenen Sensor von Aqara zu verwenden. Ich werde es mal vorerst testen, die Wandthermostate sollten ja im Fall schnell gekauft sein.
Was mir aufgefallen ist; wie wird denn der Offset für die Thermostate berechnen. Ich habe eine Zieltemperatur von 18,5 C° eingegeben. Ausgegeben wird aber 16,5°. Sollte der Offset bei den vorhandenen Werten nicht +2C° anstatt -2C° sein?
-
Das stimmt schon so. Aktuell durch die Temperaturen draußen ist es so, dass dein Raumsensor eine höhere Temperatur anzeigt als der Regler. Normalerweise ist dies ja anders herum.
Du hast eine Temperatur von 24,8 am Regler und eine tatsächliche Temperatur von 26,8 am Sensor, welche die Zieltemperatur ist.
Jetzt möchtest du 18,5 Grad als Zieltemperatur haben.
Dein Regler ist nun bei 16,5 Grad weil deine Zieltemperatur am Sensor 18,5 sein soll. -
@phinix du kannst auch das debug log für den Adapter einschalten, dann siehst du die ganze Berechnung inkl. aller Daten. Die Erklärung oben ist aber richtig...
-
@dominik-f Jetzt habs ich verstanden, Danke! Im Prinzip versuche ich mit den Einstellungen aktuell den Raum zu kühlen und nicht zu heizen.
Theoretisch kann der Winter jetzt kommen, hoffen wir aber mal das es einfach so lange wie möglich warm bleibtIch benutze mittlerweile die Simple Vis; noch eine Frage dazu, die Check-Box welche sich neben der Raumauswahl befindet. Ist das mit Absicht so, dass diese alle Profile deaktiviert oder sollte diese immer nur den jeweiligen Raum deaktivieren?
-
Hallo @Rene_HM ,
ich verwende in meiner Visualisierung den Datenpunkt "isActive" wie folgt:
Bei true ist der Zeitplan bzw. Automatik aktiv, bei false wird auf vollständig manuellen Betrieb umgeschaltet. Dabei wird zunächst die "feste Temperatur, wenn keine Heizperiode" gesetzt. Anschließend kann eine beliebe Temperatur eingestellt werden.
Zu "isActive" sind mir zwei Punkte aufgefallen:
-
Es scheint eine Abhängigkeit (vllt. zum Override) zu geben. Ich hatte "isActive" auf false gesetzt, die "feste Temperatur, wenn keine Heizperiode" wurde gesetzt, aber nach 30 min sprang der Mode auf Auto mit entsprechender Temperatur.
-
Bei "isActive" = false springt die manuell eingestellte Temperatur nach einiger Zeit plötzlich wieder auf die "feste Temperatur, wenn keine Heizperiode". Dieses Verhalten werde ich weiter beobachten und wenn möglich weitere Details nennen.Dieses "Problem" konnte ich mit dem Datenpunkt TemperatureIfNoHeatingPeriod und einem kurzen Skript lösen: Wenn die Temperatur manuell verändert wird, wird auch TemperatureIfNoHeatingPeriod aktualisiert. Allerdings erscheint im Log der Fehler !!ChangeStatus not implemented yet TemperatureIfNoHeatingPeriod Wohnzimmer value 14 -
Wenn "isActive" auf false gesetzt ist, zeigt der Mode "no heating". In meinem Fall kann es sein, dass trotzdem geheizt wird. Wäre es möglich den Text zu ändern? Vielleicht "no schedule" oder "manual mode"?
-
-
Moinsen!
Ich hab mir im vis nun einige Anpassungen gebaut.
Ich arbeite gerade daran, mir mehr als die 5 Perioden zu bauen.
Vorab: ist das überhaupt generell möglich?
Im Adapter selbst kann ich ja die Perioden munter über die 5 drehen. Im vis habe ich mir nun die Perioden auch schon auf 7 ausgebaut. Leider rafft der Adapter überhaupt nicht wenn ich dort Uhrzeit oder Temperatur einstelle. -
@hollywoot Der Adapter muß die im Vis eingestellten Werte in den jeweilig ausgewählten Raum zurückschreiben und das tut er imho eben für 5 Perioden. Weniger is kein Problem, mehr hat meines Wissens bisher einfach noch niemand wirklich benötigt. Machbar wäre es, soweit ich das überblicke, benötigt aber eine Änderung am Adapter.
-
@rene_hm erstmal danke für den tollen adapter, aber irgendwie übernimmt der bei mir keine offsetwerte. Ansonsten würde alles hervorraagend klappen.
Hier mal der Auszug aus dem debug log.
2022-10-02 08:31:11.934 - debug: heatingcontrol.0 (2436624) ### handle state change acked zigbee.0.00158d0005363273.temperature {"val":19.5,"ack":true,"ts":1664692271932,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":1664692271932} 2022-10-02 08:31:11.935 - debug: heatingcontrol.0 (2436624) HandleStateChangeDevices zigbee.0.00158d0005363273.temperature 2022-10-02 08:31:11.935 - debug: heatingcontrol.0 (2436624) CheckStateChangeDevice zigbee.0.00158d0005363273.temperature 2022-10-02 08:31:11.935 - debug: heatingcontrol.0 (2436624) Josef_Zimmer_OG ### ChangeStatus AddTempSensor to {"val":19.5,"ack":true,"ts":1664692271932,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":1664692271932} in auto 2022-10-02 08:31:11.935 - debug: heatingcontrol.0 (2436624) calculate temp offset for Josef_Zimmer_OG old value is 0, got value {"val":19.5,"ack":true,"ts":1664692271932,"q":0,"from":"system.adapter.zigbee.0","user":"system.user.admin","lc":1664692271932} in auto 2022-10-02 08:31:11.936 - debug: heatingcontrol.0 (2436624) got 19.5 from ext_Sensor LastUpdate 02.10.2022 08:31:11 2022-10-02 08:31:11.936 - debug: heatingcontrol.0 (2436624) got 20.6 from zigbee.0.94deb8fffef70fb3.local_temp LastUpdate 02.10.2022 08:01:28 2022-10-02 08:31:11.936 - debug: heatingcontrol.0 (2436624) time diff 29.728083333333334 2022-10-02 08:31:11.937 - debug: heatingcontrol.0 (2436624) use value 2022-10-02 08:31:11.937 - debug: heatingcontrol.0 (2436624) tempdiff: 20.6 - 19.5 = 1.1000000000000014 2022-10-02 08:31:11.937 - debug: heatingcontrol.0 (2436624) TempOffset calc 1.1000000000000014 / 31 = 0 2022-10-02 08:31:11.937 - debug: heatingcontrol.0 (2436624) TempOffset Josef_Zimmer_OG 2022-10-02 08:31:11.937 - debug: heatingcontrol.0 (2436624) (avg) Ist-Temperatur am Thermostat 20.6 2022-10-02 08:31:11.937 - debug: heatingcontrol.0 (2436624) Ist-Temperatur am zusätzl. Sensor 19.5 2022-10-02 08:31:11.937 - debug: heatingcontrol.0 (2436624) tempDiff 1.1000000000000014 2022-10-02 08:31:11.937 - debug: heatingcontrol.0 (2436624) (avg) TempOffset 0 2022-10-02 08:31:11.984 - debug: heatingcontrol.0 (2436624) ### handle state change acked heatingcontrol.0.Rooms.Josef_Zimmer_OG.TemperatureOffset {"val":0,"ack":true,"ts":1664692271982,"q":0,"from":"system.adapter.heatingcontrol.0","user":"system.user.admin","lc":1664544506004} 2022-10-02 08:31:11.984 - debug: heatingcontrol.0 (2436624) new temp offset for Josef_Zimmer_OG is 0 2022-10-02 08:31:11.984 - debug: heatingcontrol.0 (2436624) UpdateDPs for Josef_Zimmer_OG auto 2022-10-02 08:31:12.039 - debug: heatingcontrol.0 (2436624) AddStatusToLog skip Josef_Zimmer_OG auto public holiday 23°C
Die beiden Thermostate sind weit auseinander, daher auch die große Abweichung. Dort wo das externe Thermostat verbaut ist, ist halt auch der PC Arbeitsplatz und man kennt den Unterschied, daher würde ich mich freuen wenn das funktionieren würde, wenn nciht, dann stelle ich halt die target temperatur höher, wäre auch kein Beinbruch. In den anderen Zimmern ist die Abweichung bei ca. 0,5 Grad
Was heißt bei der Berrechnung immer das z.B. calc 1.1000000000000014 / 31 = 0
-
Alles gut jetzt funktioniert es, hatte wohl wieder mal keine Geduld. aber wie wird das genau berechnet, würde mich interessieren?
-
Hallo zusammen
Kann mir hier jemand weiterhelfen?Ich setzte im view cardHzngMoFrSaSo eine Zeit oder eine Temperatur für den Raum Wohnzimmer.
Dies erzeugt im Datenpunkt heatingcontrol.0.vis.ProfileTypes.Mo-Fr.Periods.4 auch den richtigen Eintrag.
Nur der Datenpunkt heatingcontrol.0.Profiles.1.Wohnzimmer.Mo-Fr.Periods.4 zeigt nicht den richtigen Wert.Was mach Ich falsch? Hab so ziemlich alles ausprobiert ohne Erfolg.
Sollte hier irgendwo ein Script laufen das diesen Wert von vis auf Wohnzimmer kopiert ?Danke.
https://github.com/Pittini/iobroker-heatingcontrol-vis/issues/23
-
Nein, du brauchst dafür kein Script.
Hast du in deiner Vis auch das Profil Wohnzimmer ausgewählt? Ist dein aktives Profil auch das erste Profil?
heatingcontrol.0.vis.ProfileTypes.Mo-Fr.Periods.4 zeigt die Periode 4 von dem Raum an, den du in Vis ausgewählt hast und zwar vom aktivem Profil.Schau mal ob:
heatingcontrol.0.vis.ChoosenRoom
= Wohnzimmer ist
und
heatingcontrol.0.CurrentProfile
bei dir =1 ist.
-
@dominik-f
Das habe Ich auch schon kontrolliert:
und
Angezeigt werden die richtigen Punkte, aber wenn Ich sie verändere werden nur die vom heatingcontrol.0.vis.ProfileTypes.Mo-Fr.Periods.4 verändert.
-
Hab noch eine Idee....welche Version der VIS von Pittini nutzt du?
HeatingControl 2.x benötigt V3.1 (oder höher) der vis, da hier die Profile und Perioden mit Index 1 starten
-
@dominik-f
Danke. Das habe Ich auch schon gelesen.
Version 3.30 oder auch 3.20 beide schon ausprobiert. -
Hast du irgendwas in der Vis in den entsprechenden Cards angepasst bzw dort Datenpunkte verändert?
Kannst du mal einen Screenshot von der Vis bei dir machen?Da mir jetzt auf die schnelle nix mehr einfällt versuche ich nach dem Ausschlussprinzip vorzugehen, daher jetzt die Fragen.
-
@dominik-f
Ich finde deine Vorgehensweise toll. Ich weiss momentan auch nicht weiter. Ich habe so viel Ich weiss nix angepasst.
Momentan gucke Ich mit meinem gefährlichen Halbwissen in die main.js von HeatingControl um irgendwie zu verstehen was, wann, wo getriggert wird.
Vermutlich schlaf Ich mal drüber, Irgendwo habe Ich einen Eintrag verpasst. -
Da das ganze bei mir richtig funktioniert wird es nicht an Heatingcontrol liegen. Es wird eine Einstellung von dir sein, vielleicht auch etwas, was du "falsch" eingestellt hast und nicht zur Vis passt.
Hast du in HeatingControl unter Profil --> allgemeine Profileinstellung auch die für die Vis richtige Anzahl an Profilen und Perioden eingestellt?
Nicht, dass du dort als Beispiel 3 Perioden eingestellt hast und in Vis in der 4ten was einstellst willst
Vielleicht findeste du in der VIS ja die Zeit, die der Datenpunkt heatingcontrol.0.Profiles.1.Wohnzimmer.Mo-Fr.Periods.4 gerade anzeigt?Die Zeit und die Temperatur müssen ja mit irgendeiner Periode bei dir übereinstimmen. Dann können wir das vielleicht weiter eingrenzen.
-
@dominik-f
Bin ein bisschen weitergekommen. Da fehlen bei mir Datenpunkte.
Beim Aufstarten des Adapter kommt Fehler.heatingcontrol.0 2022-10-11 00:08:10.701 error exception in SetVis [TypeError: Cannot read properties of null (reading 'val')]
In vis.js sehe Ich das Ich die TempDecreaseMode Datenpunkte im Profile gar nicht habe:
//DecreaseMode Werte setzen temp = await parentAdapter.getStateAsync("Profiles." + CurrentProfile + "." + ChoosenRoom + "." + TempDecreaseMode + "." + "AbsentDecrease"); await parentAdapter.setStateAsync("vis.TempDecreaseValues." + "AbsentDecrease", { ack: true, val: temp.val }); temp = await parentAdapter.getStateAsync("Profiles." + CurrentProfile + "." + ChoosenRoom + "." + TempDecreaseMode + "." + "GuestIncrease"); await parentAdapter.setStateAsync("vis.TempDecreaseValues." + "GuestIncrease", { ack: true, val: temp.val }); temp = await parentAdapter.getStateAsync("Profiles." + CurrentProfile + "." + ChoosenRoom + "." + TempDecreaseMode + "." + "PartyDecrease"); await parentAdapter.setStateAsync("vis.TempDecreaseValues." + "PartyDecrease", { ack: true, val: temp.val }); temp = await parentAdapter.getStateAsync("Profiles." + CurrentProfile + "." + ChoosenRoom + "." + TempDecreaseMode + "." + "VacationAbsentDecrease"); await parentAdapter.setStateAsync("vis.TempDecreaseValues." + "VacationAbsentDecrease", { ack: true, val: temp.val }); temp = await parentAdapter.getStateAsync("Profiles." + CurrentProfile + "." + ChoosenRoom + "." + TempDecreaseMode + "." + "WindowOpenDecrease"); await parentAdapter.setStateAsync("vis.TempDecreaseValues." + "WindowOpenDecrease", { ack: true, val: temp.val });
In heatingcontrol.0.vis.TempDecreaseValues sind die vorhanden, aber nicht in heatingcontrol.0.Rooms.Wohnzimmer.
Müssen die da vorhanden sein? Und wenn ja wie lege Ich die an?
Ich vermute jetzt das Ich noch nicht alles Konfiguriert habe. -
@dbu828
Ich habe jetzt ein Channel TempDecreaseValues zu heatingcontrol.0.Rooms.Wohnzimmer hinzugefügt.
Jetzt klappt es mit dem aktualisieren.{ "type": "channel", "common": { "name": "TempDecreaseValues", "role": "", "type": "string", "unit": "", "read": true, "write": false }, "native": { "id": "vis.TempDecreaseValues" }, "_id": "heatingcontrol.0.Rooms.Wohnzimmer.TempDecreaseValues", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1665440528383 }
Kann es sein das der Channel und die Datenpunkte darunter beim Setup nicht angelegt werden?
-
Ich kann es nur wiederholen, es wird alles automatisch angelegt. Du musst nichts selber anlegen. Sobald du in HeatingControl die Vis aktivierst, sollte auch alles mit der Vis klappen.
Du hast jetzt Channels angelegt, die ich selber nicht habe und anscheinend auch nicht vorgesehen sind -->heatingcontrol.0.Rooms.Wohnzimmer.TempDecreaseValues.
Du hast einen Fehler beim Start des Adapters, dieser Fehler wird die Ursache sein und wir müssen nun schauen, was diesen Fehler verursacht. Der Error wäre die wichtigste Info von dir gewesen
Nur wie wild da jetzt irgendwelche Datenpunkte zu erstellen, wird dir auf Dauer nicht helfen. Wie soll dir der Entwickler oder irgendjemand anders in Zukunft helfen wenn es nicht mehr dem orginal Zustand entspricht? Niemand kann wissen, ob du da nun irgendwelche Folgefehler verursachst.
Ich würde dir nun raten, lösche alles was du erstellt hast an Datenpunkten, die Vis, am besten auch den Adapter. Dann installierst du den Adapter neu, stellst alles ein und schaust ob es nun mit der neu erstellten Vis funktioniert. Für die Vis musst du eigentlich nur in den Haupteinstellungen-->Visualisierungseinstellungen--> Verwendung der Vis von Pittini den Haken setzen.
Wenn du den Fehler dann immer noch hast, gehe ich gerne die Einstellungen alle mit dir durch bzw. schicke dir Screenshots von meinen.