NEWS
Übermitteln eines Backlog an Tasmota Gerät (mqtt-Adapter)
-
Hallo zusammen, ich brauche schon wieder Hilfe bei Blockly.
Ich möchte im mqtt-Adapter (Client) einen Befehl an ein Tasmotagerät senden. Vorgestell habe ich mir dafür den Backlog Datenpunkt zu verwenden. Der Befehl soll immer der gleiche bleiben, also nicht variabel sein. Mit welchem Block kann ich das erreichen? Oder ist es nötig, dass ich dafür einen Datenpunkt erstelle, aus dem die Logik den Befehl als Wert nimmt und an die Console weiterreicht? -
@thrusty Haben wir den backlog nicht zusammen in den anderen Thread eingerichtet?
Meines Erachtens brauchst doch dann nur noch das zu schreiben in den Punkt.
-
@mickym
Ja, das hat ja auch alles soweit funktioniert.
Aber das hier geht leider so nicht. Ich habe es auch ohne backlog im Textfeld versucht. Ohne Erfolg. In der Console geht "backlog shutterstop". Ich habe aber auch kein Datenpunkt "cmnd/shutter1".
Vielleicht kann ich den anlegen? -
@thrusty nicht
backlogshutterstop eintragen - sondern der Befehl heißt doch shutterstop.Da der DP bereits backlog heißt , ist das nicht mehr Bestandteil des Befehls. Also die Befehle ohne führendes backlog eingeben. Hast Du doch in dem anderen Thread auch nicht gemacht, also Du die Daten manuell in den Backlog Datenpunkt eingegeben hast.
Ich habe auch gerade geschaut, ob der Befehl stimmt:
Und ja Du kannst jeden Datenpunkt unter cmnd anlegen, dass einem mqtt-Kommando entspricht:
Shutter1 funktioniert meines Erachtens nicht, aber schau halt unter den Tasmota Kommandos, welche Befehle möglich sind:
https://tasmota.github.io/docs/Commands/#shutters
Also entweder gibt man in der Konsole ShutterStop1 ein oder ShutterStop1=true. ShutterStop ohne Zahl geht wahrscheinlich nicht.
Somit geht wahrscheinlich zum Beispiel einen Datenpunkt unter cmnd der ShutterClose1 heißt und den Du mit true fütterst etc. ...
Wie gesagt bei den backlog commandos nicht mehr backlog eingeben.
-
@mickym
Ich hatte es wie geschrieben ohne backlog versucht. Ging leider auch nicht.
Mein Geräte heißt shutter1.In der TasmotaConsole:
18:13:10.794 CMD: backlog shutterstop 18:13:10.828 MQT: stat/shutter1/RESULT = {"ShutterStop":"Done"}
Das mit "ShutterClose1" muss ich erst ausprobieren.
-
@thrusty Ja hat den Dein Shutter auch eine Indexnr.? Schau mal ob "ShutterStop 1" funktioniert? - also irgendwelche Zahlen
-
@mickym
Das funktioniert.18:23:04.344 CMD: ShutterStop 1 18:23:04.352 MQT: stat/shutter1/RESULT = {"ShutterStop":"Done"}
Aber was meinst du mit Indexnr.?
-
@thrusty Na so steht es doch in der Befehlsbeschreibung.
EDIT:
Die Nummer scheint sich auf die Relaisnr. zu beziehen:https://tasmota.github.io/docs/Blinds-and-Shutters/#commands
In dem Fall geht es nicht, um den Rollladen oder das Device an sich. Es scheint zum Beispiel wohl Rollladenswitche zu geben, die mehr als einen Motor untersützen. Mit der Fernbedienung hat das nichts zu tun.
Wo ich das gelesen habe müsstest Du die Anzahl Relais unter "Configure Module" sehen
Aber da muss ggf. ein Tasmota Spezialist helfen - oder halt ausprobieren.
-
Da müsste ich jetzt erst nachlesen.
Ich denke du meinst Power1 und Power2,
genau das meinete ich, also hoch oder runter. Das wollte ich in diesem Fall nicht nutzen. Ich will mit der IKEA FB
fünf Rolläden von Hand bedienen können. Links / Rechts um den variablen Datenpunkt zu setzen, also von 1 - 5. Dann über diese Auswahl mit den heller / dunkler Tasten in Verbindung mit der Variablen hoch oder runter fahren. Und mit dem mittleren Taster Stop. Egal in welche Richtung welcher Rolladen gerade fährt. Daher wäre Backlog optimal dafür.Edit:
Also muss ich es dann doch wohl über einen weiteren Datenpunkt machen. Wie das geht weiß ich dank dir ja inzwischen. Da den Backlog Befehl reinschreiben und übergeben, das sollte gehen denke ich, oder? -
@thrusty Du kannst doch auch über Blockly die Power1 bzw. Power2 Datenpunkte beschreiben. Wie gesagt sollten eigentlich in dem Backlog alle Befehle wie auf der Konsole funktionieren.
Schau mal ich nutze das Backlog einfach die Befehle hintereinander:
Das Beschreiben des Backlog Datenpunktes erzeugt dann in der Konsole
Ob Du einen weiteren DP brauchst, weiß ich nicht - im Prinzip gibt man einfach in den backlog Datenpunt Konsolenbefehle ein.
-
@mickym
Ok, ich werde das mal testen. Leider aber erst morgen, muss morgen arbeiten und früh hoch.
Du trennst die Befehle mit einem Symikolon? -
@thrusty sagte in Übermitteln eines Backlog an Tasmota Gerät (mqtt-Adapter):
@mickym
Ok, ich werde das mal testen. Leider aber erst morgen, muss morgen arbeiten und früh hoch.
Du trennst die Befehle mit einem Symikolon?Ja wenn Befehle nacheinander abgearbeitet werden, dann durch ein Semikolon trennen. Du siehst ja, dass es auf der Konsole dann auch nacheinander ausgeführt wird.
So ist es ja auch in der Befehlsreferenz beschrieben:
-
@mickym
Ich habe denshutterstop
Befehl nun über eine Rule an den Backlog senden können. Leider unterstützten die Rules im "Zustand setzen"-Punkt kein "und". Es ist nur ein "sonst" verfügbar. Daher muss ich nun für jeden Rolladen (fünf an der Zahl) eine eigene Role zum stoppen erstellen.
Ertwas unsauber, die Lösung, finde ich.
Mit Blockly könnte man das sicher in einem Script hinbekommen. Also einen Trigger empfangen und an fünf Empfänger den Befehl senden. Das würde aber voraussetzen, dass ich "shuttersop" an den BacklogDatenpunkt über Blockly gesendet bekomme. Und eben das funktioniert leider nicht, zumindest bekomme ich es nicht hin.
Vielleicht hat ja jemand eine Idee wie das zu möglich wäre.