-
-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Falscher ZeitSlot wird bei Entfernen von "Gäste anwesend" in Verbindung mit "Urlaub zu Hause" und "Urlaub zu Hause wie Sonntag" gewählt #492
Comments
@daniel-finger ich habe versucht, das Problem nachzustellen, leider bisher ohne Erfolg. |
@rg-engineering Gern, ich habe eben das Loglevel des Adapters umgestellt und meine Workarounds deaktiviert. |
@rg-engineering Ich habe das Log hier als Text Anhang mit eingefügt: heatingcontrol.log Zu den Zeitpunkten: Ich hoffe das hilft etwas, um durch das Log zu finden. Wenn du mehr brauchst, oder ich was testen soll, einfach was sagen. |
@daniel-finger ich denke, ich habe das Problem gefunden, die Lösung habe ich aber noch nicht. In der Zwischenzeit könntest du folgendes machen:
Wenn das hilft, weiß ich zumindest, dass meine Vermutung bzgl. des Fehlers richtig ist... |
Alternativ könntest du auch nach einem reboot bzw. früh vor dem Setzen von "Gäste anwesend" zunächst "Urlaub zu Hause" deaktivieren und danach wieder aktivieren. |
Ja, damit umgehe ich das Problem natürlich.
Das werde ich direkt mal umbauen, das an verschiedenen Zeitpunkten dann die gleiche Temperatur gesetzt wird.
Ich habe 4 Perioden, da ich die Werktags für das Badezimmer benötige. Das soll morgens aufheizen für 2 Stunden, dann abschalten und erst wieder später 16:30 Uhr wieder einschalten. Ich versuche das gerade selbst anhand des Codes und Logs nachzuvollziehen, Es sollte ja room.State == "auto" zutreffen, jedoch auch room.HolidayPresent, was aber im Code nicht relevant ist. Sollte es dann nicht reichen, beim umstellen des DP GuestsPresent die Neuberechung zu triggern, wenn room.HolidayPresent zutrifft? Ich hab mal in der database.js den Code angepasst, der beim Umstellen des DP GuestPresent ausgeführt wird:
Wobei ich mir nicht sicher bin, ob man die Neuberechnung nicht direkt in den Block |
nicht ganz.. Der Versuch, einfach mal "HolidayPresent" auf true zu setzen, nachdem der Adapter läuft, sollte eigentlich zeigen, ob die Idee richtig ist. Ich denke, damit sollte das schon laufen. Du hast jetzt genau das auf den Trigger "GuestPresent" eingebaut. Das führt zwar ebenfalls zu einer Neuberechnung der cron jobs, ist aber keine optimale Lösung, weil man das dann an vielen anderen Stellen ebenso einbauen müsste...
Dann rechnet der Adapter ständig cron jobs und Profile aus. löscht alle und setzt sie neu ... |
…cationAtHome and PublicHoliday is active
Also beim Start wird auf jeden Fall die Funktion CreateCronJobs ausgeführt. Da wird dann auch direkt der Callback ChangeStatus aufgerufen. Möglicherweise wolltest du da mehrfache Ansteuern der Thermostate verhindern, bis die Initialisierung vollständig ist? Ich versuche mich mal auf das Arbeitszimmer zu konzentrieren... und erst danach "checking external states" mit "HolidayPresent true",
Aber die Cron-Jobs, die den currentProfile umstellen sollen, liegen auf den falschen Zeitpunkten, weil zum Zeitpunkt der Erstellung die der DP für HolidayPresent noch nicht verarbeitet wurde? Wobei das SetCurrent() genau das verhindern sollte...
Ich werde berichten, wie sich das morgen darstellt. Mir wäre da erstmal nur PartyNow noch mit eingefallen.
Ah, und das ist ja nicht bei jeder Aktion notwendig ist, sondern nur bei einer, wo die Auswahl der Profile, verändert werden könnte. Das ist ja auch schon drin, nur die Cron-Jobs liegen auf den falschen Zeiten? |
Ich sehe gerade, das du eben einen neuen Commit gemacht hast, Ich habe soeben alles bei mir auf den GIT Stand gesetzt.
Ich werde morgen berichten. Danke dir! |
Läuft einwandfrei! |
Jetzt wo du es sagst: Ich hatte in meiner "Funktioniert" Meldung nur auf die Temperatur direkt auf dem Gerät geachtet. |
@daniel-finger habe jetzt auch für diese Problem ein kleines bug fix hier im github... |
Ich habe heute auch noch mal drauf geschaut während "die Gäste anwesend" waren. Sieht alles sehr gut aus. |
dann release ich diese Version am Wochenende und wir können das Ticket hier schliessen |
* (René) see issue #492: cron jobs recalculation is necessary after reboot if VacationAtHome and PublicHoliday is active * (René) create cron job for PowerInterruption only if feature is active * (René) bug fix: with cron 3.x status log of cron jobs were wrong
Ich nutze HeatingControl mit der Einstellungen:
Ich mach also "Urlaub zu Hause", weil ich HomeOffice habe und mit dem aufstehen den Datenpunkt Gäste anwesend auf true, damit die Heizung anfängt (der reguläre Zeitpunkt wäre später). Das funktioniert auch und wird erkannt. Später (also wenn die Heizung regulär an sein sollte aufgrund von "Urlaub zu Hause") setze ich den Datenpunkt Gäste anwesend wieder zurück. Dabei wird die Heizung aber auf den falschen Datenpunkt zurückgestellt. Starte ich den Adapter neu, ist wieder alles korrekt.
Die Einstellungen für Sonntag und Montag sehen so aus:
und die Einstellungen für den Raum:
Nach dem Neustart wird das folgende angezeigt:
Das StatusLog des Raums zeigt (die Zeilen mit -- beginnend hab ich eingebaut, damit man weiß was da passiert):
Wenn ich zusätzlich was ausprobieren oder weitere Logs liefern soll, einfach Bescheid geben.
The text was updated successfully, but these errors were encountered: