NEWS
[Vorlage] Heizungsthermostatsteuerung 2.1 - Script
-
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
-
Die habe ich von Github oder ist das gar nicht die v2.2
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Die habe ich von Github oder ist das gar nicht die v2.2
Gesendet von iPhone mit Tapatalk Pro `
aaaahne, das ist nur ein Test. Ich überlege die Source Codes dort abzulegen. Das hat den Vorteil auch alte Versionen halten zu können.
Was ich da abgelegt hatte war nur zum Testen von Github. Werde ich dann mal lieber wieder löschen :lol:
vG Looxer
edit - gelöscht aus Github
-
Ahhh [emoji23]
Und ich dachte das wäre die Neue Version [emoji4]
Gruß und guten Rutsch
Gesendet von iPhone mit Tapatalk Pro
-
Ich steuere mittels eines anderes Scriptes die Anwesenheitserkennung.
Hier steuere ich auch deinen Path:
javascript.0.Heizung.Heizplan.GlobaleParameter.Anwesenheit
Ich habe folgendes in deinem Script so eingetragen:
// Integration zur Anwesenheitsermittlung - var UseAnwesenheitserkennung = true; // wenn true, dann wird die o.g. Anwesenheitsvariable genutzt - Empfehlung erst im zweiten Schritt aktivieren var StateAnwesenheitFunction = JSPath + "Anwesenheitssteuerung.Userlist.JemandDa"; // Wenn UseAnwesenheitserkennung = true, dann muss der Pfad angepasst werden
Oder muss ich hier noch den Pfad zur obigen Variablen eintragen? Diese wird doch schon genutzt?
-
Oder muss ich hier noch den Pfad zur obigen Variablen eintragen? Diese wird doch schon genutzt? `
Hi,javascript.0.Heizung.Heizplan.GlobaleParameter.Anwesenheit
dieser Datenpunkt wird vom Programm intern genutzt und sollte auch im Pfad bleiben. Sonst wird nicht getriggert.
Brauchst hier also nichts zu ändern.
var UseAnwesenheitserkennung = true; var StateAnwesenheitFunction = JSPath + "Anwesenheitssteuerung.Userlist.JemandDa"; // Wenn UseAnwesenheitserkennung = true, dann muss der Pfad angepasst werden
Dies ist der Datenpunkt, den du auch ausserhalb des Heizungspfades legen kannst. Hierauf wird eine subscription gemacht.
Dein Script sollte also diesen bzw deinen angepassten Pfad der Varialbe StateAnwesenheitFunction nutzen.
vG Looer
-
Oder muss ich hier noch den Pfad zur obigen Variablen eintragen? Diese wird doch schon genutzt? `
Hi,javascript.0.Heizung.Heizplan.GlobaleParameter.Anwesenheit
dieser Datenpunkt wird vom Programm intern genutzt und sollte auch im Pfad bleiben. Sonst wird nicht getriggert.
Brauchst hier also nichts zu ändern.
var UseAnwesenheitserkennung = true; var StateAnwesenheitFunction = JSPath + "Anwesenheitssteuerung.Userlist.JemandDa"; // Wenn UseAnwesenheitserkennung = true, dann muss der Pfad angepasst werden
Dies ist der Datenpunkt, den du auch ausserhalb des Heizungspfades legen kannst. Hierauf wird eine subscription gemacht.
Dein Script sollte also diesen bzw deinen angepassten Pfad der Varialbe StateAnwesenheitFunction nutzen.
vG Looer `
Das heißt ich müsste einen Datenpunkt erstellen, den Pfad dann bei````
var StateAnwesenheitFunction = JSPath + "Anwesenheitssteuerung.Userlist.JemandDa"; // Wenn UseAnwesenheitserkennung = true, dann muss der Pfad angepasst werden -
jap, so isses
Gesendet von meinem SM-G965F mit Tapatalk
-
jap, so isses
Gesendet von meinem SM-G965F mit Tapatalk `
Hab das jetzt mal erledigt. Ich werde weiter berichten. Bislang funktioniert es
-
jap, so isses
Gesendet von meinem SM-G965F mit Tapatalk `
Hab das jetzt mal erledigt. Ich werde weiter berichten. Bislang funktioniert es `
Also die Schaltung funktioniert und der Anwesenheitsstatus wird auch abgewählt. Aber ich habe ein Problem, beim alten Script konnte man die "absenkung bei Abwesenheit" einstellen. Die Absenkung wurde dann in deinem Script von der aktuellen Solltemp abgezogen. Dies passiert so nicht mehr. Kann es sein, dass die jetzige eingestellte Abwesenheitstemp direkt an den Regler gesendet wird?
Wenn ja, kann man das wieder ändern?
-
Also die Schaltung funktioniert und der Anwesenheitsstatus wird auch abgewählt. Aber ich habe ein Problem, beim alten Script konnte man die "absenkung bei Abwesenheit" einstellen. Die Absenkung wurde dann in deinem Script von der aktuellen Solltemp abgezogen. Dies passiert so nicht mehr. Kann es sein, dass die jetzige eingestellte Abwesenheitstemp direkt an den Regler gesendet wird?
Wenn ja, kann man das wieder ändern? `
nein, das sollte so nicht sein. Das Script zieht die Absenkung von der SollTemp ab.Welche Version hast du aktuell ?
vG Looxer
-
Also die Schaltung funktioniert und der Anwesenheitsstatus wird auch abgewählt. Aber ich habe ein Problem, beim alten Script konnte man die "absenkung bei Abwesenheit" einstellen. Die Absenkung wurde dann in deinem Script von der aktuellen Solltemp abgezogen. Dies passiert so nicht mehr. Kann es sein, dass die jetzige eingestellte Abwesenheitstemp direkt an den Regler gesendet wird?
Wenn ja, kann man das wieder ändern? `
nein, das sollte so nicht sein. Das Script zieht die Absenkung von der SollTemp ab.Welche Version hast du aktuell ?
vG Looxer `
Ich habe mir schon gedacht, dass das so nicht sein kann.
Meine Version: 2.10 15.12.2018
Ich habe das heute mal simuliert, aber an den Solltemperaturen ändert sich nichts.
Hier mein aktueller View: