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:
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.

-
@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? -
@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 -
@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:
ich nutze im Astrocheck die "Golden Hour", da mir der Zeitpunkt besser gefällt...
Muss dann der Datenpunkt "Nachtcheck" noch zusätzlich ausgewertet werden ?
-
@TDCroPower sagte:
Wird das zum einschalt oder ausschalt Moment hinzugefügt?
Als falls-Klammer um alles:
falls nicht manuell@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.
-
@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
-
@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. -
@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.

-
@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?
-
@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.

-
@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...

-
@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...

-
@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.
-
@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...

-
@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:
-
@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



-
@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.
-
@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.
@paul53 ajajaj es kann so einfach sein ;)...

-
Nach erfolgreichem Wohnungsumzug haben sich die Voraussetzung ein wenig geändert.
In der alten Wohnung, hatte ich Xiaomi LED Strips verwendet bei der ich den integrierten Taster zum Ein-/Ausschalten verwendete.
Dies konnte man ja dank der Lösung von @paul53 per Variable und Wert/Ursprung lösen.In der neuen Küche habe ich auf die 4x BlitzWolf LT-11 Strips gesetzt und zum manuellen Dauerbetrieb habe ich 2x Aqara ZigBee Taster jeweils für die Linke und Rechte Seite montiert.
Logik bleibt ähnlich...
Falls man(n) die Küche in der Nacht betritt, triggert der Aqara Bewegungssensor die linke und rechte Unterseite.
Nach über 120 Sekunden keine Bewegungserkennung sollen die beiden Unterseiten wieder ausgeschaltet werden.
Dies funktioniert soweit wie es soll, konnte ja fast komplett aus der alten Xiaomi Logik übernommen werden.Mein Problem ist die Dauerbeleuchtung über die beiden Taster.
Irgendwie habe ich da ein Problem, denn aktuell schaltet er zwar die Beleucht oben und unten zwar an, jedoch kann ich diese nicht ausschalten bzw. greift wohl zusätzlich noch die Bewegungslogik mit ein? Obwohl gerade am Tag der Datenpunkt "Nachtcheck" eigentlich auf "false" steht.Hier mal die Blockly Logik aktuell und unten drunter ein Blockly export...
Taster rechts:

Taster links:

Aqara Bewegungssensor:

Blockly export: