NEWS
seltsame Aktionen mit Zeiten und Uhrzeiten
-
Hallo nach draußen...
ich habe in Blockly zum Beispiel vorgegeben, dass um 7:30 Uhr eine Whatsapp geschickt werden soll. Die kommen um 2-Uhr-dings morgens an. Eine andere soll um 19:30 Uhr versendet werden - die passt auch immer.
Meine Blocklysteuerung für die Beleuchtung im Flur schaltet auch manchmal einfach etwas anderes, nicht andauernd. Da hängen zwei HUE-Bewegungsmelder dran, die ich eh nicht prickelnd finde. Aber wenn dann plötzlich etwas anderes eingestellt wird das zu einer anderen Uhrzeit passt ist das komisch.
Diverse Fenster offen der Zähler in Minuten passt. Gelegentlich kommt da aber ein "9 Minuten" statt 20 oder 30 als Ansage...Was kann mir bitte die Uhrzeiten so durcheinander werfen, wenn andere funktionieren? Kennt das jemand? Wenn das nicht als so peinlich wäre...
Grüßle,
Ralph -
@r-frase
Ohne dass Du etwas zeigst wird Hilfe schwierig.
Zeig doch mal das/die Blockly-Script(e). -
eieiei... die Zeit verfliegt
okay, ich stelle hier mal einiges zusammen. Ich würde mich schon freuen, wenn mir jemand ne Idee hätte die mir das Problem löst, ohne, dass ich mich vom Bildschirm verabschieden müsste
Zunächst lasse ich mich morgens begrüßen. Einfach weil es (eigentlich) geht. Blöd ist nur, dass ich 07:30 eingestellt habe, die Benachrichtigung um 2:01 Uhr pünktlichst am Handy eintrifft. jeden Tag exakt.
Die Steuerung vom Objekt "Arbeitstag" hat nur mit dem Thema Anwesenheit zu tun. Da möchte ich später noch etwas anderes steuern (zum Beispiel die Kaffeemaschine???)
Meine Benachrichtigung zum aktuell günstigsten Spritpreis dagegen kommt genau rechtzeitig um 19 Uhr:
Wo ich echt genervt bin ist die Lichtsteuerung im Flur. Die spinnt vollkommen:
Ich habe zwei Philips Hue Bewegungsmelder (und hoffe auf die neuen Anwesenheitssensoren FP2 von Xiaomi) weil der Hausflur eine L-Form hat. Über den Tag soll das Licht mit unterschiedlichen Werten geschalten werden. Zunächst als Gruppe, abends nur die Leuchte direkt bei der Toilette. Soweit klappt das oft. Aber urplötzlich geht das Licht voll an, dimmt herunter, geht aus, schaltet wieder ein und nicht einmal der Kater läuft da gerade durch.
Schaltet man das Licht per Sprachbefehl aus passiert es oft, dass das Licht einfach wieder an geht, auch wenn niemand mehr im Flur ist. Dann kommt der nächste Sprachbefehl... das Licht geht aus und kurz danach wieder an.Weil es zwei Sensoren sind habe ich das auch mit einem einzelnen Objekt versucht zu lösen, da ja entweder der eine Bewegungsmelder, oder der andere auslösen soll. Ich habe auch schon "wurde aktualisiert " und "wurde geändert" versucht... bei beidem habe ich das gleiche Problem. Eben habe ich nochmal auf "wurde geändert" umgestellt.
Ich weiß, dass die Bewegungsmelder länger scharf sind. Irgendwas um die drei Minuten ist das so. Abe rauch ohne Sprachbefehl unter dem magischen Zeitfenster sollte das Licht einfach ausgehen und auch nicht von alleine an.
Ein weiteres Phänomen ist meine Fensterkontrolle.
Wird ein Fenster geöffnet kommt nach entsprechenden einstellbaren Intervallen ein Hinweistext, dass das Fenster bereits seit x Minuten geöffnet ist.
Im Beispiel Wohnzimmer passt es genau. Beim Schlafzimmer kommt nur "... lüftet seit 9 Minuten" Die Bausteine sind exakt gleich. Bei einem Kinderzimmer ist das ebenfalls abweichend, alle anderen Räume werden wie es richtig abgespult.
Bei den jeweiligen Steuerungen sind alle Variablen dem richtigen Zimmer zugeordnet.Entsprechend habe ich in Summe das Problem, dass ich nicht kapiere warum bei einem gleichen Trigger die Uhrzeit, oder der Zeitraum nicht stimmen, wenn es bei einem anderen passt. Bin ich damit alleine?
Bis auf die Spritpreisinfo (reine Faulheit) sind alle Adapter aktuell.
Plattform: linux
Betriebssystem: linux
Architektur: arm
CPUs: 4
Geschwindigkeit: 1500 MHz
Modell: ARMv7 Processor rev 3 (v7l)
RAM: 1.8 GB
System-Betriebszeit: 11:14:29
Node.js: v16.19.0
time: 1678018492930
timeOffset: -60
Adapter-Anzahl: 470
NPM: 8.19.3
Datenträgergröße: 29.0 GB
Freier Festplattenspeicher: 19.7 GB
Betriebszeit: 11:14:16
Aktive Instanzen: 33
Pfad: /opt/iobroker/
aktiv: -
@r-frase
Ei ei ei - jetzt hast Du aber das ganz große Besteck ausgepackt.Fangen wir doch mal klein an:
1.) Warum verwendest Du nicht einen einfachen Zeitplan?
2.) Bool'sche Werte musst Du nicht nochmal auf "wahr" prüfen.
Wenn der DP bereits ein Bool ist, reicht das so:
3.) Zu Deinem Problem im Flur: Üblicherweise geht man hin und löscht einen bestimmten Timeout unmittelbar bevor er neu gestartet wird. Meist soll es ja wie folgt laufen:
Eine Bewegung wird erkannt - das Licht wird eingeschaltet. Erfolgt keine weitere Bewegung, soll das Licht über einen Timeout nach x Minuten wieder ausgeschaltet werden.
Jetzt kommt es ja vor, dass kurz vor Ablauf der Zeit erneut eine Bewegung erkannt wird. Also muss der Timeout erneut komplett gestartet werden ... das Licht soll ja jetzt nicht nach wenigen Sekunden ausgehen, nur weil der vor x Minuten gestartete Timeout gerade abläuft.
Prinzipiell also so:
Und noch ein Tipp: Verwende in Variablen (also auch für die Timeouts) keine Umlaute. Das kann funktionieren, muss aber nicht. Beim Programmieren sollte man sowas also grundsätzlich vermeiden.