NEWS
Anfängerfrage Trigger / UND Verkn. / Debug
-
Hier wird der Trigger ausgelöst.
Wie verknüpfe ich nun zunächst einmal die Trigger richtig ?Steff
-
mach mal:
und hänge an die freien Enden:
-
Bitte entschuldige, dass Alles so zäh voran geht.
Ich bin noch ganz schön am Suchen - und der Debug
Output funktioniert (so prinzipiell) mal ja mal nein... (noch kein Plan warum)Also das sieht aus wie Du es vermutet hast oder?
Es kommt zu keiner Zeit ein " 11 " zustande?!Steff
-
Das das ganze so Zäh läuft liegt vor allem an mir, bin ja auch Anfänger und taste mich mit Dir an eine Lösung heran.
Deine UND Verknüpfung war wohl richtig, nur die Hardware macht Dir einen Strich durch die Rechnung.
Taster 1 Gedrückt halten und dann Taster 2 Drücken?
Hab es bei mir mit anderer Hardware (2 Taster Zigbee) nachzustellen versucht und hab es auch nicht geschafft beide gleichzeitig auf true zu bekommen. -
Aller Anfang scheint schwer.
Ich hab das Pferd jetzt mal von einer anderen Seite aufgezäumt.
Hierbei funktioniert die logische Verknüpfung wie gewünscht.
Dickes "ABER": ich bekomme keinen Log Output des Debug mehr hin.
Weiß der Teufel, was mir hier noch für ein Bedienerfehler unterläuft...Steff
-
@SBeide
Du hast ja keinen Trigger mehr.Dann wird das Skript nur einmal gestartet
-
-
@paul53 danke!
-
Okay ?!?
Die LED schaltet ...naja... "wie gewünscht"
(mit eben bis zu dieser Sekunde Verzögerung - was nicht schlimm wäre.
Ich hatte die "Debug Probleme" bereits die ganze Zeit...Liegt das eventuell am Raspi 3B+ auf dem ich IOBroker laufen habe?
Benötigt das Ganze etwas mehr Dampf?
Steff
-
Ich habs jetzt mal "zeitgesteuert" getriggert.
Nun, ich denke dass die logische Abfrage funktioniert. (LOG output)
Stellt sich m.E. jetzt die Frage, wie ich einen hm... "offiziellen Trigger"
hinbekomme.
Bestenfalls sollte das später mal mit bis zu 6 Schaltern (an zwei ESPs)
funktionieren...Steff
-
Kann bitte jemand bestätigen, dass beide Versionen nicht funktionieren?
Ich bin mir nicht sicher, ob
- Ich falsch herangehe
- Das ein BUG ist
- Mein ioBroker nen defekt hat.
Steff
-
@SBeide
Der erstere ist definitiv falsch, da hat wert von... nichts zu suchen -
@Homoran
o. K. Dann ist bei einem Trigger nur ein "OR"
vorgesehenen? Ist eigentlich auch genug.Ich wäre froh, wenn mir jemand "Lesestoff"
diesbezüglich empfehlen könnte. (URL, echtes Buch, whatever)Mache ich etwas falsch oder ist das eine
Macke im Programm?
Oder liegt es an der Raspi Version und auf
PC Hardware tuts?
Kann man das irgendwie umgehen?Grüße
Steff
-
@SBeide
Du hast ein systematisches Problem:Wenn du auf mehrere Datenpunkte triggerst triggert die Änderung von jedem datenpunkt (einzeln) das darunter liegende script. Selbst wenn du beide Knöpfe gleichzeitig drückst wird das Script 2 mal nacheinander aufgerufen, und jedesmal besteht eine chance das nur ein Knopf “noch” gedrückt ist. Ist halt alles asynchron.
Was du tun kannst:
Für jeden Knopf einen trigger, (steigende Flanke) der- einen timeout startet, falls der nicht schon läuft (sagen wir mal 1 Sekunde - globaler trigger)
- eine interne Variable von false auf true setzt (je trigger eine eigene Variable)
Dazu wenn du magst noch einen trigger auf die fallende Flanke - hier setzt du nur die Variable wieder auf false.
(Du kannst das Konstrukt aus deinem ersten Post nehmen, im falls wahr Strang reagierst du auf die steigende Flanke, im Else auf die fallende)
I’m timeout kannst du dann alle Variablen abfragen und darauf basierend deine Aktion durchführen. Danach setzt du alle Variablen wieder auf false zurück.
Die Länge des timeout steuert wie “gleichzeitig” die Aktionen sein müssen.
A.
-
@Asgothian
Das ist definitiv Stoff für die nächsten 2 Tage.
Erst mal herzlichen Dank für den Fingerzeig.Ist das eine Blockly typische Beschränkung
die man mit Java oder NodRed beheben oder
umgehen könnte?Stefan
-
@SBeide
Jein. Das Problem hast du auch bei js oder node-red.Es lässt sich in js wahrscheinlich etwas eleganter selber schreiben, insbesondere wenn du die besagten 6 Taster hast. Aber das Prinzip ist überall gleich.
A.
-
@Asgothian @Homoran @paul53
Dann vielen Dank für die schnellen Antworten.
Ich werde versuchen das heute verstandene morgen umzusetzen.Steff