NEWS
Schalter in der Vis durch zweiten Schalter verriegeln
-
Hallo
Ich habe in der Vis einen Schalter, der eine Steckdose ein und ausschaltet. Damit ich nicht aus Versehen mal den Schalter betätige, möchte ich diesen mit einen zweiten Schalter verriegeln. Wie müsste hierzu ein Blockly aussehen?Gruß
Semmy -
@semmy Du erstellst einen eigenen Datenpunkt für Deinen 2. Schalter und fragst bei Deinem jetzigen Schalter diesen ab, bevor Du den Befehl ausführst.
-
@mickym sagte in Schalter in der Vis durch zweiten Schalter verriegeln:
@semmy Du erstellst einen eigenen Datenpunkt für Deinen 2. Schalter und fragst bei Deinem jetzigen Schalter diesen ab, bevor Du den Befehl ausführst.
Hallo
Irgendwie stehe ich auf den Schlauch, Datenpunkt für zweiten Schalter habe ich erstellt, aber wie frage ich den mit den ersten Schalter ab? -
@semmy Na mit Deiner Logikmaschine setzt Du doch wenn Schalter on ist einen Befehl ab. Bevor Du den absetzt prüfst Du noch den Zustand des 2. Datenpunktes.
Ich bin leider kein Blockly Programmierer ... ein Versuch sie Posting weiter oben.
Du lässt den 1. Schalter triggern und prüfst dann den Zustand von beiden Schaltern. Wenn der 2. Wert auf false steht, dann wird die Bedingung nie wahr und der 1. Schalter ist blockiert. Somit würde der Schalter nur dann funktionieren wenn der Wert des 2. Schalters true ist. Sowas kannst Du doch sicher selbst machen - wie gesagt ich such mir hier immer einen Wolf. Ich hoffe das entspricht halt dem JS:
if (schalter1 && schalter2) { .... }
Im Prinzip musst Du ja nur die Fälle behandeln, in den der 2. Schalter auf true steht, also
wenn Schalter 1 === true und Schalter 2 === true ==> schalte EIN
wenn Schalter 1 === false und Schalter 2 === true ==> schalte AUSund ansonsten muss ja nichts gemacht werden.
-
-
@mickym Hallo
Ich habe es jetzt hin bekommen, aber ist es möglich, dass dieser Schalter (links) gesperrt ist, wenn das Schloss verriegelt ist? Der lässt sich nämlich immer noch betätigen. -
@semmy sagte in Schalter in der Vis durch zweiten Schalter verriegeln:
Das sind 2 paar Stiefel - damit man ein Widget im VIS glaub sperren kann. muss dieses dies vorsehen.
Die Frage ist halt, ob das erforderlich ist. Normalerweise sollte also der Schalter ja immer den aktuellen Zustand anzeigen, d.h auch wenn Du den betätigst müsste der ja eigentlich visuell wieder in die Ausgangsposition zurückspringen.
Ich habe auch keine Ahnung ob man bei dem Widget das "Nur Lesen" Flag irgendwo programmtechnisch lösen kann.
Ich habe auch gesehen, dass man dem Schloß 2 Datenpunkte angeben kann - aber da muss Dir jemand helfen, der vis gut kennt.
-
@mickym So sieht es jetzt aus, funktioniert. Wäre halt schön, wenn der Schalter gesperrt ist, wenn das Schloss zu ist. Homematic Lock ist das Schloss
-
@semmy sagte: Homematic Lock ist das Schloss
Soll wirklich darauf getriggert werden?
-
@paul53 sagte in Schalter in der Vis durch zweiten Schalter verriegeln:
@semmy sagte: Homematic Lock ist das Schloss
Soll wirklich darauf getriggert werden?
Ok, hab das Schloss entfernt, funktioniert . Danke
-
-
@mickym sagte in Schalter in der Vis durch zweiten Schalter verriegeln:
@semmy Nun ich bin KEIN Blockly Programmierer - aber ich glaube Du hast einen Logikfehler drin.
Ich hätte es irgendwie so gemacht - aber da kann Dir @paul53 besser helfen.
Wie gesagt wenn der Schalter 2 falsch ist, kannst Du meines Erachtens den Trigger von Schalter 1 völlig ignorieren!
So gehts auch, jetzt müsste man nur noch irgendwie den Schalter sperren, dann wäre es perfekt.
-
@semmy sagte: Der lässt sich nämlich immer noch betätigen.
Man kann ihn per Skript zurück stellen (siehe sonst-Zweig).
Wert und Ursprung findet man unter "Trigger".
-
@semmy Du könntest den ganzen Schalter ausblenden, wenn der gesperrt ist - das wüsste ich wie es geht.
oder so wie @paul53 vorschlägt unter den Schalter 2 mit dem sonst Ast auf den vorhergehenden Wert zurücksetzen. So würde auch in anderen Visualisierungen das funktionieren, wenn programmtechnisch keine Sperre vorgesehen ist.
ggf. musstest Du Dir halt andere Widgets anschauen - wie hier diese Material Design Geschichten:
https://github.com/Scrounger/ioBroker.vis-materialdesign#editor-settings-9 -
Funktioniert nicht, wenn Schloss offen ist, gehts, aber wenn das Schloss zu ist, nicht.
Gruß
Semmy -
@semmy Also wie gesagt ich bin KEIN Blockly Programmierer, aber Du könntest einfach versuchen, den Wert von Taste 1 mit dem negierten Wert von sich selbst zu aktualisieren:
Also wenn gesperrt - dann aktualisiere den Schalter 1 nochmals mit dem negierten Wert von sich selbst. Wenn das true oder false ist.
Aber wie gesagt - ich bin da kein Spezialist. Ich hoffe das mit dem "nicht" Baustein das dem Javascript "!" entspricht.
-
@mickym sagte: dann aktualisiere den Schalter 1 nochmals mit dem negierten Wert von sich selbst.
Ohne Prüfung des Ursprungs entsteht so eine endlose Trigger-Schleife.
-
@paul53 Klar Du hast Recht - versuch das was Du gerade als Bedingung gebaut hast nachzubauen.
Habs mal von Dir abgeschaut:
Ist das das Gleiche
Was ist der Unterschied zwischen Ursprung und Quelle?
oder was ist die Quelle eines Datenpunktes? Quelle kann ja nicht nochmals der Pfad zum Datenpunkt sein, den ich ja mit der ID auswählen muss?Ursprung ist also die Quelle des Triggers? Richtig?
und kann ich diesen Nicht Block nehmen um ein ! Wert zu erzeugen?
Ah ich hab das mit dem vorigen Wert gefunden - dann müsste das nach meiner Logik so aussehen wo wird der zwischengespeichert in dem Objekt??:
Ok jetzt ist es mit Deinem Blockly bis auf die Steuerung des Tasmota Teils identisch.
-
@mickym sagte: Was ist der Unterschied zwischen Ursprung und Quelle?
Es gibt keinen Unterschied.
@mickym sagte in Schalter in der Vis durch zweiten Schalter verriegeln:
kann ich diesen Nicht Block nehmen um ein ! Wert zu erzeugen?
Ja, ist identisch.
@mickym sagte in Schalter in der Vis durch zweiten Schalter verriegeln:
wo wird der zwischengespeichert in dem Objekt??:
Der "vorherige Wert" wird im Datenpunkt-Objekt des Triggers übergeben.
-
@paul53 sagte in Schalter in der Vis durch zweiten Schalter verriegeln:
Der "vorherige Wert" wird im Datenpunkt-Objekt des Triggers übergeben.
Ah OK deswegen ist der Kasten rosa.
Na dann hoffe ich mal dass @Semmy inzwischen erfolgreich ist und mir die Dauerschleife verzeiht.