NEWS
[gelöst] Astrofunktion lastet System aus
-
Hallo,
ich habe mir ein Skript erstellt bei dem die Gartenbeleuchtung (2 x Osram Lampen, 1 x Osram Gardenpole an der Hue Bridge) automatisiert schallten soll.
Die Funktionen Ein/Aus über Yahka schalten und Aus um 2:30 Uhr funktionieren wunderbar.
Nur ich möchte für den Winter zum Sonnenuntergang und im Sommer späterstes um 20:15 die Beleuchtung einschalten.Sobald aber jetzt Sonnenuntergang ist blitzen die Gatenlichter kurz auf und gehen gleich wieder aus. Der Log rennt sich fast zu tode und das System ist so ausgelastet, dass ich per Putty einen reboot machen muß.
Woran liegt denn der Fehler? Habe ich einen Denkfehler oder ist das einfach nicht möglich?
Grüße
Georg
-
@georg2608
Da spielt wohl noch ein anderes Skript mit, oder wo werden Ausgaben an "Philips_hue.Garten.bri" gemacht ? -
@paul53
Also ich wüßte da nicht dass darauf andere Skripte verweisen würden.Unter Skripte -> Sunchfunktion und "Philips_hue.Garten.bri" oder nur "Garten.bri" wird mir auch nichts angezeigt.
Wie könnte ich denn das finden?
-
@georg2608
Die vielen Log-Einträge kommen aus der Instanz hue.0. Vielleicht stimmt etwas nicht mit dem Adapter ? Zum Testen würde ich mal die Instanz deaktivieren und dann beobachten. -
@paul53
Wahrscheinlich versucht da etwas gegenzusteuern -
@paul53
Okay, aber wenn ich hue.0 deaktiviere dann schalte ich im Prinzip alle Hue-Lampen (und auch die Osram Gartenbeleuchtung) aus.
Wie kann ich dann erkennen ob was wie funktioniert wenn das alles aus ist?Oder soll ich den Adapter nochmals als Hue.1 installieren, da nur die Gartenbeleuchtung mal darauf verweisen und sehen was dann passiert?
-
@georg2608
Welche Namen haben die Datenpunkte "Philips_hue.Garten.bri" und "Philips_hue.Garten.on" ? Da Blockly die Namen anzeigt und nicht die ID, kann ich sie nicht zuordnen.
Welche ID hat der Datenpunkt mit dem Namen "Gartenbeleuchtung" ? -
@georg2608
Ich sehe jetzt, wo die Endlosschleife entsteht: Im Trigger "Gartenbeleuchtung ist unwahr". Dort wird "Gartenbeleuchtung" nochmal auf "falsch" gesetzt und damit wieder der Trigger ausgelöst...unendlich oft. Jedesmal wird auch an "Osram.Garten.on" gesendet.
Besser so:Mit "aktualisiere" wird der Datenpunkt "Gartenbeleuchtung" geschrieben, mit "steuere" alle anderen Datenpunkte.
-
@paul53
ich habe mal Deinen Skriptvorschlag bei mir gemacht. Bin mal gespannt ob das klappt. Muß wohl leider bis morgen 16:30 Uhr warten um zu sehen, was dann passiert.
Erstmal sage ich Dir Vielen Dank für Deine Bemühungen. - Richtig Toll!Aber was mir noch nicht ganz so einleuchtend ist:
In dem ersten Trigger gehört bei "Objekt ID" sicherlich mein Datenpunkt: Gartenbeleuchtung rein.
Dann "wurde geändert" - bzw falls Wert... Weiß der Trigger dass in diesem Fall das auszuführen ist wenn der Datenpunkt: Gartenbeleuchtung aus Wahr steht oder ergibt sich das automatisch mit dem "falls-mache-sonst" -
@georg2608 sagte:
Weiß der Trigger dass in diesem Fall das auszuführen ist
"wurde geändert" triggert dann, wenn der Wert sich ändert (falsch -- > wahr / wahr --> falsch).
@georg2608 sagte in Astrofunktion lastet System aus:
ergibt sich das automatisch mit dem "falls-mache-sonst"
"falls Wert" prüft den Wert des Triggerdatenpunktes, "mache" wird ausgeführt, wenn er wahr ist, "sonst", wenn er falsch ist.
@georg2608 sagte in Astrofunktion lastet System aus:
In dem ersten Trigger gehört bei "Objekt ID" sicherlich mein Datenpunkt: Gartenbeleuchtung rein.
Ja (siehe Kommentar darüber).
-
@paul53
ah, okay. Ich bin mal gespannt. Vielleicht werde ich das noch auf Sonnenaufgang ändern um morgen früh gleich zu sehen ob es klappt.Vielen Dank nochmals für Deine Mühe und ich werde berichten.
-
@georg2608 sagte:
Vielleicht werde ich das noch auf Sonnenaufgang ändern um morgen früh gleich zu sehen ob es klappt.
Wenn Du den Datenpunktwert von "Gartenbeleuchtung" per Hand (Reiter "Objekte") auf false setzt, müsste es um 20:15 Uhr losgehen.
-
@paul53
ich wollte mich wieder melden...
also echt Super! Vielen Dank! Die Gartenbeleuchtung funktioniert genau so wie sie soll.Vielen Dank für die Hilfe!
ich habe nur an Deiner Skriptvorlage eins verändert. Uns zwar bei "falls -> Wert" habe ich noch den Logikwert eingefügt. Warum genau weiß ich auch nicht, aber so läßt es sich für mich leichter lesen was da passiert. Wird aber wohl keinen Unterschied machen.
Grüße
Georg
-
@georg2608 sagte in [gelöst] Astrofunktion lastet System aus:
Wird aber wohl keinen Unterschied machen.
Am Ergebnis nicht, aber du solltest im Hinterkopf haben das jeder der Blöcke im Hintergrund einer Programmroutine entspricht die das System weiter auslastet.
-
@UweRLP
Okay, Danke.
Aber wird das einen großen Unterschied machen? Mein ioBroker läuft in einer VM auf nem NUC. Denke da sollten genügend Ressourcen zur Verfügung stehen, oder hängt da noch was anderes mit zusammen? -
@UweRLP
Das würde mich jetzt aber auch interessieren wieviel Ressourcen (RAM?/CPU?/sonstwas?) EIN Block benötigt. -
@Homoran sagte:
wieviel Ressourcen (RAM?/CPU?/sonstwas?) EIN Block benötigt.
Das ist sehr unterschiedlich, je nachdem wieviel Programmcode (compiliert) dahinter steckt. Entscheidend ist wohl eher, wie häufig unnötige Blöcke verwendet wendet werden.
-
@paul53
Danke Paul!
Du solltest in die Politik einsteigen;-) -
@georg2608 oder Du merkst Dir folgendes:
Alle drei nachfolgenden "falls-Fragen" bedeuten exakt das gleiche.
Es sind nur 3 verschieden Schreibweisen, weil javascript immer "true" als "gesetzt" annimt (also immer davon ausgeht das true als Antwort kommt), kann man es auch kurz fassen.
Die dritte Form ist lediglich am einfachsten zu durchschauen/erkennen.
Das Gegenstück hierzu:
-
@BBTown sagte:
Alle drei nachfolgenden "falls-Fragen" bedeuten exakt das gleiche.
Version 4 benötigt die wenigsten Resourcen: