NEWS
Sonnenaufgangs und Dämmerung Logik für Bewegungsmelder
-
Hallo,
ich habe mir aus meiner alten FHEM-Installation eine Logik für meine Bewegungsmelder, die nur bei Dämmerung angehen sollen, in den ioBroker portiert.
Dazu habe ich:
-
Einen User-Wert manuell (geht auch automatisiert im Script unter 2. - habe ich aber noch nicht ausprobiert) angelegt, der den Helligkeitsstatus auf true/false sichert

-
Diesen beschreibe ich mit folgendem Script:

Was ich daran praktisch finde, dass ich die Zeit noch an meine Bedürfnisse (früher/später) mittels des "Versatzes" einstellen kann und so lange daran rumspielen kann, bis es passt. -
Diesen Wert rufe ich dann in meinen Logiken für die Bewegungsmelder ab, um die diese abhängig von der Dämmerung zu aktivieren

Den Vorteil, den ich für mich dabei sehe:
- ich habe an einer Stelle zentral die Dämmerungslogik und brauche sie nicht in jedem Script erneut eintragen
- Ich habe die volle Kontrolle über die Zeitpunkte für Dämmerungsbeginn respektive -ende.
Vielleicht hilft dem ein oder anderen dieser Ansatz.
Gruß
Alex -
-
Hallo,
ich habe mir aus meiner alten FHEM-Installation eine Logik für meine Bewegungsmelder, die nur bei Dämmerung angehen sollen, in den ioBroker portiert.
Dazu habe ich:
-
Einen User-Wert manuell (geht auch automatisiert im Script unter 2. - habe ich aber noch nicht ausprobiert) angelegt, der den Helligkeitsstatus auf true/false sichert

-
Diesen beschreibe ich mit folgendem Script:

Was ich daran praktisch finde, dass ich die Zeit noch an meine Bedürfnisse (früher/später) mittels des "Versatzes" einstellen kann und so lange daran rumspielen kann, bis es passt. -
Diesen Wert rufe ich dann in meinen Logiken für die Bewegungsmelder ab, um die diese abhängig von der Dämmerung zu aktivieren

Den Vorteil, den ich für mich dabei sehe:
- ich habe an einer Stelle zentral die Dämmerungslogik und brauche sie nicht in jedem Script erneut eintragen
- Ich habe die volle Kontrolle über die Zeitpunkte für Dämmerungsbeginn respektive -ende.
Vielleicht hilft dem ein oder anderen dieser Ansatz.
Gruß
Alex@kptkip
Jetzt machst mal überall das "=wahr" raus, da das immer noch unnötig ist und gewöhnst Dir an, nicht "=falsch" zu fragen, sonder auf "nicht wahr".
So sparst Dir unnötigen Code und es im Sinne der Digitaltechnik richtiger, weil hier eben mit "nicht" die Negation bewerkstelligt wird und nicht mit "ist falsch". Kommt zwar auf selbe raus, ist aber kürzer ;) -
-
@kptkip
Jetzt machst mal überall das "=wahr" raus, da das immer noch unnötig ist und gewöhnst Dir an, nicht "=falsch" zu fragen, sonder auf "nicht wahr".
So sparst Dir unnötigen Code und es im Sinne der Digitaltechnik richtiger, weil hier eben mit "nicht" die Negation bewerkstelligt wird und nicht mit "ist falsch". Kommt zwar auf selbe raus, ist aber kürzer ;)@jan1 Danke für den Input
Das mit dem =!wahr anstatt =falsch versteh' ich von der Umsetzung her, würde aber gerne verstehen, was daran logisch "besser" ist.
Den Punkt mit "mach das '=wahr raus[...]'" verstehe ich von der Umsetzung nicht, was ich da machen soll.
Soll das markierte hier raus?

-
@jan1 Danke für den Input
Das mit dem =!wahr anstatt =falsch versteh' ich von der Umsetzung her, würde aber gerne verstehen, was daran logisch "besser" ist.
Den Punkt mit "mach das '=wahr raus[...]'" verstehe ich von der Umsetzung nicht, was ich da machen soll.
Soll das markierte hier raus?

