NEWS
Licht: Bewegungsmelder & Schalter
-
-
-
-
@xadox
Wenn es funktioniert mit der Erkennung des manuellen Schalten, dann ist das die einfachste Methode. Da geht bei mir leider nicht, deshalb der Umweg über die Erkennung, ob über BWM geschaltet wurde. Es ist dann auch egal, was man nimmt, wichtig ist einzig, dass man unterscheiden kann, was die Lampe angeschaltet hat. -
-
@paul53
Wo er sich bei seinem Blockly auf Deine Vorgabe bezogen hat, ist mir auch nicht klar, aber wenn es läuft ist auch schon mal gut. Hatte ja oben schon auf den Thread verlinkt.Zum Ursprung hätte ich aber auch noch ne Frage. Bei mir steht unter "geändert von" bei meinen Lampen die ich schalten immer "sonoff.0/admin" auch wenn der DP über Script vom BWM geschaltet wurde. Wo kann ich denn den Ursprung wirklich ablesen?
-
@Jan1 sagte:
Wo kann ich denn den Ursprung wirklich ablesen?
Der Ursprung ist nicht statisch: Nachdem der Wert per Script geändert wurde (ack: false), wird er von der Adapter-Instanz bestätigt (ack: true).
-
@paul53
OK und wie bekomme ich den genauen Namen raus wenn der gleich wieder verschwindet?
Im Beispiel sind wurde auch einmal "system.adapter.javascript.0" und einmal nur "javascript.0" angegeben. Ist das eine der volle Namen und der zweite der reicht um zu Prüfen? -
@Jan1 sagte:
wie bekomme ich den genauen Namen raus wenn der gleich wieder verschwindet?
Im Trigger loggen
log('Ursprung: ' + dp.state.from);
@Jan1 sagte in Licht: Bewegungsmelder & Schalter:
einmal "system.adapter.javascript.0" und einmal nur "javascript.0"
"system.adapter.javascript.0" ist richtig.
-
Ich verstehe momentan nur Bahnhof.
Was für ein Ursprung?Funktionieren tut das Script nicht. Nachdem durch Bewegung das Licht angeschaltet würde schaltet es nicht mehr aus.
-
@xadox sagte:
Funktionieren tut das Script nicht. Nachdem durch Bewegung das Licht angeschaltet würde schaltet es nicht mehr aus.
Kann es auch nicht, da der Ursprung nicht ausgewertet wird, also die Variable manuell bei jedem Einschalten wahr wird.
-
@paul53 sagte in Licht: Bewegungsmelder & Schalter:
Im Trigger loggen
log('Ursprung: ' + dp.state.from);Und wo und soll das nun hin? Paul, geh mal davon aus, mein Wissen dazu ist zwar nicht null aber weit davon entfernt bin ich nicht
-
@xadox
Du musst Dir die Beispiele im anderen Thread ansehen, den ich und Paul verlinkt haben. Dort ist ersichtlich was mit Ursprung gemeint ist, wobei ich eben das Problem habe, den genauen Ursprung zu bestimmen, oder anders formuliert zu wissen, wo und wie man den in Erfahrung bringt. -
@Jan1 sagte:
Und wo und soll das nun hin?
-
@paul53
OK, da hätte ich auch drauf kommen können. Echt geil was Du mit Blockly löst und wie immer schön bei Dir was zu lernen.
Meine Umsetzung auf "Urspung" sieht so aus:
Ist zwar etwas länger als das ursprüngliche Blockly, liegt aber an der Art wie mein BWM schaltet und ich fand diese Methode eben recht interessant.Was das ganze überhaupt soll? Einfach wenn ich das Licht von Hand per Schalter einschalte, soll es an bleiben, selbst wenn der BWM was erkennt und erst wenn ich manuell wieder ausschalte in den automatischen Modus über den BWM zurück kehren und das tuts.
-
Euch Script Experten mag vielleicht klar sein was ihr da tut.
Für mich als purer Anfänger ist es aber überhaupt nicht verständlich. Ich weiß auch nicht was Ursprung überhaupt bedeutet.
Vor allem da der Ursprung bei euch sich auf irgendein JavaScript bezieht. Ich nutzte doch überhaupt kein JavaScript. -
@xadox sagte in Licht: Bewegungsmelder & Schalter:
Für mich als purer Anfänger ist es aber überhaupt nicht verständlich.
Dann mal langsam:
@xadox sagte in Licht: Bewegungsmelder & Schalter:
Ich weiß auch nicht was Ursprung überhaupt bedeutet.
Das ist der Ursprung, der (die Quelle, die) den Wert schreibt.
Also - wo kommt die Änderung her.@xadox sagte in Licht: Bewegungsmelder & Schalter:
Vor allem da der Ursprung bei euch sich auf irgendein JavaScript bezieht.
Nicht wirklich!
Das ist der js-Adapter@xadox sagte in Licht: Bewegungsmelder & Schalter:
ich nutzte doch überhaupt kein JavaScript.
Ääähm, klar doch! da steht ja auch es darf nicht der js-Adapter sein (
!=
ist "nicht gleich") -
@Homoran Ahhh... Mit "system.adapter.javascript.0" ist der Adapter gemeint:
In dem folgenden Teil wird also registriert, ob der Schalter manuell umgelegt wurde.
Die Variable "manuell" wird dann auf "true" gesetzt und ebenfalls der Ursprung auf nicht der JS-Adapter.
Dann schaue ich mal ob dies später funktioniert:
-
@xadox
Blocky ist die grafische Darstellung von Javascript
Somit nutzt Du das auch und den JS- Adapter dazu, sonst könntest keine Blocklys erstellen.Noch mal zum "Ursprung" das ist ein Block aus dem Bereich der Trigger und somit bezieht sich das immer auf das Objekt welches im Trigger angeben ist und in meinem Fall eben auf "Sonoff-Fur 1 Power" und den Ursprung das dieses Objekt geändert hat, was in meinem Fall wenn es über ein Blockly geschehen ist das den BWM auswertet der "system.adapter.javascript.0" ist.
Eigentlich recht einfach, aber beruhige Dich, es wird mit jedem selbst erstellten Blockly heller beim Verständnis.
-