NEWS
[Vorlage] Heizungsthermostatsteuerung - Script
-
Hi,
ist ja klar, dass nicht alles fehlerfrei ist
es gibt ein kleines Problem bei Räumen mit blanks im Namen. Ist schon gefixt.
Ich warte aber noch bis ggf noch mehr auffällt und stelle dann eine neue Version ein.
EDIT: Ich habe Version 0.71 eingestellt. Hatte vergessen ein TestStatement herauszunehmen
Auch ist der Fix fuer Räume mit blanks im Namen enthalten
vG Looxer
-
RESPEKT!!! :shock:
Asstrein, ich hab noch das Script aus dem homematic Forum auf der CCU laufen. Das ist genau das was ich gesucht habe!!! :mrgreen: Das werde ich am WE direkt mal antesten. Danke dafür!!!
-
Sieht wirklich gut aus und hat so wie ich das sehe alle Funktionen wie das Script das auf der CCU läuft.
Habe mal versucht das für einen Raum zu testen.
Leider passiert garnichts. Es werden keine Variablen angelegt.
Habe den Debugmodus mal angeschaltet. Im Log steht dann folgendes
javascript.0 2017-04-13 15:03:23.489 info script.js.Heizung: registered 0 subscriptions and 1 schedule javascript.0 2017-04-13 15:03:23.488 info script.js.Heizung: schedule(cron=*/5 * * * *) javascript.0 2017-04-13 15:03:23.486 warn State "javascript.0.Heizung.Heizplan.GlobaleParameter.Source_last_Program_Run" not found javascript.0 2017-04-13 15:03:23.485 info script.js.Heizung: Devices initialisiert javascript.0 2017-04-13 15:03:23.392 info script.js.Heizung: getEnums(enumName=rooms) => [{"id":"enum.rooms.Wohnzimmer","members":["hm-rpc.0.LEQ0400973.4","hm-rpc.0.LEQ0400973.1","hm-rpc.0.LEQ0593850.1","hm-rpc.0.LEQ0593850.3","hm-rpc.0.LEQ0 javascript.0 2017-04-13 15:03:23.385 info Start javascript script.js.Heizung
Mehr steht im Logfile nicht. Eventuell kannst du mir sagen wo ich da suchen muss.
Gruß Norbert
-
Hi,
Welche Thermostattypen nutzt du ? (HM-IP ist noch nicht richtig konfiguriert, da ich solche Geräte nicht habe.
Wenn jemand aber IP hat, dann kann ich das noch hinzufügen (konfigurieren nur)
bitte überprüfe die folgenden Punkte:
-
es gibt zwei Gewerke in den Einstellungen. Die musst du auf jeden Fall dort hinterlegen
-
Die Geräte aus der CCU müssen dem Gewerk und Raum zugeordnet sei. Bitte in der CCU überprüfen
-
Sind die Räume in den Aufzählungen identisch zu den CCU Räumen ?
Wenn du keine manuellen Einstellungen bei den Räumen in ioBroker vorgenommen hast, kannst du alle Räume aus den Aufzählungen
löschen und den RegaAdapter neu starten. Danach ist alles 100% ig Synchron
Hier ist die Stelle wo die Thermostate rausgefiltert werden:
$('channel[state.id=*.'+ThermostatTypeTab[x][4]+'] (rooms='+roomName+') (functions='+HeizungGewerk+') ').each(function (id, i) {
Bedingung 1 = Der Thermostattype muss konfiguriert sein. Diese sind konfiguriert: HM-TC-IT-WM-W-EU, 'HM-CC-TC, HM-CC-RT-DN
Bedingung 2 = Das Gerät muss einem Raum zugeordnet sein und der Raum muss in den Aufzählungen fehlerfrei enthalten sein
Bedingung 3 = Das Gerät muss dem Gewerk zugeorndet sein, dass im Programm eingestellt wird:
Wenn alles korrekt ist, dann muss es funktionieren
vG Looxer
-
-
So Problem ist gelöst.
Die Gewerke waren auf der CCU richtig angelegt. Im ioBroker aber fehlerhaft Importiert. Hier waren falsche Namen vorhanden. Ist wohl ein alter Fehler den ich bis jetzt nicht korigiert hatte.
Nun werden erstmal alle Variablen angelegt.
Dann kann ich jetzt weiter testen.
-
Das erste Thermostat habe ich nun umgestellt und es funktioniert super.
Allgemeine Anmerkungen zum View
-
Datumsanzeigen im Deutschen Format
-
Temperatur immer mit Kommer und eine Nachkommerstelle anzeigen
Die var VerschlussAbsenkungsGrenze sollte eventuell auch im View eingestellt werden.
Die neuen Thermostate erkennen ja einen schnellen Temperaturabfall selber als Fenster offen. Wird da auch die var VerschlussAbsenkungsGrenze benutzt und wie lange ist die dann wirksam?
Bei Heizperiode aktiv = aus sollten dann die Thermostate alle auf 100% gefahren werden um dann über den Sommer die Thermostate zu schonen.
Bei jeden lauf des Scriptes wird ja immer die Function CreateStates aufgerufen um die Variablen anzulegen. Hier sollte man versuchen dieses nur ein mal zu machen. Ist bestimmt dann auch schneller.
Hast da wirklich eine Super Arbeit geleistet. Vielen Dank.
Ich teste weiter.
-
-
…freut mich, dass es soweit bei dir klappt.
Nun zu deinen Punkten:
- Datumsanzeigen im Deutschen Format
da gibt es eines - letzter Programmlauf - nehme ich mal auf
- Temperatur immer mit Kommer und eine Nachkommerstelle anzeigen
das liegt am Widget. Ich habe dieses Widget set gewählt, weil es touch bedienbar ist.
- Die var VerschlussAbsenkungsGrenze sollte eventuell auch im View eingestellt werden.
****die ist standardmaessig auf 12 Grad wie auch bei der CCU. Dies sollte über alle Thermostate und dem Script synchronsiert sein. Dann
gibt es kein Problem****
- Die neuen Thermostate erkennen ja einen schnellen Temperaturabfall selber als Fenster offen. Wird da auch die var VerschlussAbsenkungsGrenze
benutzt und wie lange ist die dann wirksam?
ich habe das nicht getestet. Sensoren sind auf jeden Fall die bessere Wahl. Wenn das Thermostat auf 12 Grad geht und nach z.B. 15 Minuten wieder auf Normaltemperatur sollte es keine Probleme geben ( die Dauer z.B. 15 kann in der CCu eingestellt werden )
- Bei Heizperiode aktiv = aus sollten dann die Thermostate alle auf 100% gefahren werden um dann über den Sommer die Thermostate zu schonen.
das kann eingestellt werden und steht auf 30 Grad . 100 geht in ioBroker nicht
- Bei jeden lauf des Scriptes wird ja immer die Function CreateStates aufgerufen um die Variablen anzulegen. Hier sollte man versuchen dieses nur ein
mal zu machen. Ist bestimmt dann auch schneller.
****das ist nicht so. Die States werden nur einmal ausgelesen und das ist bei Programmstart. Im Schedule werden die States nicht mehr gecheckt.
Darum muss auch bei neuen Thermostaten das Programm neu gestartet werden, damit es diese erkennt. Eine merkliche Performance Anforderung ist
ohne nur dann vorhanden, wenn neue States angelegt werden müssen****
vG Looxer
-
` > - Bei Heizperiode aktiv = aus sollten dann die Thermostate alle auf 100% gefahren werden um dann über den Sommer die Thermostate zu schonen.
das kann eingestellt werden und steht auf 30 Grad . 100 geht in ioBroker nicht `
Bei Heizperiode aktiv = aus muss die Ventielstellung auf 100 % gesetz werden das sollte 4.valve_state sein.
Alles ander tasten wir uns dann mal ran.
Wünsche euch ein schönes Osterfest.
Gruß Norbert
-
… Ventielstellung auf 100 % gesetz werden das sollte 4.valve_state sein. `
VALVE_STATE ist "read only" ! -
OK
muss aber gehen.
Wenn ich in der CCU Heizperiode auf false setze werden alle Thermostate auf ventilstellung 100% gefahre.
Muss mir noch mal das CCU Script ansehen was da genau passiert.
-
in der CCU können 0 und 100 gesetzt werden. In ioBoker nicht.
es gab auch mal eine Meldung dazu:
-
Hallo
habe bei mir das Feiertagsscript installiert und var UseFeiertagskalender = true; gesetzt.
feiertage.0.heute.boolean ist true
Es wird aber nicht die Einstellung für Feiertag verwendet sondern die für Freitag.
Ist das bei euch auch so?
-
Hast du evt bei feiertag,Sonntag und Samstag im view den tick “wie Vortag“ gesetzt?
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
-
Nein habe ich nicht.
-
Hi,
Feiertage wurden nicht erkannt. Fehler ist gefixt.
Wird gleich hochgeladen.
vG Looxer
-
Version 0.72 ist hochgeladen.
Fixes:
// Version 0.72 14.04.2017 - Feiertag wurde nicht korrekt erkannt
// ….......................Datumsformat für die Anzeige "letzter Programmlauf im View" wurde auf DDMMYYYY umgestellt
// ..........................Das Feiertagsflag vom Feiertagsadapter wird synchronisiert mit dem Feiertagsflag der Heizungssteuerung
//...........................Das Anwesenheitsflag von der Anwesenheitsfunktion wird synchronisiert mit dem Feiertagsflag der Heizungssteuerung
vG Looxer
-
Vielen Dank!
Jetzt klappt es Super.
-
So Problem ist gelöst.
Die Gewerke waren auf der CCU richtig angelegt. Im ioBroker aber fehlerhaft Importiert. Hier waren falsche Namen vorhanden. Ist wohl ein alter Fehler den ich bis jetzt nicht korigiert hatte.
Nun werden erstmal alle Variablen angelegt.
Dann kann ich jetzt weiter testen. `
Hallo,
wie hast du diesen Fehler korrigiert?
Bei mir steht immer dieses $-Zeichen davor. Wenn ich es lösche, kommt es nach einer Weile wieder.
Bekomme dann immer eine Fehlermeldung vom Script.
javascript.0 script.js.Haus.Heizungsthermostatsteuerung: TypeError: $(…).each is not a function at getDevices (script.js.Haus.Heizungsthermostatsteuerung:296:114) at script.js.Haus.Heizungsthermostatsteuerung:249:1
Frohe Ostern!
-
wie hast du diesen Fehler korrigiert?
Bei mir steht immer dieses $-Zeichen davor. Wenn ich es lösche, kommt es nach einer Weile wieder.
Bekomme dann immer eine Fehlermeldung vom Script. `
Hi,
hast du denn die letzte Version aus dem ersten post hochgeladen ?
Der Code nach den Einstellungen sollte nicht geändert werden.
vG Looxer
-
Hallo Superdad
ich bin wie folgt vorgegangen
-
in der CCU habe ich die Gewerke Editiert und dann mit gleichem Namen abgespeichert
-
in ioBroker dann HM-REGA einmal aktualisiert
-
danach waren die Gewerke mit dem richtiegen Namen vorhanden
-
dann die alten löschen
So hat es bei mir funktioniert.
Gruß Norbert
-