NEWS
Script Logik Optimierung für Licht Steuerung
-
@Adnim ...
zu 1:
"... Warum setzt du den State 2 mal auf Wahr? einmal direkt und einmal nach 5min?..."
der Osram/Ledvance reagiert manchmal nicht und so fange ich die Kommunikationsprobleme ab, wenn ich einfach nach 5 Minuten erneut versuche ihn auszuschalten."... kannst du nicht nach 23:30 bei Heimkommen einfach zeit gesteuert 30min einschalten?..."
Ich will eigentlich nicht das sich das Licht nach 23:30 Uhr einschaltet.zu 2:
"... hast du nen State wo du siehst das manuell eingeschaltet wurde?..."
Soweit ich das sehe gibt dies nicht in den Objekten...
"... Wenn nicht musst du prüfen ob die Lampe via Skript oder via Taster eingeschaltet wurde und dann unterschiedliche aktionen lostreten!?..."
Genau das ist meine Frage, wie und wo ich das am besten steuere!?
Theoretisch beim einschalten per Script könnte ich einen Datenpunkt setzen, der beim ausschalten abgefragt wird? -
@TDCroPower sagte in Script Logik Optimierung für Licht Steuerung:
"... kannst du nicht nach 23:30 bei Heimkommen einfach zeit gesteuert 30min einschalten?..."
Ich will eigentlich nicht das sich das Licht nach 23:30 Uhr einschaltet.ich meine damit das du prüfst ob es nach 23:30 ist und dann das Licht eine weile bei Heimkommen einschaltest.
Also Licht an + Licht aus zeit verzögert 30min gleichzeitig nach 23:30 dann setzen?oder halt prüfen ob nach 23:30 und dann kein Licht mehr einschalten. oder ich verstehe deine Aufgabenstellung falsch...zu 2:
"... hast du nen State wo du siehst das manuell eingeschaltet wurde?..."
Soweit ich das sehe gibt dies nicht in den Objekten...
"... Wenn nicht musst du prüfen ob die Lampe via Skript oder via Taster eingeschaltet wurde und dann unterschiedliche aktionen lostreten!?..."
Genau das ist meine Frage, wie und wo ich das am besten steuere!?
Theoretisch beim einschalten per Script könnte ich einen Datenpunkt setzen, der beim ausschalten abgefragt wird?ja genau und wenn die Lampe an ist ohne das dein Skript eingeschaltet hat dann ist manuell an, das kannste ja via blocky prüfen.
-
@TDCroPower sagte:
Ich will eigentlich nicht das sich das Licht nach 23:30 Uhr einschaltet.
@TDCroPower sagte in Script Logik Optimierung für Licht Steuerung:
zur Dauerbeleuchtung nutzen, falls man das Licht manuell steuern will.
-
@paul53 danke das sieht gut aus.
zu 1:
ist eingebaut, ich nutze im Astrocheck die "Golden Hour", da mir der Zeitpunkt besser gefällt...
zu 2:
ich komm da gerade nicht ganze dahinter wie ich das in meinem Beispiel einbauen kann.
Wird das zum einschalt oder ausschalt Moment hinzugefügt? -
@TDCroPower sagte:
Wird das zum einschalt oder ausschalt Moment hinzugefügt?
Als falls-Klammer um alles:
falls nicht manuell -
@TDCroPower sagte:
ich nutze im Astrocheck die "Golden Hour", da mir der Zeitpunkt besser gefällt...
Muss dann der Datenpunkt "Nachtcheck" noch zusätzlich ausgewertet werden ?
-
@paul53 ...
"Als falls-Klammer um alles:
falls nicht manuell"- hat noch nicht so recht Klick gemacht, auf was trigger ich denn deine falls Bedingung und welcher "Wert" und "Ursprung" werden dort gesetzt?
- das "setze manuell" finde ich komischerweise in der Objektliste bei Blockly nicht, wo hast du das her?
"Muss dann der Datenpunkt "Nachtcheck" noch zusätzlich ausgewertet werden ?"
- hast Recht, macht dort keinen Sinn mehr und ist entfernt, somit habe ich nur ein UND Operator anstatt die doppel UND Verschachtelung.
-
@TDCroPower sagte:
"Wert" und "Ursprung"
Wert und Ursprung sind Eigenschaften des Trigger-Datenpunktes. Man findet sie unter "Trigger"
@TDCroPower sagte in Script Logik Optimierung für Licht Steuerung:
das "setze manuell" finde ich komischerweise in der Objektliste bei Blockly nicht
manuell ist eine selbst erstellte Variable
-
@paul53 sorry falls ich mich falsch ausgedrückt habe, die Trigger Werte finde ich und nutze ich schon in einigen Scripten.
Suche aber dein "setze "manuell" auf...", das finde ich nirgendwo und erst recht nicht in der Triggerfarbe. -
@TDCroPower sagte:
das finde ich nirgendwo und erst recht nicht in der Triggerfarbe.
Es ist kein Trigger, sondern eine Variable, die leider die gleiche Farbe hat. Man muss erst oben klicken, um eine Variable zu erstellen, bevor man sie verwenden kann.
-
@paul53 danke für den Hinweis, ja die Farbwahl ist wirklich unvorteilhaft um es gut nach vollziehen zu können.
Bleibt nur noch die Frage wie ich das in mein Beispiel implementiere.
Ich habe die Logik leider nicht verstanden, wie ich das gegen meinen Bewegungssensor halten kann.Kannst du mir vielleicht einen weiteren Tipp geben um es besser zu verstehen?
-
@TDCroPower sagte:
nicht verstanden, wie ich das gegen meinen Bewegungssensor halten kann.
Die Variable manuell wird true, wenn das Licht einschaltet (Wert = true) wird, die Quelle für die Wertänderung aber nicht die Javascript-Instanz ist. Mit der Auswertung der Variablen manuell muss das Schalten durch den BWM verhindert werden.
-
@paul53 ich glaube ich habe es jetzt umsetzen können.
Siehst du da vielleicht noch einen Fehler?Zunächst habe ich einen Datenpunkt mit default "false" erstellt...
Und dann deine Trigger Logik vor der BWM Abfrage gesetzt und im Ausschaltzustand die Abfrage auf die "manuell" Funktion hinzugefügt...
-
@TDCroPower sagte:
Siehst du da vielleicht noch einen Fehler?
Ja, der Datenpunkt "Kueche_manuell" ist zu viel. Der Vergleichswert für Ursprung muss der String "system.adapter.javascript.0" sein.
-
@paul53 ah ok, dachte das wäre lediglich ein Platzhalter mit dem Textfeld.
Was macht denn das Textfeld in diesem Moment?Hier noch die aktuelle Version...
-
@TDCroPower sagte:
Was macht denn das Textfeld in diesem Moment?
Das ist der Vergleichswert, der nicht erfüllt sein darf (ungleich). Bau einen Debug-Block mit Ausgabe von Ursprung ein, dann siehst Du es.
-
@paul53 aha, der hat im Ursprung wer ihn gesteuert hat...
Hier habe ich die yeelight 1x über die Objektliste und 1x per Taster geschaltet...
-
@TDCroPower
So kannst Du es vollständig verfolgen: -
@paul53 ich glaube jetzt habe ich. Ich musste auch beim einschalten auf die Funktion prüfen, da ich verschiedene Helligkeitsstufen für Taster und Bewegungserkennung habe.
Im Debug Output sieht es soweit gut aus und das Licht schaltet genauso wie ich es mir gewünscht habe.Lediglich die if Bedingung vom einschalten ist jetzt ziemlich gewachsen mit 2x UND und 1x ODER oder
-
@TDCroPower sagte:
die if Bedingung vom einschalten ist jetzt ziemlich gewachsen mit 2x UND und 1x ODER oder
Hättest Du eine große Klammer "falls nicht manuell" darum gemacht, wäre es einfacher gewesen.