NEWS
[Vorlage] Aufheiz-Zeiterfassung und Voraussteuerung für Heizungen
-
Du kannst den Stellantrieb doch genauso dort anlegen?Warum fehlen dann States? Verstehe ich gerade nicht
-
Hi,
ich habe das Problem, dass bei mir nur Werte erfasst werden, wenn diese über den Wandthermostat (Homematic HM-TC-IT-WM-W-EU) kommen. Bei Heizungen die aktuell nur über den Heizungsthermostat (Homematic HM-CC-RT-DN) verfügen, werden keine Daten der Aufheiz-Zeiterfassung erfasst (siehe Screenshots). Thermostate waren zum testen schon zu 100% geöffnet, im Script war 80% Öffnung als Wert Heizen eingestellt.
Im Script sieht es so aus (Badezimmer mit Wandthermostat, Wohnzimmer ohne)
Im Script
'Wohnzimmer': { stateIdHeizungStatus: "hm-rpc.2.**********.4.VALVE_STATE", // Status des Heizungsaktors zur Erkennung wann geheizt wird und wann nicht heizungStatusIstAktor: false, // Status-State ist Aktor (=true) oder Stellventil (=false) stateIdIstTemperatur: "hm-rpc.2.**********.4.ACTUAL_TEMPERATURE" // Ist-Temperatur }, 'Badezimmer': { stateIdHeizungStatus: "hm-rpc.2.**********.4.VALVE_STATE", // Status des Heizungsaktors zur Erkennung wann geheizt wird und wann nicht heizungStatusIstAktor: false, // Status-State ist Aktor (=true) oder Stellventil (=false) stateIdIstTemperatur: "hm-rpc.2.**********.2.ACTUAL_TEMPERATURE" // Ist-Temperatur },
Was mache ich falsch?
4249_java-wohnzimmer.png
4249_java-badezimmer.png
4249_adapter-wohnzimmer.png
4249_adapter-badezimmer.png -
Die angegebenen Datenpunkte stimmen? Es kommen da auch Werte von den Geräten rein und damit an?
Im Skript gibts ein "debug = true/false". Mach mal auf true .. dann wird geloggt was er so tut.
-
Die angegebenen Datenpunkte stimmen? Es kommen da auch Werte von den Geräten rein und damit an?
Im Skript gibts ein "debug = true/false". Mach mal auf true .. dann wird geloggt was er so tut. `
Guten Morgen,
danke für Deine schnelle Antwort. Wie gesagt, es betrifft Heizungen ohne Wandthermostat, die mit Wandthermostaten funktionieren im Script
Also laut Log, werden die Datenpunkte richtig erkannt. Die Ventilstellungen der beiden Heizkörpern aus dem Beispiel werden richtig erfasst.
07:14:06.508 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Raum Kueche initialisiert, status=false 07:14:06.508 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Raum ****** initialisiert, status=false 07:14:06.508 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Raum Schlafzimmer initialisiert, status=false 07:14:06.508 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Raum ****** initialisiert, status=false 07:14:06.508 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Raum Wohnzimmer initialisiert, status=false 07:14:06.508 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: registered 6 subscriptions and 0 schedules 07:16:52.084 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Änderung Status Aktor FBH Wohnzimmer: 0--> 90 (ack=true, from=system.adapter.hm-rpc.2) status bisher=false 07:16:52.085 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Wohnzimmer timeDiff=0 07:21:55.562 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Änderung Status Aktor FBH Wohnzimmer: 90--> 90 (ack=true, from=system.adapter.hm-rpc.2) status bisher=true 07:26:46.969 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Änderung Status Aktor FBH Badezimmer: 0--> 85 (ack=true, from=system.adapter.hm-rpc.2) status bisher=false 07:26:46.969 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Badezimmer timeDiff=0 07:27:05.568 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Änderung Status Aktor FBH Wohnzimmer: 90--> 0 (ack=true, from=system.adapter.hm-rpc.2) status bisher=true 07:29:28.239 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Änderung Status Aktor FBH Badezimmer: 85--> 85 (ack=true, from=system.adapter.hm-rpc.2) status bisher=true 07:34:07.472 [info] javascript.0 script.js.Heizungen.Heizautomation.Aufheizmessung: Änderung Status Aktor FBH Badezimmer: 85--> 0 (ack=true, from=system.adapter.hm-rpc.2) status bisher=true
Die Punkte decken sich auch mit den Charts die ich aufzeichne
4249_heizung-badezimmer.png
4249_heizung-wohnzimmer.png -
Du hast nen Bug gefunden erstmal …
in der Funktion "initialize" bitte aus
if (! rooms[room].ventilOeffnungHeizen) rooms[room].ventilOeffnungHeizen = minIncrease1K;
das heir machen:
if (! rooms[room].ventilOeffnungHeizen) rooms[room].ventilOeffnungHeizen = ventilOeffnungHeizen;
Weiterhin agiert das Skript frühestens nach 30 Minuten ventil geöffnet, weil jede Zeit darunter keine klare aussage zu einer aufheizzeit eines Raumen möglich macht (meiner Meinung nach).
-
Du hast nen Bug gefunden erstmal …
Weiterhin agiert das Skript frühestens nach 30 Minuten ventil geöffnet, weil jede Zeit darunter keine klare aussage zu einer aufheizzeit eines Raumen möglich macht (meiner Meinung nach). `
Habe den Code ausgetauscht. Ich werde berichten. Wir sind jetzt übers Wochenende weg, lasse die Heizungen zum Testen aber normal laufen.
hmm, ich habe mir gerade mal die Floats angesehen der Heizkörper. Die sind selten 30 min mehr als 80% geöffnet. In manchen Räumen, wo es keine Werte gibt, tatsächlich oft nur um die 15 min. Kann ich diese Zeit im Script ändern? Dass das Script auch nach 15 min schon Werte ausgibt. Denn so sind unsere Heizzyklen. Zumindest aktuell, da es noch wärmer ist und es erst richtig kalt wird, da werden die Thermostate sicherlich auch länger öffnen.
Ich denke das geht über diese Variable?````
var minIncrease1K = 30;Danke für Deine Hilfe
-
ne weiter unten ist ein if (timeDiff > 30) … da die 30 runtersetzen
-
ne weiter unten ist ein if (timeDiff > 30) … da die 30 runtersetzen `
Gefunden, danke Dir. Ich werde bereichten am Sonntag.
Schönes Wochenende
-
ne weiter unten ist ein if (timeDiff > 30) … da die 30 runtersetzen `
Gefunden, danke Dir. Ich werde bereichten am Sonntag.
Schönes Wochenende `
Leider hat sich nichts verändert. In die Dateien werden weiterhin nur die Werte geschrieben, die von den Heizungen mit den Wandthermostaten kommen. Ich habe den Wert if (timeDiff > 30) mittlerweile auf if (timeDiff > 10) gesetzt. Trotzdem nichts.
-
Dann hab ich auch gerade keine Idee. Baue in die on-Funktionen Logging ein das Du siehst was passiert und was er so tut (und warum nicht). Ich habe leider keine thermostate also kann ich das nur blind ansehen. Sorry