NEWS
[Vorlage] Heizungsthermostatsteuerung 2.1 - Script
-
wenn ich jetzt auf die Aktuelle Version umsteigen möchte, muss ich dann alle Adapter etc neu eintragen? `
das hatte ich ursprünglich beschrieben und dann aus Versehen den Post gelöscht :shock:Also, im Grunde läuft das Programm auch schon wenn das Coding unterhalb der Einstellungen kopiert wird.
Allerdings gibt es neue Datenpunkte und ein paar Änderungen. Wäre also gut ein paar Anpassungen vorzunehmen
-
Views jetzt mit neuen Datenpunkten für ICAL (globale Parameter und Raumparameter
-
Views: netzt mit neuen Datenpunkten für Soft-Boost Funktion
-
Script: neue Variable: ar SoftBoostTemp = 30;
-
Script: 3 Variablen für ICAL Aktivierung nicht mehr notwendig
-
Script: Neue Variable für Absolute Absenktemperaturen : var AbsenkTempAbsolut = false;
-
Script: neue Spalte 5 für NonSensorType tab:
// 0 = Raum 1 = Datenpunkt bis vor Geraet 2=Datenpunkt Geraet 3=Datenpunkt SollTemp 4= Ventilstellung bei NichtHeizperiode 5. Delay nach Verschluss zu
Wie gesagt ist alles optional.
vG Looxer
-
-
Sodale, komplett auf die neue Version geändert.
Hab noch eine generelle Frage. Die Anzeige Modus im Widget, woher bekommt die ihren State? Theoretisch ja aus dem Datenpunkt Control.Mode vom Thermostat im RPC oder nicht? Aber woher kommt der Status? Sollte der vom Thermostat gesetzt werden? Denn bei meinen HmIP-eTRV-B Kommt keine Rückmeldung für den Modus. Der steht bei mir im ioB immer auf 0.
-
Hab noch eine generelle Frage. Die Anzeige Modus im Widget, woher bekommt die ihren State? Theoretisch ja aus dem Datenpunkt Control.Mode vom Thermostat im RPC oder nicht? Aber woher kommt der Status? Sollte der vom Thermostat gesetzt werden? Denn bei meinen HmIP-eTRV-B Kommt keine Rückmeldung für den Modus. Der steht bei mir im ioB immer auf 0. `
Also es geht um den Manu/Auto Mode. 0 heisst Auto, sollte aber auf Manu stehen.Sollte vom Programm auf 1 (Manuell) gesetzt werden, wenn so eingestellt.
Ansonsten wird es immer manuelle Temps von der CCU geben.
vG Looxer
-
Also es geht um den Manu/Auto Mode. 0 heisst Auto, sollte aber auf Manu stehen.
Sollte vom Programm auf 1 (Manuell) gesetzt werden, wenn so eingestellt.
Ansonsten wird es immer manuelle Temps von der CCU geben.
vG Looxer `
Genau darum geht es. Lt. deinem View soll ja auch Party und Boost dort angezeigt werden. Also Wert 2 und Wert 3. Aber woher kommen letztenendes die 0,1,2,3 ? In den Datenpunkten steht wie erwähnt immer 0 also im View immer auf Auto. CCU ist auf Manu eingestellt. Ändere ich den Datenpunkt manuell, ändert sich nur die Anzeige im View, aber nichts in der CCU.
Wäre ja auch praktisch wenn er Bei Boost wirklich Boost in Rot anzeigen würde.
-
Lt. deinem View soll ja auch Party und Boost dort angezeigt werden. Also Wert 2 und Wert 3. Aber woher kommen letztenendes die 0,1,2,3 ? In den Datenpunkten steht wie erwähnt immer 0 also im View immer auf Auto. CCU ist auf Manu eingestellt. Ändere ich den Datenpunkt manuell, ändert sich nur die Anzeige im View, aber nichts in der CCU.
Wäre ja auch praktisch wenn er Bei Boost wirklich Boost in Rot anzeigen würde. `
Hi,welchen Datenpunkt hast du eingetragen ? Es sollte ControlMode und nicht BoostMode sein. Dann sollte es wie von dir gedacht funktionieren.
Party und Gaeste werden allerdings komplett ignoriert. Das heisst, dass wenn es manuell aktiviert wird als manuelle Temperatur erkannt wird.
Die eigentliche Party und Gaeste Funktion ist ja eh in erweiterter Form im Script implementiert. - Mittlerweile ja auch die Boost-Funktion.
EDIT:
um es klar zu sagen: die BoostFunktion ist der BoostMode. Der Modus (MANU AUTO etc) ist der control Mode. Ich glaube der war nicht richtig zugeordnet in der View.
vG Looxer
-
Der Datenpunkt ist bei mir im View schon korrekt eingetragen. Warum sind hier Boost und Party mit angeführt, wenn der Punkt im View nur für Auto/Manu ist?
Im 2. Shot sieht man die Datenpunkte, jedoch ist mir nach wie vor nicht klar durch was eben der gelb markierte geändert wird. Denn dieser Datenpunkt ist ja für die Anzeige im View verantwortlich. Und der steht bei mir immer auf 0, also Auto. Selbst wenn der Thermostat auf Manu eingestellt ist.
Ich hoffe jetzt ist komplett klar was ich meine.
-
Ich hatte ja schon einmal angemerkt, dass eine Abwesenheitskontrolle pro Raum interessant wäre. Vielleicht wäre dort ein Array interessant welches man pro Raum mitgeben kann. Sind diese Menschen die für einen bestimmten Raum eingetragen sind nicht mehr Anwesend, wird abgesenkt.
Hättest du vielleicht für mich einen groben Ansatz wie ich das integriert bekomme?
Denn Anwesenheitscheck via TR064 ist kein Problem. Auch das originale Anwesenheitsskript für das Heizungsthermostatsteuerungs-Skript habe nich.
Mir ist aber schleierhaft wie du das mit den subscriptions löst, also den Triggern und was LoopRooms macht.
Vielleicht hast du ein paar Tipps.
Viele Grüße!
-
Der Datenpunkt ist bei mir im View schon korrekt eingetragen. Warum sind hier Boost und Party mit angeführt, wenn der Punkt im View nur für Auto/Manu ist?
Modus.PNG
Im 2. Shot sieht man die Datenpunkte, jedoch ist mir nach wie vor nicht klar durch was eben der gelb markierte geändert wird. Denn dieser Datenpunkt ist ja für die Anzeige im View verantwortlich. Und der steht bei mir immer auf 0, also Auto. Selbst wenn der Thermostat auf Manu eingestellt ist.
Modus2.PNG
Ich hoffe jetzt ist komplett klar was ich meine. `
Hi,ich habe jetzt gesehen, dass du IP geräte hast. Habs also mal getestet. Bei mir kann ich Auto und Manu über control mode manuell im datenpunkt umstellen. Damit reagiert das Thermostat. Also geht das auch im View. weil es ja nichts anderes ist. Nach meinen Tests funktioniert das also.
Wenn du Gruppen eingerichtet hast, dann solltest du allerdings auch die Gruppen nutzen. Ansonsten reagieren die Geräte nicht wie gewünscht.
Die Gruppen kannst du erzeugen durch eine weitere RPC instanz und durch Konfig "virtuell devices". Die Gruppen brauch dann noch einen Eintrag in der Thermostattype tab (siehe diskussionen mit Eric ) und natürlich die Änderung im View.
vG Looxer
-
Hättest du vielleicht für mich einen groben Ansatz wie ich das integriert bekomme?
Denn Anwesenheitscheck via TR064 ist kein Problem. Auch das originale Anwesenheitsskript für das Heizungsthermostatsteuerungs-Skript habe nich.
Mir ist aber schleierhaft wie du das mit den subscriptions löst, also den Triggern und was LoopRooms macht.
Vielleicht hast du ein paar Tipps. `
vielleicht wartest du ein paar Tage und ich schicke dir eine Version zum Testen. wäre das ok ?
vG Looxer
-
Moin Ladies,
Ich hab da mal wieder ein Problem.
Ich habe nun über die Feiertage meinen Broker vollkommen neu aufgesetzt, da ich das ein oder andere Problem hatte, was jetzt beseitigt ist.
Nun habe ich die neueste Version vom Skript laufen. Da kommt es zu folgendem Problem:
Wenn ich ein Fenster öffne funktioniert die Absenkung. Nachdem ich das Fenster wieder schliesse, bleibt die Temperatur auf 12°C.
Ich habe eine Benachrichtigung auf dem Sollwertwechsel via telegramm, daher kann ich das genau verfolgen.
Der Sollwert bleibt solange auf 12Grad, bis ich das skript manuell einmal neustarte.
Überganglösung, die auch funktioniert ist, dass ich im Skript Cron auf 5 gestellt habe. So wird zu jeden vollen 5 Minuten das Skript geprüft und auch der korrekte Sollwert wieder eingestellt. Ich habe die Vermutung, dass das Skript den Verschluss nicht mitbekommt.
In der View wechselt jedoch der Status von offen auf geschlossen.
Ich habe komplette Max-Lösung integriert. ( Cube, Wandthermostate, Heizungsthermostate, Fenstersensoren)
Also es funktioniert alles jetzt ersteinmal, jedoch mit der Einschränkung, dass ich es über cron laufen lassen muss.
Vielleicht hat ja jemand eine Idee.
Edit:
Ich habe selbst den Punkt 5 Schon auf true gesetzt, leider mit gleichem Ergebnis
!
var NoneHMSenorTab = []; // 0= Raum 1 = Datenpunkt vis vor Geraet 0.RPC-Pfad 2\. Datenpunkt Geraet 3\. Datenpunkt FensterstatusGeraeteType 4.Verschlussstatus bei geschlossen 5\. TempAbsenkung automatisch ! NoneHMSenorTab[0] = ['Wohnzimmer', 'maxcube.0.devices', 'contact_188a27', 'opened' , 'false', true]; NoneHMSenorTab[1] = ['Wohnzimmer', 'maxcube.0.devices', 'contact_18895b', 'opened', 'false', true]; NoneHMSenorTab[2] = ['Schlafzimmer', 'maxcube.0.devices', 'contact_0d71f4', 'opened', 'false', true]; !
LG Torti
-
Problem mit Looxers Hilfe ( Skript geändert) gelöst.
Woran es lag, kann er sicher besser erklären als ich
Vielen Dank nochmal und einen Guten Rutsch
Lg Torti
-
Woran es lag, kann er sicher besser erklären als ich `
Hi,in der Version 2.1 gibt es ein Problem bei der Synchronisierung von Temperaturen bei nicht direkt verknüpften Thermostaten welches mit der kommenden Version 2.2 gelöst ist.
Für alle die also nicht direkverknüpfungen nutzen rate ich auf die Version 2.2 zu warten.
@Torti: du hast eine 2.2 Vorversion. Die sollte aber schon einigermassen stabil laufen.
vG Looxer
-
Hättest du vielleicht für mich einen groben Ansatz wie ich das integriert bekomme?
Denn Anwesenheitscheck via TR064 ist kein Problem. Auch das originale Anwesenheitsskript für das Heizungsthermostatsteuerungs-Skript habe nich.
Mir ist aber schleierhaft wie du das mit den subscriptions löst, also den Triggern und was LoopRooms macht.
Vielleicht hast du ein paar Tipps. `
vielleicht wartest du ein paar Tage und ich schicke dir eine Version zum Testen. wäre das ok ?
vG Looxer `
Alles Klar! Danke!
-
Moin zusammen,
Ich habe im Gästezimmer einen "HmIP-eTRV-B1" Stellantrieb mit einem "HM-TC-IT-WM-W-EU" Wandthermostat und ein "HmIP-SWDM-B2" Fensterkontakt gemixt. Jetzt erkennt das Script bisher nur das Wandthermostat und ändert da fleißig die Soll Temp. Allerdings kann man ja keine Direktverknüpfung zwischen HM und HmIP komponenten machen. Und so bin ich darauf angewiesen das das Script auch die Soll Temperatur des Stellantriebs ändert.
Das klappt leider nicht, und auch die Fensteröffnung wird nicht erkannt.
Hatte das Problem schon mal jemand?
Ich habe schon mal versucht meine Typenbezeichnungen im Script an der entsprechenden Stelle hinzuzufügen:
` > SensorTypeTab[~~[b]~~9] = ['hm-rpc.1.', '~~[b]~~HmIP-SWDM-B2' , 'Fenstersensor (HMIP )' , 'IPSE', '1.STATE' , false, 0, true ]; // IP
und
ThermostatTypeTab[~~[b]~~11] = ['hm-rpc.2.', '~~[b]~~HmIP-eTRV-B1' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.SET_POINT_MODE', true, '1.ACTUAL_TEMPERATURE', '1.SET_POINT_MODE', 12, 0]; `
Leider ohne Erfolg.
Hat jemand einen Tipp für mich?
Grüße Moses
-
wenn ich die View importieren möchte erhalte ich ständig nen JSON fehler.
mit den Datenpunkten komme ich nicht so recht klar, welche sollen wie angelegt werden?
Vielen Dank für eure Hilfe!
-
enn ich die View importieren möchte erhalte ich ständig nen JSON fehler.
mit den Datenpunkten komme ich nicht so recht klar, welche sollen wie angelegt werden? `
Hi,hast du die Import Dokumentation angesehen. Da steht step by step wie es geht.
Datenpunkte brauchst du selber keine anzulegen. das macht das Programm
Die Datenpunkte unter "Status" des Views sind ja auch schon da und gehören zu den existierenden Geräten, die du steuern möchtest.
vG Looxer
-
ja habe die Anleitung gelesen und bin danach vorgegangen, brauche ich ein spezielles Widget Packet? kommt immer und immer wieder der Json Fehler
-
Hättest Du die Anleitung gelesen würdest du winen leeren View erstellen und dann ein Widget importieren, dann kommt auch kein Json Fehler. :roll:
-
Hallo Loxxer01
ich wollte dein neues Script v2.2 testen, leider erhalte ich eine Fehlermeldung. DIe Version 2.1 funktioniert problemlos
javascript.0 2018-12-31 10:22:46.353 error at Timer.listOnTimeout (timers.js:290:5) javascript.0 2018-12-31 10:22:46.353 error at tryOnTimeout (timers.js:323:5) javascript.0 2018-12-31 10:22:46.353 error at ontimeout (timers.js:511:34) javascript.0 2018-12-31 10:22:46.353 error at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1794:34) javascript.0 2018-12-31 10:22:46.353 error at Object. <anonymous>(script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:521:9) javascript.0 2018-12-31 10:22:46.353 error at LoopRooms (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:936:13) javascript.0 2018-12-31 10:22:46.353 error at LoopDevices (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:987:47) javascript.0 2018-12-31 10:22:46.353 error Error in callback: TypeError: Cannot read property 'common' of null javascript.0 2018-12-31 10:22:46.351 warn Object "javascript.0.Heizung.zwave1.4.SET_TEMPERATURE" does not exist javascript.0 2018-12-31 10:22:46.299 warn at Timer.listOnTimeout (timers.js:290:5) javascript.0 2018-12-31 10:22:46.299 warn at tryOnTimeout (timers.js:323:5) javascript.0 2018-12-31 10:22:46.299 warn at ontimeout (timers.js:511:34) javascript.0 2018-12-31 10:22:46.299 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1794:34) javascript.0 2018-12-31 10:22:46.299 warn at Object. <anonymous>(script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:521:9) javascript.0 2018-12-31 10:22:46.298 warn at LoopRooms (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:920:13) javascript.0 2018-12-31 10:22:46.297 warn getState "javascript.0.Anwesenheitssteuerung.Userlist.JemandDa" not found (3) javascript.0 2018-12-31 10:22:44.294 warn at script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:417:1 javascript.0 2018-12-31 10:22:44.294 warn at initializeData (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:424:5) javascript.0 2018-12-31 10:22:44.294 warn at getDevices (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:868:20) javascript.0 2018-12-31 10:22:44.293 warn at SensorStatCalc (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:1156:24) javascript.0 2018-12-31 10:22:44.292 warn getState "javascript.0.Heizung.zwave1.isOpen" not found (3) javascript.0 2018-12-31 10:22:44.290 warn at script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:417:1 javascript.0 2018-12-31 10:22:44.290 warn at initializeData (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:424:5) javascript.0 2018-12-31 10:22:44.290 warn at getDevices (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:844:177) javascript.0 2018-12-31 10:22:44.289 warn getState "javascript.0.Heizung.zwave1.4.Fenster" not found (3) javascript.0 2018-12-31 10:22:44.288 warn Object "javascript.0.Heizung.zwave1.4.Fenster" does not exist javascript.0 2018-12-31 10:22:44.288 warn at script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:417:1 javascript.0 2018-12-31 10:22:44.288 warn at initializeData (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:424:5) javascript.0 2018-12-31 10:22:44.288 warn at getDevices (script.js.STEUERUNG_Heizung.Thermostatsteuerung_2_2:844:177) javascript.0 2018-12-31 10:22:44.280 warn getState "javascript.0.Heizung.zwave1.isOpen" not found (3) javascript.0 2018-12-31 10:22:44.280 warn Object "javascript.0.Heizung.zwave1.isOpen" does not exist javascript.0 2018-12-31 10:22:40.781 warn Object "javascript.0.Heizung.zwave1.4.SET_TEMPERATURE" does not exist</anonymous></anonymous>
-
ich wollte dein neues Script v2.2 testen, leider erhalte ich eine Fehlermeldung. DIe Version 2.1 funktioniert problemlos `
Hi,wo hast du die her ?
Version 2.2 ist ja noch in Entwicklung. Allerdings hatte habe einzelne Versionen zum Testen einzelner funktionen per mail rausgeschickt.
vG Looxer