NEWS
[Vorlage] Heizungsthermostatsteuerung 2.1 - Script
-
habe immer noch eine ganze Menge Fehler
! javascript.0 2018-01-11 17:03:29.398 info script.js.common.Heizungssteuerung: Heizungsscript verarbeitung Trigger für Raum Wohnzimmer durchgelaufen
! javascript.0 2018-01-11 17:03:29.392 warn at Object. (script.js.common.Heizungssteuerung:468:9)
! javascript.0 2018-01-11 17:03:29.392 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-11 17:03:29.391 warn at LoopDevices (script.js.common.Heizungssteuerung:865:13)
! javascript.0 2018-01-11 17:03:29.391 warn at ExecuteTempDetermination (script.js.common.Heizungssteuerung:1386:25)
! javascript.0 2018-01-11 17:03:29.391 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
! javascript.0 2018-01-11 17:03:29.391 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-11 17:03:29.391 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-11 17:03:29.389 warn at Object. (script.js.common.Heizungssteuerung:468:9)
! javascript.0 2018-01-11 17:03:29.389 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-11 17:03:29.388 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-11 17:03:29.388 warn at ManAdjustments (script.js.common.Heizungssteuerung:1037:65)
! javascript.0 2018-01-11 17:03:29.388 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1535:19)
! javascript.0 2018-01-11 17:03:29.388 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-11 17:03:29.388 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-11 17:03:29.387 warn at Object. (script.js.common.Heizungssteuerung:468:9)
! javascript.0 2018-01-11 17:03:29.387 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-11 17:03:29.387 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-11 17:03:29.387 warn at ManAdjustments (script.js.common.Heizungssteuerung:1037:65)
! javascript.0 2018-01-11 17:03:29.387 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
! javascript.0 2018-01-11 17:03:29.387 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-11 17:03:29.386 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-11 17:03:29.386 warn at Object. (script.js.common.Heizungssteuerung:468:9)
! javascript.0 2018-01-11 17:03:29.386 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-11 17:03:29.386 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-11 17:03:29.386 warn at ManAdjustments (script.js.common.Heizungssteuerung:1036:65)
! javascript.0 2018-01-11 17:03:29.385 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1535:19)
! javascript.0 2018-01-11 17:03:29.385 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-11 17:03:29.385 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-11 17:03:29.384 warn at Object. (script.js.common.Heizungssteuerung:468:9)
! javascript.0 2018-01-11 17:03:29.384 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-11 17:03:29.384 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-11 17:03:29.383 warn at ManAdjustments (script.js.common.Heizungssteuerung:1036:65)
! javascript.0 2018-01-11 17:03:29.383 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
! javascript.0 2018-01-11 17:03:29.383 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-11 17:03:29.383 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-11 17:03:29.382 warn at Object. (script.js.common.Heizungssteuerung:468:9)
! javascript.0 2018-01-11 17:03:29.382 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-11 17:03:29.382 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-11 17:03:29.382 warn at ManAdjustments (script.js.common.Heizungssteuerung:1035:68)
! javascript.0 2018-01-11 17:03:29.382 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
! javascript.0 2018-01-11 17:03:29.381 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-11 17:03:29.381 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-11 17:03:29.380 warn at Object. (script.js.common.Heizungssteuerung:468:9)
! javascript.0 2018-01-11 17:03:29.380 warn at LoopRooms (script.js.common.Heizungssteuerung:763:13)
! javascript.0 2018-01-11 17:03:29.380 warn at LoopDevices (script.js.common.Heizungssteuerung:863:18)
! javascript.0 2018-01-11 17:03:29.377 warn at ManAdjustments (script.js.common.Heizungssteuerung:1034:68)
! javascript.0 2018-01-11 17:03:29.377 warn at SelectSwitchTime (script.js.common.Heizungssteuerung:1460:15)
! javascript.0 2018-01-11 17:03:29.377 warn at DetermineSchedule (script.js.common.Heizungssteuerung:1574:30)
! javascript.0 2018-01-11 17:03:29.376 warn State "feiertage.0.morgen.boolean" not found
! javascript.0 2018-01-11 17:03:12.892 info script.js.common.Heizungssteuerung: Heizungsscript verarbeitung Trigger für Raum Wohnzimmer durchgelaufenkann mir jemand helfen?
grüße swordfisch
-
Da hast Du wohl entweder in den EInstellungen vom Thermostatskript von looxer01 eingeschaltet das der "Feiertagskalender" berücksichtigt werden soll, aber hast den Adapter "feiertage" nicht installiert.
"feiertage.0.morgen.boolean" not found
Sagt genau das er einen State versucht zu lesen den es bei Dir nicht gibt. Also ENtweder Adapter installieren und konfigurieren oder im Skript das wieder ausschalten.
-
Da hast Du wohl entweder in den EInstellungen vom Thermostatskript von looxer01 eingeschaltet das der "Feiertagskalender" berücksichtigt werden soll, aber hast den Adapter "feiertage" nicht installiert.
"feiertage.0.morgen.boolean" not found
Sagt genau das er einen State versucht zu lesen den es bei Dir nicht gibt. Also ENtweder Adapter installieren und konfigurieren oder im Skript das wieder ausschalten. `
Vielen Vielen Danke hatte ich irgendwie beim Einrichten nicht geshen das der aktiviert war hab den adapter einfach installiert und nun läuft es ohne Fehlermeldungen
-
Siehe Bild Esszimmer und Schlafzimmer sind beide auf 18 Grad gegangen.
Es sieht für mich auch so aus, wie das die Initialisierung vom Esszimmer nicht vollständig ist. `
Hi,
sorry für die späte Antwort. Bin zur Zeit viel unterwegs und daher kaum mal am System.
Das Log sieht eigentlich gut aus. Allerdings passt der View nicht ganz dazu.
Und im Esszimmer hast du sogar NaN an Stellen wo es überhaupt gar nicht auftreten kann.
Daher vermute ich mal, dass irgendwas schiefgelaufen ist als du den View erstellt hast.
z.B. falsche Datenpunkte. Kannst du das mal überprüfen ?
Falls alles schief geht, dann kann ich auch gerne mal per Teamviewer reinschauen.
vG Looxer
-
Falls alles schief geht, dann kann ich auch gerne mal per Teamviewer reinschauen.
vG Looxer
Dein Hinweis war gut, ich hab mir die Räume und die Views nochmal angesehen. Ich hatte beim umbenennen in den views einen Tippfehler. Das führte zu den NaN ausgaben. Beide Räume Schlafzimmer und Esszimmer hat solch einen Fehler. Damit hat er die Profile wohl nicht gefunden und irgendwelche Werte errechnet.
So ich beobachte mal.
Danke
-
Hi,
ich habe eine Frage zur Nutzung von Profilen erhalten. Dazu möchte ich -zusätzlich zur Doku- ein paar Erklärungen abgeben.
-Was sind Profile
Profile enthalten entsprechend die geplanten Zeitabschnitte und Profilparameter. Für jeden Raum können bis zu 9 Profile angelegt werden.
Damit können unterschiedlichste Pläne und Steuerungen je Raum realisiert werden, z.B. um in den Profilen z.B. Schichtarbeit abzubilden.
Also in Fällen wo der Rhytmus unterschiedlich ist, je nach Situation.
- Erzeugung der Datenpunkte.
Es müssen also eine Reihe von Datenpunkte erzeugt werden, um die Zeitabschnitte getrennt voneinander zu verwalten. Im Script ist zunächst mal die Variable auf "Maximale Anzahl Profile" auf "1" gesetzt. Somit wird für jeden Raum auch nur ein Profil angelegt. Die meisten Daten liegen in den Profilen. Es sollten also nicht ohne Grund mehr Profile angelegt werden als gebraucht. Wenn aber ein weiteres Profil je Raum angelegt werden soll, dann empfiehlt sich die Variable "Maximale Anzahl Profile" um 1 zu erhöhen. Nach Erzeugen der Datenpunkte, was etwas Zeit benötigt, stehen diese dann zur Verfügung.
- Pflegen der Profildaten
Das Aenderun der Profildaten kann nur durch die Definition von profilbezogenen VIEWS gemacht werden. Leider kann ich in VIS nicht auf alternative Datenpunkte umschalten. Die Verwendung von Profil-1 für Raum1 braucht also einen View und die Verwendung von Profil-2 für Raum1 braucht also einen zusätzlichen View.
Hinweis:
Der View von Profil-2 Raum1 kann erzeugt werden indem der View von Profil-1 Raum1 exportiert wird und anschliessend im Editor ein Suchen/Ersetzen gemacht wird durch Suche Profil-1 und Ersetze durch Profil-2. Einbinden des neuen Views (import) in VIS - fertig
- Aktivieren von Profilen
Manuelles Aktivieren
Profile können aktiviert werden in dem manuell ein Profil in einer View auf aktiv gesetzt wird. Wenn z.B. im View von Profil-1 Raum1 das Profil-2 aktiviert wird, dann blendet sich der Zeitplan aus. Um den Zeitplan von Profil-2 Raum1 zu sehen, muss auf den anderen View gegangen werden.
Geplantes Akvitieren
Über ein ICAL event kann ein Profil zeitbezogen eingeschaltet werden. Wenn ICAL mit dem Google Kalender verbunden ist, dann kann also über den Kalender ein Profil oder können alle Profile umgeschaltet werden
Einstellung:
var UseEventG_Profil = "Global_Profil_<profilnummer>"; // Events mit denen das Profil umgeschaltet werden kann - muss in ICAL angelegt werden wenn UseEventP_Profil = true ist var UseEventR_Profil = "<raumname>_Profil_<profilnummer>"; // Events mit denen das Raumprofil umgeschaltet werden kann - muss in ICAL angelegt werden wenn UseEventsRaumProfilSelect = true ist</profilnummer></raumname></profilnummer>
Wenn also im Google Kalender Raum1_Profil_2 eingegeben wird, dann wird das Profil-2 zum angegebenen Zeitpunkt (Start des Events) aktiviert. Es wird aber nicht mehr zurückgeschaltet. Hierzu braucht es ein neues Event: z.B. Raum1_Profil_1
Ich hoffe das klärt einige Fragen.
vG
Looxer
-
Hat schon jemand Xiaomi Fenstersensoren mit dem Script geutzt?
grüße swordfisch
-
Hallo, ich versuche mich jetzt, nachdem das Skript super läuft, an einer Anwesenheitserkennung dazu habe vorab ein paar Fragen.
1: Wenn ich im VIS auf abwesend schalte, dann schalten sich bei mir alle Räume die ich im Skript habe , auf abwesend. Kann ich das auch Raumgesteuert machen?
2: Wenn ich mit der Anwesenheitserkennung soweit bin, wie kann ich den Status ins VIS übernehmen?
Danke
-
Sorry doppelt gepostet
Hallo, ich versuche mich jetzt, nachdem das Skript super läuft, an einer Anwesenheitserkennung dazu habe vorab ein paar Fragen.
1: Wenn ich im VIS auf abwesend schalte, dann schalten sich bei mir alle Räume die ich im Skript habe , auf abwesend. Kann ich das auch Raumgesteuert machen?
2: Wenn ich mit der Anwesenheitserkennung soweit bin, wie kann ich den Status ins VIS übernehmen?
Danke
-
Sorry doppelt gepostet
Hallo, ich versuche mich jetzt, nachdem das Skript super läuft, an einer Anwesenheitserkennung dazu habe vorab ein paar Fragen.
1: Wenn ich im VIS auf abwesend schalte, dann schalten sich bei mir alle Räume die ich im Skript habe , auf abwesend. Kann ich das auch Raumgesteuert machen?
2: Wenn ich mit der Anwesenheitserkennung soweit bin, wie kann ich den Status ins VIS übernehmen?
Danke `
Zu 2: Ich habe die Abwesenheitserkennung auf der CCU2. Mit einem kleinen Zusatzscript setzt ich, wenn sich der Status ändert, das Häckchen Anwesend im View.Lg
Gesendet von iPhone mit Tapatalk
-
1: Wenn ich im VIS auf abwesend schalte, dann schalten sich bei mir alle Räume die ich im Skript habe , auf abwesend. Kann ich das auch Raumgesteuert machen?
2: Wenn ich mit der Anwesenheitserkennung soweit bin, wie kann ich den Status ins VIS übernehmen? `
Hi,
zu 1. du kannst in den Profilparametern bei "Abwesenheit Absenkung" eine "0" eintragen. Damit hat die Abwesenheit keine Wirkung im Raum.
zu 2. kannst du in den Script-Einstellungen einstellen. Du brauchst halt einen Datenpunkt, der die An/Abwesenheit darstellt. Meine Empfehlung ist, dass du deine Anwesenheitserkennung zunächst mal installierst -wie auch immer du das vor hast, da es ja unterschiedlichste Wege gibt.
Solltest du TR064 (Fritzbox) nutzen, dann habe ich ein Script, ebenso für Unifi und schauaufdich hat ja dann wohl was mit der CCU. Auf jeden Fall kriegst du das hin.
vG Looxer
-
Hat schon jemand Xiaomi Fenstersensoren mit dem Script geutzt? `
Du kannst das simpel im vorhinein testen in dem du einen Datenpunkt manuell als boolean anlegst.
Den kannst du dann im Script als Sensor (NichtHM) einbinden. (natürlich für einen Raum mit einem HM-Thermostat)
Durch manuelles setzen auf true/false sollte das Thermostat entsprechend reagieren. (Absenktemp)
Wenn das gut für dich funktioniert, dann kannst du auch davon ausgehen, dass die Xiaomis funktionieren.
Natürlich vorausgesetzt, dass du die entsprechenden Datenpunkte für Xiaomi bekommst. Das hat aber nichts mit dem script zu tun.
vG Looxer
-
Hat schon jemand Xiaomi Fenstersensoren mit dem Script geutzt? `
Du kannst das simpel im vorhinein testen in dem du einen Datenpunkt manuell als boolean anlegst.
Den kannst du dann im Script als Sensor (NichtHM) einbinden. (natürlich für einen Raum mit einem HM-Thermostat)
Durch manuelles setzen auf true/false sollte das Thermostat entsprechend reagieren. (Absenktemp)
Wenn das gut für dich funktioniert, dann kannst du auch davon ausgehen, dass die Xiaomis funktionieren.
Natürlich vorausgesetzt, dass du die entsprechenden Datenpunkte für Xiaomi bekommst. Das hat aber nichts mit dem script zu tun.
vG Looxer `
Datenpunkte sind vorhanden
!
Habe irgendwie auch das Problem das in meinem View immer wieder eine manuell gesetzte Temperatur 17° erscheint wo ich mir noch nicht sicher bin wo die her kommt
!
grüße Fabian
-
Habe irgendwie auch das Problem das in meinem View immer wieder eine manuell gesetzte Temperatur 17° erscheint wo ich mir noch nicht sicher bin wo die her kommt `
Hi,ich will ja nicht ausschliessen, dass da noch ein Fehler ist. Allerdings ohne weitergehende Infos ist es schwer was zu sagen.
Es gibt Quellen dazu:
1. die Datenpunkte der Raeume/Profile die betroffen sind
das beste wäre ein download: Admin–Objekte: markieren des Raum/Profil und dann ICON download object list. als txt-Datei mir senden
2. die Logs ( im Script - debug auf true und dann das log mir senden mit dem Zeitpunkt wo es passiert. (siehst du an der Gültigkeit der manuellen temp.
Damit es nicht kalt wird kannst du die Dauer der Gültigkeit auf -1 setzen, dann werden alle manuellen temps ignoriert.
Ich gehe darüber hinaus davon aus, dass dein Thermostat auf MANU steht.
vG Looxer
-
Bei mir war das Problem das der Wandthermostat bzw nicht alle Kanäle dem Raum sowie auch der Gruppe Heizung zu geordnet waren dadurch sprach das script immer den HKT an und der WT überschrieb immer wieder die Temperaturen mit seinem Programm aus der Homematic nach der Anpassug in der Gruppen und Räume in der Homematic und im IOBroker lief es dann und meine mysteriösen 17Grad waren verschwunden.
Jetzt verusche ich noch Xiaomi Fensterkontakte zu integrieren
und bin darauf gestoßen das im Viz ja der zustand angezeigt wird dies aber mit einem fenstersensor direkt verknüpft ist wäre es nicht besser das über eine variable laufen zu lassen so das man mehrere Fenster sensoren pro raum haben könnte oder geht das jetzt auch?
grüße swordfisch
-
so das man mehrere Fenster sensoren pro raum haben könnte oder geht das jetzt auch? `
Hi,
guter Punkt. Habe ich nicht implementiert aber ich habe den aktuellen Öffnungsstatus des Raumes in einer internen Tabelle. Den bräuchte ich nur in den Rauminformationen zu speichern.
Schaue ich mir am nächsten WE an. Wenn alles gut geht, dann kann ich dann auch eine neue Version posten.
vG Looxer
-
Doch doch … das Skript sucht alle Sensoren pro Raum und Subscribed zu allen. Sobald eins auf geht senkt er ab. Also das klappt bei mir
-
Sobald eins auf geht senkt er ab `
jap, klar.aber in der View gibt es einen Fensterstatus und der bezieht sich auf genau einen Sensor.
Es können aber auch mehrere Sensoren im Spiel sein. Damit wird der Raumstatus in der View nicht richtig angezeigt.
Das könnte ich im Script relativ einfach durch einen Raumstatus lösen. –> Wenn irgendein Sensor des Raumes geöffnet - dann setze status true
vG Looxer
-
das habe ich bei mir schon mit einem blockly script gelöst aber wenn es ins script integriert wird macht es das natürlich einfacher
meine xiaomi sensoren ins script zu integrieren ist mir noch nicht gelungen
! objekt des sensors
! Zeile aus dem script
! NoneHMSenorTab[3] = ['initial', 'mihome.0.devices', 'magnet_158d0001dacff7', 'state', false, false];vlt kann mir ja wer sagen wo der fehler ist
grüße swordfisch
-
vlt kann mir ja wer sagen wo der fehler ist `
ohne Raumzuordnung geht da nichts. Da steht bei dir initial. Soll wohl "Wohnzimmer" sein.vG Looxer