NEWS
[Vorlage] Heizungsthermostatsteuerung 2.1 - Script
-
Okay, okay - die Raumnamen in der CCU haben allerdings dort schon Umlaute. Aber davon kann der Visname ja abweichen.
Was hat es mit der Seitenleiste auf sich?
Hier sind komplett nicht existente Geräte zugewiesen. Soll das so?
-
Da musst Du manuell die Datenpunkte deines Raumthermostats einfüllen das korrekte Werte kommen. Klicke auf die "NaN" und dann die Object-ID ändern in der Widget Konfig
-
Da musst Du manuell die Datenpunkte deines Raumthermostats einfüllen das korrekte Werte kommen. Klicke auf die "NaN" und dann die Object-ID ändern in der Widget Konfig `
Okay - das ist also bewusst so wie es ist. Ich dachte man könnte mit einem cleveren Dev-Trick/Funktion die passenden Geräte auswählen.
-
Auch von mir ein zunächst mal ein herzliches Danke für die tolle Arbeit mit dem Script.
Eine simple (?) Frage:
Mein Wandthermostat HM-TC-IT-WM-W-EU wird in enum.functions (wie auch in der CCU) als "Klima" geführt. Die Heizkörperthermostate als "Heizung".
Wie kann ich das vereinheitlichen um alle im Script bei var HeizungGewerk zu berücksichtigen?
-
Moin,
die Aufteilung der Geräte aus die Gewerke findet auf der CCU statt.
Dort die Zuordnung ändern und dann den hm-rega neu starten (ggf. musst Du dann noch die enum.functions „aufräumen“, falls der rega-Adapter das nicht automatisch macht).
Gruß,
Eric
Von unterwegs getippert
-
Danke. War etwas versteckt in der CCU…
-
Schöne Sache aber irgendwie komme ich nicht klar
immer wenn ich das Script starte kommt diese meldung im LOg
! javascript.0 2018-01-09 22:09:40.129 warn at Object. (script.js.common.Heizungssteuerung:419:9)
! javascript.0 2018-01-09 22:09:40.129 warn at LoopRooms (script.js.common.Heizungssteuerung:754:5)
! javascript.0 2018-01-09 22:09:40.129 warn at setOwnState (script.js.common.Heizungssteuerung:482:5)
! javascript.0 2018-01-09 22:09:40.126 warn State "javascript.0.Heizung.Heizplan.GlobaleParameter.Source_last_Program_Run" not found
! javascript.0 2018-01-09 22:09:40.123 info script.js.common.Heizungssteuerung: Heizungsscript verarbeitung benutzt Trigger und Events
! javascript.0 2018-01-09 22:09:38.124 info script.js.common.Heizungssteuerung: registered 0 subscriptions and 0 schedules
! javascript.0 2018-01-09 22:09:38.123 info script.js.common.Heizungssteuerung: Routine GetDevices Devices initialisiert
! javascript.0 2018-01-09 22:09:38.070 info Start javascript script.js.common.Heizungssteuerung -
immer wenn ich das Script starte kommt diese meldung im LOg `
Hi,
das script kann keine Geräte einlesen. In den meisten Fällen liegt es an Raum/Gewerkezuordnung.
Dazu gab es ja einige posts hier im Thread -ein wenig weiter oben-
(Einstellung im Script, Einstellung in der CCU, Check die Aufzählungen in ioBroker etc)
Schau dir das mal an.
Ich kenne allerdings auch deine Einstellungen nicht. Könnte ja sein, dass du NICHT-HM Geräte verwendest, In dem Fall müssen aber trotzdem die Räume in den Aufzählungen vorhanden sein.
vG Looxer
-
Hallo zusammen!
Ich wollte mich zurückmelden und erstmal ein Lob aussprechen:
Danke loxxer! Tolles Script und alles funktioniert wie es soll.
Einen Zusammenhang verstehe ich allerdings noch nicht:
Ich habe im EG einen Raum aus Homematic Wandthermostat und 2 Heizungsaktoren.
Was wird im Vis "Heizung_Wohnzimmer" jetzt angesteuert?
Die Geräte haben eine Direktverknüpfung via HM, aber was steuert das Script an, wenn ich Temperaturen verändere?
-
ch habe im EG einen Raum aus Homematic Wandthermostat und 2 Heizungsaktoren.
Was wird im Vis "Heizung_Wohnzimmer" jetzt angesteuert?
Die Geräte haben eine Direktverknüpfung via HM, aber was steuert das Script an, wenn ich Temperaturen verändere? `
Hi,
kommt auf deine Einstellungen an. Es gibt eine Spalte bei der Thermostat Tabelle. Direktverknuepft true/false
Wenn auf True, dann sucht das Script die Wandthermostate. Wenn es keines findet, dann nimmt es die Heizkörperthermostate.
Wenn nicht-direktverknuepft, dann synchronisiert das Script alle Thermostate. (Simulation der Gruppenfunktion)
also in Short,
-
Wenn DV, dann wird nur ein Thermostat eines Raumes angesteuert
-
Wenn nicht DV, dann werden alle Geräte eines Raumes synchronisiert (Gruppenfunktion Simulation)
vG Looxer
-
-
Es gibt eine Spalte bei der Thermostat Tabelle. `
Wo das? In den Objekten?Die Frage resultiert daraus, dass ich ständig eine manuell gesetzte Temperatur im Wohnzimmer habe, die ich mir nicht erklären kann:
Heizprogramm in der CCU2 steht durchgehend auf 17°C
-
Wo das? In den Objekten? `
Nein, im Script in der Thermostattype-Tab im Bereich der Einstellungen.
Dort sind alle Geräte gelistet. Check das bitte mal was zu deinen Thermostaten passt ?
Welche hast du ?
vG Looxer
-
Im Wohnzimmer habe ich HM-TC-IT-WM-W-EU an der Wand und HM-CC-RT-DN an den Heizkörpern.
Script sagt:
! var ThermostatTypeTab = [];
! // 0.RPC-Pfad 1.GeraeteType 2. Beschreibung, 3. Type 4.DP-SollTemp 5.nicht verwendet ID 6.DP MANU/AUTO Schaltung 7.Steuerung DV 8. IstTemp 9-Check-MANU-Mode 10-Ventilstellung wenn nicht Heizperiode 11. Delay nach Verschluss zu
! ThermostatTypeTab[0] = ['hm-rpc.0.', 'HM-TC-IT-WM-W-EU', 'Wandthermostat (neu)' ,'WT', '2.SET_TEMPERATURE' , false, '2.MANU_MODE', true, '1.TEMPERATURE', '2.CONTROL_MODE', 12, 0];
! ThermostatTypeTab[1] = ['hm-rpc.0.', 'HM-CC-TC' , 'Wandthermostat (alt)' ,'WT', '2.SETPOINT' , false, false, false, '1.TEMPERATURE', false, 12, 0];
! ThermostatTypeTab[2] = ['hm-rpc.0.', 'HM-CC-RT-DN' , 'Heizkoerperthermostat(neu)' ,'HT', '4.SET_TEMPERATURE' , false, '4.MANU_MODE', true, '4.ACTUAL_TEMPERATURE', '4.CONTROL_MODE', 12, 0];
! ThermostatTypeTab[3] = ['hm-rpc.1.', 'HmIP-eTRV' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
! ThermostatTypeTab[4] = ['hm-rpc.1.', 'HmIP-eTRV-2' , 'Heizkoerperthermostat(HMIP)','IPHT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
! ThermostatTypeTab[5] = ['hm-rpc.1.', 'HmIP-WTH' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
! ThermostatTypeTab[6] = ['hm-rpc.1.', 'HmIP-WTH-2' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', false, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
! ThermostatTypeTab[7] = ['hm-rpc.1.', 'HmIP-STH' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];
! ThermostatTypeTab[8] = ['hm-rpc.1.', 'HmIP-STHD' , 'Wandthermostat(HMIP)' ,'IPWT', '1.SET_POINT_TEMPERATURE', false, '1.CONTROL_MODE', true, '1.ACTUAL_TEMPERATURE', '1.CONTROL_MODE', 12, 0];Sollte also (eigentlich) passen. Ich weiß nur nicht woher die Temperatur kommt
-
Im Wohnzimmer habe ich HM-TC-IT-WM-W-EU an der Wand und HM-CC-RT-DN an den Heizkörpern. `
kannst du bitte mal im Script debug = true setzen , das script laufen lassen und das Ergebnis posten ?
vG Looxer
-
bitte sende das Log auf jeden Fall.
ABER
mir ist noch was aufgefallen. 17 Grad ist die minimaltemp und die Parameter stehen auf Abwesend.
Absenkung Abwesenheit steht auf 3 Grad. Vielleicht gibt es noch ein Problem mit der Minimaltemperatur.
Nachdem du das Log gezogen hast teste bitte nochmal eine geringere Absenkung.
Könnte sein, dass die Minimaltemp hier als manuelle temp einschlägt - wäre ein Bug.
vG Looxer
-
Hi ,
danke erstmal für die zweite Version des Skriptes.
Bei mir verhält es sich auch so, ich hab sporadisch die Situation das bei einzelnen Räumen die Solltemperatur nicht wie im Zeitplan gesetzt ,gesetzt wird.
Auch bei mir steht es einfach mal auf 17 Grad, siehe Bild.
Selbes verhalten hatte ich aber auch beim Skript version 1
Wäre es möglich, das die Felder in der Tabelle vom Zeitplan im Skript vertauscht wurden und sich die Werte aus der falschen Tabelle holt bzw vom falschen Raum ?
bei mir handelt es sich um NonHM Thermostate (Max e-Q3)
Gruß
Maik
-
Hi,
Selbes verhalten hatte ich aber auch beim Skript version 1 `
na ja, schon ein wenig anders.Deine SollTemperatur für den Mittwoch 20:00 Slot ist als 17 Grad geplant. Möglicherweise liest du die Spalten falsch.
Bis 20:00 = 17 Grad - so ist es zu lesen
ich sehe auch, dass du für die Absenkungen Minuswerte angegeben hast. Das heisst aber, dass du eine TempAnhebung definiert hast.
(hat aber nichts mit den Manuellen Temps zu tun)
Auch bei dir würde ich gerne sehen was die Logs zeigen, wenn du IM Script auf debug = true gestellt hast.
vG Looxer
-
Hi looxer01,
Bekomme folgende Meldung ins Log (die unteren 3 Warn-Zeilen):
Code: Alles auswählen
….
14:16:18.971 [warn] javascript.0 at SetEventGlobalParameter (script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02:1654:9)
14:16:18.971 [warn] javascript.0 at LoopRooms (script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02:755:5)
14:16:18.971 [warn] javascript.0 at Object. (script.js.Aktiv.Heizung.Heizungssteuerung_2_0b02:419:9)
….
Scheint was mit den globalen Events nicht zu passen.
komme erst jetzt dazu, dem mal nachzugehen … und DU hattest recht.Ich hatte bei einem Even (Urlaub_Abwesend) ein Leerzeichen hinten dran ... und das passte natürlich nicht.
Jetzt rennt es ohne WARNs.
Gruß,
Eric
-
Hi,
das script kann keine Geräte einlesen. In den meisten Fällen liegt es an Raum/Gewerkezuordnung.
Dazu gab es ja einige posts hier im Thread -ein wenig weiter oben-
(Einstellung im Script, Einstellung in der CCU, Check die Aufzählungen in ioBroker etc)
Schau dir das mal an.
Ich kenne allerdings auch deine Einstellungen nicht. Könnte ja sein, dass du NICHT-HM Geräte verwendest, In dem Fall müssen aber trotzdem die Räume in den Aufzählungen vorhanden sein.
vG Looxer `
Verwende Hauptsächlich Homematic geräte bzw bis jetzt einen HK-Thermostat ein Wandthermostat und einen optischen Fensterkontakt und würde versuchen wenn es denn dann läuft xiaomi fenster sensoren zu intergrieren Thermostate werden es auch noch ein paar mehr werden war halt erstmal zum testen
Jetzt bin ich schon ein bissel weiter
! javascript.0 2018-01-10 20:11:39.037 warn at Object. (script.js.common.Heizungssteuerung:419:9)
! javascript.0 2018-01-10 20:11:39.037 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-10 20:11:39.037 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-10 20:11:39.037 warn at ManAdjustments (script.js.common.Heizungssteuerung:1037:65)
! javascript.0 2018-01-10 20:11:39.037 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1535:19)
! javascript.0 2018-01-10 20:11:39.037 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-10 20:11:39.037 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-10 20:11:39.036 warn at Object. (script.js.common.Heizungssteuerung:419:9)
! javascript.0 2018-01-10 20:11:39.036 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-10 20:11:39.036 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-10 20:11:39.036 warn at ManAdjustments (script.js.common.Heizungssteuerung:1037:65)
! javascript.0 2018-01-10 20:11:39.036 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
! javascript.0 2018-01-10 20:11:39.036 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-10 20:11:39.036 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-10 20:11:39.036 warn at Object. (script.js.common.Heizungssteuerung:419:9)
! javascript.0 2018-01-10 20:11:39.035 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-10 20:11:39.035 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-10 20:11:39.035 warn at ManAdjustments (script.js.common.Heizungssteuerung:1036:65)
! javascript.0 2018-01-10 20:11:39.035 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1535:19)
! javascript.0 2018-01-10 20:11:39.035 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-10 20:11:39.035 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-10 20:11:39.034 warn at Object. (script.js.common.Heizungssteuerung:419:9)
! javascript.0 2018-01-10 20:11:39.034 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-10 20:11:39.034 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-10 20:11:39.034 warn at ManAdjustments (script.js.common.Heizungssteuerung:1036:65)
! javascript.0 2018-01-10 20:11:39.034 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
! javascript.0 2018-01-10 20:11:39.034 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-10 20:11:39.034 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-10 20:11:39.033 warn at Object. (script.js.common.Heizungssteuerung:419:9)
! javascript.0 2018-01-10 20:11:39.033 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-10 20:11:39.033 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-10 20:11:39.033 warn at ManAdjustments (script.js.common.Heizungssteuerung:1035:68)
! javascript.0 2018-01-10 20:11:39.033 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
! javascript.0 2018-01-10 20:11:39.033 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-10 20:11:39.033 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-10 20:11:39.031 warn at Object. (script.js.common.Heizungssteuerung:419:9)
! javascript.0 2018-01-10 20:11:39.031 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-10 20:11:39.031 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-10 20:11:39.031 warn at ManAdjustments (script.js.common.Heizungssteuerung:1034:68)
! javascript.0 2018-01-10 20:11:39.031 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
! javascript.0 2018-01-10 20:11:39.031 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-10 20:11:39.028 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-10 20:11:39.023 info script.js.common.Heizungssteuerung: Heizungsscript verarbeitung benutzt Trigger und Events
! javascript.0 2018-01-10 20:11:37.022 info script.js.common.Heizungssteuerung: registered 2 subscriptions and 0 schedules
! javascript.0 2018-01-10 20:11:37.022 info script.js.common.Heizungssteuerung: Routine GetDevices Devices initialisiert
! javascript.0 2018-01-10 20:11:37.018 info script.js.common.Heizungssteuerung: Routine GetDevices fuer HM Sensoren Wohnzimmer_Heizun - Wohnzimmer_Heizun,hm-rpc.0.MEQ0951131.1.STATE,HM-Sec-SCo,Fensterkontakt Zimmer:1.STATE,hm-rpc.0.MEQ0951131,
! javascript.0 2018-01-10 20:11:37.009 info script.js.common.Heizungssteuerung: Routine GetDevices fuer HM Thermostate Wohnzimmer_Heizun - hm-rpc.0.,HM-CC-RT-DN,Heizkoerperthermostat(neu),HT,4.SET_TEMPERATURE,false,4.MANU_MODE,true,4.ACTUAL_T
! javascript.0 2018-01-10 20:11:36.949 info Start javascript script.js.common.Heizungssteuerung!
-
Hi,
Deine SollTemperatur für den Mittwoch 20:00 Slot ist als 17 Grad geplant. Möglicherweise liest du die Spalten falsch.
Bis 20:00 = 17 Grad - so ist es zu lesen
vG Looxer `
ja du hast recht, die falsche Spalte hab ich gelesen.
Jedoch hab ich rausgefunden das ich bei meinen Räumen 2 habe, wo die Soll temperatur gleich gesetzt wird.
Debug hab ich eingeschalten. Brauchst du die daten direkt nach dem lauf vom Skript oder besser wenn der Fehler sichtbar ist.
Bei mir ist das Problem bei den Räumen "Esszimmer und Schlafzimmer"
! NoneHMTab[0] = ['Schlafzimmer', 'maxcube.0.devices', 'thermostat_145c94', 'setpoint', 12];
! NoneHMTab[1] = ['Buero', 'maxcube.0.devices', 'thermostat_120729', 'setpoint', 12];
! NoneHMTab[2] = ['KinderWZ', 'maxcube.0.devices', 'thermostat_0b71b6', 'setpoint', 12];
! NoneHMTab[3] = ['Selina', 'maxcube.0.devices', 'thermostat_19c977', 'setpoint', 12];
! NoneHMTab[4] = ['Jungs', 'maxcube.0.devices', 'thermostat_19c1c9', 'setpoint', 12];
! NoneHMTab[5] = ['Bad', 'maxcube.0.devices', 'thermostat_1459a4', 'setpoint', 12];
! NoneHMTab[6] = ['Wohnzimmer', 'maxcube.0.devices', 'thermostat_192204', 'setpoint', 12];
! NoneHMTab[7] = ['Esszimmer', 'maxcube.0.devices', 'thermostat_1921b9', 'setpoint', 12];
! NoneHMTab[8] = ['Eingang', 'maxcube.0.devices', 'thermostat_1a2d0e', 'setpoint', 12];
! NoneHMTab[9] = ['GaesteWC', 'maxcube.0.devices', 'thermostat_145c80', 'setpoint', 12];
! NoneHMTab[10] = ['initial', 'javascript.0.Heizung', 'zwave1', '4.SET_TEMPERATURE', 12];
! NoneHMTab[11] = ['initial', 'ZWAVE.0', 'zwa0183xxx', '4.SET_TEMPERATURE', 12];
! NoneHMTab[12] = ['initial', 'ZWAVE.0', 'zwa0183xxx', '4.SET_TEMPERATURE', 12];