NEWS
[Vorlage] Heizungsthermostatsteuerung - Script
-
sorry, ich habe vergessen zu erwähnen, dass du den Verschluss erst öffnen und dann schliessen solltest.
und nur dieser Ablauf ist für die logs relevant.
oder hast du das gemacht und die Routine wird gar nicht angesteuert ? dann würde was mit der subsription nicht stimmen.
vG Looxer
-
Hallo Looxer,
ich habe es genau so gemacht.
Das Skript geändert und bei geschlossenem Sensor gestartet.
Anschließend den Sensor einmal geöffnet und dann wieder geschlossen.
In dieser Reihenfolge sind auch die Auszüge des Logs in meinem vorherigen Post …
War das korrekt so?
Viele Grüße
PicNic
-
wenn ich das log lese, dann sehe ich, dass das log von 11:05:00 hist - also genau zur Laufzeit des schedules.
Wenn du das Fenster öffnest fällt das normalerweise nicht gleichzeitig mit dem schedule zusammen.
Also sagst du, dass es keinen log-Eintrag gibt von dem Zeitpunkt an dem du das Fenster öffnest und schliesst ?
vG Looxer
EDIT:
falls das so ist, dann kannst du überprüfen ob die subscription gebucht ist.
Hierzu habe ich mal dieses kleine Tool geschrieben. Es speichert die subscriptions in eine externe csv Datei.
lass es mal laufen und schaue dir das Ergebnis mit excel an. Die subscription muss für den Datenpunkt des Sensors gebucht sein.
und falls die subscriptions nicht gebucht ist, dann mache bitte folgende Anpassungen
Originalcode
on({id: SensorList[y][1]}, function(obj) { if (obj.state.ack === false) { SensorChange(obj.id); } // End ack }); // ende on id
neuer Code
on({id: SensorList[y][1]}, function(obj) { // if (obj.state.ack === false) { SensorChange(obj.id); // } // End ack }); // ende on id
-
und falls die subscriptions nicht gebucht ist, dann mache bitte folgende Anpassungen
Originalcode
on({id: SensorList[y][1]}, function(obj) { if (obj.state.ack === false) { SensorChange(obj.id); } // End ack }); // ende on id
neuer Code
on({id: SensorList[y][1]}, function(obj) { // if (obj.state.ack === false) { SensorChange(obj.id); // } // End ack }); // ende on id ```` `
das hat es offensichtlich gebracht … du hast eine PN
-
Danke für die Rückmeldung.
Es waren tatsächlich zwei Probleme mit den nicht HM-Sensoren.
Die Subscriptions wurden bei Adapterverwendung nicht gebucht
und auch das Coding für Fälle anderen Ausprägungen für offen und geschlossen als true und false fehlte noch.
Aber schön, dass es jetzt funktioniert.
Die Aenderungen wird in der nächsten Version enthalten sein.
vG Looxer
-
Hallo,
die neue ScriptVersion legt nach leichten Anpassungen die entsprechenden Datenpunkte von meinen HMIP Geräten an. Musste noch ein paar HMIP Wandthermostate hinzufügen, da es hier je nach Ausführung ,mit Display usw. verschiedene Typen gibt.
Das einzigste was bis jetzt noch nicht geht ist das automatische umschalten auf Manuell, ist jetzt kein großes Problem aber es ist insofern seltsam als das das Script im entsprechenden Datenpunkt des Gerätes (Control Mode) die 1 setzt aber das Gerät es nicht übernimmt, wenn ich es von Hand dort eingebe schaltet das Gerät sofort auf Manuell?!
Aber ansonsten sieht das schon gut aus, hab auch schon eine entsprechende Anwesenheitserkennung über dein TR064 Script eingebunden was auch sehr gut funktioniert
Vielen Dank noch mal für die tolle Arbeit Looxer
-
Aber schön, dass es jetzt funktioniert.
Die Aenderungen wird in der nächsten Version enthalten sein.
vG Looxer `
Vielen Dank
-
nach leichten Anpassungen die entsprechenden Datenpunkte von meinen HMIP Geräten an. Musste noch ein paar HMIP Wandthermostate hinzufügen, da es hier je nach Ausführung ,mit Display usw. verschiedene Typen gibt. `
Hi,
super, dass es funktioniert.
Eine Bitte: könntest du mir die Konfiguration deiner IP Geräte senden ?
Die würde ich gerne dann allgemein hinzufügen.
vielen Dank
Looxer
-
Hallo Looxer!!
Sehr, sehr schöne Arbeit! Ganz großes Lob! Habe den Beitrag erst jetzt entdeckt und werde es die nächsten Tage bei mir einrichten.
Frage:
Ich verwende zur Fensterüberwachung den HM Wired 12fach-Kontaktsensor für Schaltzustandserkennung (HMW-Sen-SC-12-DR). Gehe ich recht in der Annahme, dass es reicht, bei den
// Typen-Tabelle der Verschlusssensoren fuer Homematic Geräte
im Script einfach folgende Zeile zu ergänzen?
SensorTypeTab[6] = ['hm-rpc.2.', 'HMW-Sen-SC-12-DR' , 'Schließerkontakt HMW' , 'HMW', '1.STATE' , false, false, false];
Natürlich mit der entsprechenden hm-rpc Instanz für die Wired Produkte.
Oder muss ich das eventuell für jeden der 12 Eingänge machen?
SensorTypeTab[6] = ['hm-rpc.2.', 'HMW-Sen-SC-12-DR' , 'Schließerkontakt HMW' , 'HMW', '1.STATE' , false, false, false]; SensorTypeTab[7] = ['hm-rpc.2.', 'HMW-Sen-SC-12-DR' , 'Schließerkontakt HMW' , 'HMW', '2.STATE' , false, false, false]; SensorTypeTab[8] = ['hm-rpc.2.', 'HMW-Sen-SC-12-DR' , 'Schließerkontakt HMW' , 'HMW', '3.STATE' , false, false, false]; SensorTypeTab[9] = ['hm-rpc.2.', 'HMW-Sen-SC-12-DR' , 'Schließerkontakt HMW' , 'HMW', '4.STATE' , false, false, false]; SensorTypeTab[10] = ['hm-rpc.2.', 'HMW-Sen-SC-12-DR' , 'Schließerkontakt HMW' , 'HMW', '5.STATE' , false, false, false]; ...
Danke für die Antwort!
Gruß
Markus
-
Hi,
@RamSauer:m Script einfach folgende Zeile zu ergänzen? `
so sollte es sein. Damit werden alle Geräte eingelesen, wenn sie dem entsprechenden Gewerk zugeorndet sind.
Nur bei Nicht-HM Sensoren müssen alle Datenpunkte eingegeben werden. Bei HM wird automatisch anhand des Types eingelesen.
Eine Bitte. Wenn das so funktioniert, dann sag mir bitte Bescheid, dann nehme ich diesen Type mit auf.
Ansonsten schauen wir dann drüber damit diese Sensoren auf funktionieren. Es sollte aber auf jeden Fall funktionieren, wenn die Sensoren true and false annehmen für geschlossen/geöffnet. Ansonsten brauchts ggf noch einen Fix. Ist aber halb so wild.
vG Looxer
-
Eine Bitte. Wenn das so funktioniert, dann sag mir bitte Bescheid, dann nehme ich diesen Type mit auf.
Ansonsten schauen wir dann drüber damit diese Sensoren auf funktionieren. Es sollte aber auf jeden Fall funktionieren, wenn die Sensoren true and false annehmen für geschlossen/geöffnet. Ansonsten brauchts ggf noch einen Fix. Ist aber halb so wild.
vG Looxer `
Ich werde berichten!!!
Danke!
-
Ich hab mal wieder den Fehler, dass anscheinend irgendwelche Datentypen sich verstellen:````
javascript.0 2017-12-01 21:00:05.721 warn at Object. (script.js.working.Heizungsther_0_81_2:466:25)
javascript.0 2017-12-01 21:00:05.721 warn at ThermostatChange (script.js.working.Heizungsther_0_81_2:775:22)
javascript.0 2017-12-01 21:00:05.721 warn at ManAdjustments (script.js.working.Heizungsther_0_81_2:952:5)
javascript.0 2017-12-01 21:00:05.717 warn Wrong type of javascript.0.Heizung.Heizplan.Schlafzimmer.View_Manually_Adjusted: "number". Please fix, while deprecated and will not work in next versions.irgend eine Idee?
-
irgend eine Idee? `
Ich glaube nicht, dass sich was verstellt. vermutlich gibt es noch Räume, die nicht auf number umgestellt waren.Check das bitte mal für alle Räume. Das Object …..View_Manually_Adjusted muss für alle Räume auf number stehen.
vG Looxer
-
Ich glaube nicht, dass sich was verstellt. vermutlich gibt es noch Räume, die nicht auf number umgestellt waren.
Check das bitte mal für alle Räume. Das Object …..View_Manually_Adjusted muss für alle Räume auf number stehen. `
Ja, das wars! Ein Raum stand noch auf Logikwert. Aber wie ist es zu dieser Einstellung gekommen? Die Datenpunkte hat doch alle dein Skript angelegt… ? -
Ja, das wars! Ein Raum stand noch auf Logikwert. Aber wie ist es zu dieser Einstellung gekommen? Die Datenpunkte hat doch alle dein Skript angelegt… ? `
korrekt, allerdings hatte das Script zu einer früheren Version einen Fehler.
Wenn du also das Script mit einer frühreren Version laufen lassen hast, dann wurden dann schon ein paar Datenpunkte mit falschen Datentypen angelegt.
vG Looxer
-
Hi,
habe Dein super Script auch seit ca. 1 Woche laufen - Danke dafür.
Heute ist mir was aufgefallen (was ich aber nochmal überprüfen möchte):
Ich habe im Kalender "Urlaub_anwesend" hinterlegt - allerdings über 2 Tage (also über Mitternacht hinweg).
Die Einbindung via iCal funktioniert, aber um Mitternacht wurden wieder die normalen Abläufe und Absenkungen verwendet.
Erst als ich den Kalendereintrag gesplittet und auf die beiden Tage verteilt habe, lief es wie gewünscht.
Ich werde das heute Abend / Nacht nochmal probieren - vielleicht habe ich auch nur einen Fehler gemacht.
Gruß,
Eric
-
Ich glaube dazu gibt schon ein issue beim iCal Adapter …
-
Die Einbindung via iCal funktioniert, aber um Mitternacht wurden wieder die normalen Abläufe und Absenkungen verwendet. `
die Frage ist was bei den Events bei den ICAL Datenpunkten passiert.
Die subscriptions gehen ja darauf und checken, ob ein Event auf true oder false steht.
Protokoliere doch mal die Aenderungen auf dem ICAL Event was da über Nacht passiert.
Es wird demnächst eine überarbeitete Version geben
Allerdings gibt es an dieser Stelle keine Änderung.
vG Looxer
-
Hi,
die Frage ist was bei den Events bei den ICAL Datenpunkten passiert. `
habe jetzt mal einen neuen Kalendereintrag eingestellt (heute 15:00 Uhr bis morgen 14:00 Uhr) und die Aufzeichnung aktiviert.Bin mal gespannt, was heute um Mitternacht aufgezeichnet wird.
Gruß,
Eric
-
Hi Looxer,
habe jetzt mal ein wenig rum getestet ….
Der iCal-Adapter kann anscheinend nicht mit mehrtägigen Einträgen umgehen - ab Mitternacht ist das Event auf false, obwohl der Eintrag als solches noch angezeigt wird. Habe jetzt erst mal für jeden Tag einen sep. Eintrag gemacht, damit das Script über den Urlaub sauber läuft.
Mache später noch ein Github-Issue zum iCal auf.
Dein Script ist erst mal „raus aus der Nummer“
Das läuft bisher sehr gut und stabil - Danke für das geile Teil (inkl. View)
Gruß,
Eric
Von unterwegs getippert