@kptkip
Das ist schon die Grundfunktion des FALLS Block. Der prüft immer auf wahr, somit ist (=wahr) eben einfach doppelt und unnötig. Fahr mal mit der Maus über den Block im Auswahlmenü, dann steht das auch so als Hilfe dabei ;)Bau es um und Du wirst sehen, es ist kürzer und macht immer noch das Selbe :)
-
Hallo,
ich habe mir aus meiner alten FHEM-Installation eine Logik für meine Bewegungsmelder, die nur bei Dämmerung angehen sollen, in den ioBroker portiert.
Dazu habe ich:
-
Einen User-Wert manuell (geht auch automatisiert im Script unter 2. - habe ich aber noch nicht ausprobiert) angelegt, der den Helligkeitsstatus auf true/false sichert

-
Diesen beschreibe ich mit folgendem Script:

Was ich daran praktisch finde, dass ich die Zeit noch an meine Bedürfnisse (früher/später) mittels des "Versatzes" einstellen kann und so lange daran rumspielen kann, bis es passt. -
Diesen Wert rufe ich dann in meinen Logiken für die Bewegungsmelder ab, um die diese abhängig von der Dämmerung zu aktivieren

Den Vorteil, den ich für mich dabei sehe:
- ich habe an einer Stelle zentral die Dämmerungslogik und brauche sie nicht in jedem Script erneut eintragen
- Ich habe die volle Kontrolle über die Zeitpunkte für Dämmerungsbeginn respektive -ende.
Vielleicht hilft dem ein oder anderen dieser Ansatz.
Gruß
Alex@kptkip sagte: an einer Stelle zentral die Dämmerungslogik und brauche sie nicht in jedem Script erneut eintragen
Dafür gibt es bereits den Datenpunkt "javascript.0.variables.isDayTime", der in der Konfiguration der Javascript-Instanz angepasst wird.
Vorschlag:
Was macht der Datenpunkt "Input / Detach"?
-
-
@kptkip sagte: an einer Stelle zentral die Dämmerungslogik und brauche sie nicht in jedem Script erneut eintragen
Dafür gibt es bereits den Datenpunkt "javascript.0.variables.isDayTime", der in der Konfiguration der Javascript-Instanz angepasst wird.
Vorschlag:
Was macht der Datenpunkt "Input / Detach"?
@paul53 Dafür gibt es bereits den Datenpunkt "javascript.0.variables.isDayTime"
Das stimmt, allerdings ist der m.E. fix und kann nicht justiert werden. Ich möchte ihn ja gerne selbst bestimmen (relativ) können.Der "Input/Detach"-Datenpunkt ist von meinen Shellies und zeigt an, ob der Shelly manuell auf EIN/AUS steht. Damit kann ich ein Dauerlicht am Schalter realisieren, ohne dass mir die Abschaltautomatik dazwischen funkt.
-
@kptkip
Das ist schon die Grundfunktion des FALLS Block. Der prüft immer auf wahr, somit ist (=wahr) eben einfach doppelt und unnötig. Fahr mal mit der Maus über den Block im Auswahlmenü, dann steht das auch so als Hilfe dabei ;)Bau es um und Du wirst sehen, es ist kürzer und macht immer noch das Selbe :)
-
@kptkip
natürlich nicht :-)Da muss schon der Bezug zum Objekt rein und Du hattest "wert" doch drin, also einfach "wert" drin lassen, oder wenn sich das Objekt nicht um den Trigger handelt, das Objekt angeben.
-
@jan1 OK...

Ich nehme an, Du meintest so:

Beide Versionen tun interessanterweise einwandfrei - sowohl die "falls-true" als auch die "falls-Wert" Variante
-
@kptkip
ja klar, weil wahr eben immer wahr ist und somit die Bedinung immer erfüllt, wobei das dann Blödsinn ist ;)@jan1 "ja klar, weil wahr eben immer wahr ist "
Die Hypothese kann ich nicht bestätigen. Meine Beobachtung zeigt, dass beim Wert "false" die IF-Bedingung nicht ausgelöst wird, beim Wert "true" löst sie aus.
Es wird also nicht auf "if true=true" geprüft, sondern, ob der Wert "true" ist oder nicht und das ist schließlich das gewünschte Verhalten.
-
@jan1 "ja klar, weil wahr eben immer wahr ist "
Die Hypothese kann ich nicht bestätigen. Meine Beobachtung zeigt, dass beim Wert "false" die IF-Bedingung nicht ausgelöst wird, beim Wert "true" löst sie aus.
Es wird also nicht auf "if true=true" geprüft, sondern, ob der Wert "true" ist oder nicht und das ist schließlich das gewünschte Verhalten.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
