NEWS
(gelöst) Blockly: Codes senden, bis Schaltung erfolgt
-
Guten Morgen, ich brauche eure Hilfe bei einem Blockly.
In Kürze:
Ich möchte mit einem Tastendruck zehn verschiedene RF-Codes nacheinander im Abstand 3sek senden, bis der richtige Code durch erhöhte Watt-Zahl bestätigt wird (= Gerät ist an), dann keine weiteren Codes senden.Ausführlich:
Ich habe hier ein Gerät, welches zum ein-/ausschalten mit Rolling RF-Codes arbeitet. Allerdings nur mit zehn verschiedenen Codes, die ich alle mit dem Broadlink-Adapter aufzeichnen konnte und mit diesem dann auch senden kann. Also per Zufall ist einer von den zehn Codes der richtige. Ich kann sehen, ob der richtige Code gesendet wurde, wenn sich innerhalb von ca. drei Sekunden nach Senden eines Codes die Watt-Zahl der Zigbee-Dose des Geräts von 0 auf >20 geändert hat.Somit brauche ich ein Skript, welches 10 verschiedene RF-Codes nacheinander sendet, diese allerdings im Abstand von 3 Sekunden, und nur so lange, bis die Zigbee-Steckdose einen Watt-Wert von >20 Watt meldet. Es muss also nach jedem Code senden nach etwa drei Sekunden geprüft werden, ob Watt >20. Wenn nein, dann den nächsten Code probieren. Wenn ja, dann keine weiteren Codes mehr senden, denn damit könnte man das Gerät dann wiederum ausschalten.
Ich hoffe, das ist einigermaßen verstehbar.
Wer sich dazu entscheidet, mir zu helfen, muss nachsichtig sein, ich bin leider überhaupt kein Logik-Held.Da ihr immer gerne sehen wollt, wie weit man es alleine geschafft hat, hier (k)ein Blockly (im Prinzip nur eine Übersicht der Datenpunkte, die benötigt werden, da ich wirklich so gar keine Ahnung habe, wie ich das machen kann):
Vielen Dank für eure Hilfe!
-
@io_laurent
Vorschlag: -
@paul53 Auf dich hatte ich gehofft, Paul!
Werde ich ausprobieren, wird ne Zeit dauern, bis ich das umgesetzt habe. Vielen Dank schon mal! -
@paul53 Ich habe mich da missverständlich ausgedrückt. Es sind keine Text-Codes, die nacheinander gesendet werden sollen, sondern zehn verschiedene Datenpunkte (siehe Screenshot unten).
Aber dann funktioniert das nicht, da ja dann der Block "steuere ID auswählen mit Liste codes..." nicht passt, da müsste sowas wie ein "sende Datenpunkt aus der Liste codes..." rein, aber ich hab trotz langem suchen nicht herausgefunden, wie das geht.
Kannst du dir das bitte nochmal anschauen?Vielen Dank!
-
@io_laurent Du kannst die auch als Text-Codes senden!
Dazu in Unbestätigt den Datenpunkt_SendCode
des Gerätes schreiben, z.B.:broadlink2.0.RM:RM4-Keller._SendCode
Wenn der Datenpunkt z.B.
broadlink2.0.RM:RM4-Keller.L.CODE_260030001a1b1c1c371c1b1c1c1b1c1c1b1c1c37381c1b3737000b031c1c1b1c371c1c1b1c1c1b1c1c1b1c37381b1c3738000d05000000000000
bei mir "Grundig_rechts" genannt ist, ist der Code den du zum Senden in den
_SendCode
schreiben musst:CODE_260030001a1b1c1c371c1b1c1c1b1c1c1b1c1c37381c1b3737000b031c1c1b1c371c1c1b1c1c1b1c1c1b1c37381b1c3738000d05000000000000
So sieht dann z.B. ein Skript bei mir aus:
Der Vorteil ist das die Codes im Skript gespeichert sind. Kann ich als auch an jedes andere Broadlink Gerät senden ohne das ich neu anlernen müsste. Ich kann die Codes sogar hier teilen.
-
@bananajoe Perfekt! An den Send to Datenpunkt hatte ich nicht gedacht, da ich beim Broadlink-Adapter eigentlich nur mit Aliasen arbeite. Aber genau so funktioniert das hervorragend!
@paul53 Dein Vorschlag war also vollkommen richtig, hätte ich alleine niemals hinbekommen und hab es jetzt sogar verstanden!
Ich freu mich sehr, dass das jetzt funktioniert!
Vielen Dank euch beiden! -
@io_laurent sagte: sondern zehn verschiedene Datenpunkte
Mit 10 verschiedenen Datenpunkten hätte man es auch lösen können:
Die Lösung mit "_SendCode" ist eleganter.