FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: TomLee am 23 März 2019, 18:33:07

Titel: mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: TomLee am 23 März 2019, 18:33:07
Hallo Beta-User,

anbei eine aktualisierte Version die ich auch wirklich getestet habe mir ist hier (https://forum.fhem.de/index.php/topic,98338.msg922583.html#msg922583) aufgefallen das ich bei dem MULTIPLECMD wohl nicht ganz bei der Sache war. Deinen Sendebefehl hab ich mit dazugenommen. Hab eben auf einem Fhem ein update gemacht da ist A_01d_tasmota_ir nicht mehr dabei.


#tasmota device with Infrared-circuit
name:A_01d_tasmota_ir
desc:Demonstrates multiple options how to configure tasmota devices as IR remote control extension.<br><a href="https://forum.fhem.de/index.php/topic,67316.0.html">Forum Thread</a><br><a href=https://github.com/arendst/Sonoff-Tasmota/wiki/Commands#irremote">Tasmota IRremote Commands</a><br><a href="https://github.com/altelch/SonoffIR">Simple IR-circuit</a><br><a href="https://forum.fhem.de/index.php/topic,98723.msg920946.html#msg920946">set <devicename> irsend</a>
filter:TYPE=MQTT2_DEVICE
par:DEVNAME;ESP's name in the topic;{ AttrVal("DEVICE","readingList","") =~ m,tele/([^/]*)/, ? $1 : undef }
par:POWERCMD;needed command to be sent like in example dec '{"protocol":"NEC","bits":32,"data":551489775}' (without '');{ undef }
par:VOLUMEUPCMD;needed command to be sent like in example raw '0,926,844,958,832,1798,868,902,848,900,870,900,852,908,918,958,794,934,874,928,1738,934,856,1764' (without '');{ undef }
par:MULTIPLE1CMD;needed command to be sent like in example hex '{"Protocol":"NEC","Bits":32,"Data":0x8166817E}' (without '');{ undef }
par:MULTIPLE2CMD;needed command to be sent like in example hex '{"Protocol":"NEC","Bits":32,"Data":0x8166817E}' (without '');{ undef }
set DEVICE attrTemplate A_01d_tasmota_ir
attr DEVICE setList \
power:noArg cmnd/DEVNAME/IRsend POWERCMD\
volumeup:noArg cmnd/DEVNAME/IRsend VOLUMEUPCMD\
11:noArg cmnd/DEVNAME/Backlog IRsend MULTIPLE1CMD;cmnd/DEVNAME/delay 8;cmnd/DEVNAME/IRsend MULTIPLE2CMD\
irsend:textField cmnd/DEVNAME/irsend {"Protocol":"$EVTPART1","Bits":$EVTPART2,"Data":"0x$EVTPART3"}
attr DEVICE readingList \
tele/DEVNAME/INFO.:.* { json2nameValue($EVENT) }\
tele/DEVNAME/RESULT:.* { $EVENT =~ m,..IrReceived....Protocol...([A-Za-z0-9]+)...Bits..([\d]+)..Data...([A-Za-z0-9]+)..., ? {"$1_$2"=>$3} : json2nameValue($EVENT) }
attr DEVICE stateFormat state\
<br>\
<a href="http://IPAddress" target="_blank">IPAddress</a>
attr DEVICE event-on-change-reading .*
attr DEVICE icon IR
attr DEVICE model A_01d_tasmota_ir
Titel: Antw:ir.mqtt2.templates: Fragen Anregungen
Beitrag von: RappaSan am 24 März 2019, 08:57:31
Schön, daß ich mithelfen konnte.
Wie schon erwähnt: Es geht voran... :)
Titel: Antw:ir.mqtt2.templates: Fragen Anregungen
Beitrag von: Beta-User am 24 März 2019, 13:10:25
Danke für den update, ist seit eben im svn :) .

War aber m.E. gar nicht draußen, sondern vermutlich nur nicht angezeigt, weil der Filter zugeschlagen hat?
(Das template wird nur angezeigt, wenn die tasmotatypische "tele" oder "cmnd" readingList vorhanden ist)
Titel: Antw:ir.mqtt2.templates: Fragen Anregungen
Beitrag von: TomLee am 24 März 2019, 13:17:02
Zitat von: Beta-User am 24 März 2019, 13:10:25

War aber m.E. gar nicht draußen, sondern vermutlich nur nicht angezeigt, weil der Filter zugeschlagen hat?
(Das template wird nur angezeigt, wenn die tasmotatypische "tele" oder "cmnd" readingList vorhanden ist)

Da ich gerade in einer per update geholten mqtt2.template spiele, nein war nicht mehr drin.
Titel: Antw:ir.mqtt2.templates: Fragen Anregungen
Beitrag von: Beta-User am 24 März 2019, 13:23:41
https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template?rev=19007 (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template?rev=19007Dort) Dort Zeile 474ff?

Hmm, wenn das jetzt wieder nicht angezeigt wir, obwohl die readingList paßt, muß ich mal schauen...
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: TomLee am 23 November 2020, 14:03:25
Hi,

Vorschlag für eine aktualisierte Beschreibung (ein Link  war veraltet, zwei andere waren auch nicht korrekt definiert):

desc:Demonstrates multiple options how to configure tasmota devices as IR remote control extension.<br><a href="https://forum.fhem.de/index.php/topic,67316.0.html">Forum Thread IR-Remote</a><br><a href="https://forum.fhem.de/index.php/topic,98905.0.html">Forum Thread tasmota_ir-Template</a><br><a href="https://tasmota.github.io/docs/IR-Remote/">Tasmota IR-Remote Docu</a><br><a href="https://tasmota.github.io/docs/Tasmota-IR/">Tasmota IR Communication Docu</a><br><a href="https://github.com/altelch/SonoffIR">Simple IR-circuit</a><br><a href="https://forum.fhem.de/index.php/topic,98723.msg920946.html#msg920946">irsend syntax</a>

Und nein zum Template selbst hab ich nix neues beizutragen.

Gruß

Thomas
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Beta-User am 23 November 2020, 14:10:53
 :)
Habe auch wahrgenommen, dass dieses Template irgendwie immer wieder zu "Verwirrung" sorgt...

Wird erledigt, und dazu käme dann noch der folgende Hinweis:
Zitat<br>NOTE: This is more like a showcase for several options to send and receive commands, not really a "ready to use" device.

Eigentlich würde sich dazu dann eine myUtils-File analog zu der MiLight-Sache sehr gut machen, aber das versteht dann wohl wirklich praktisch gar keiner mehr ;D ...
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Motivierte linke Hände am 15 Januar 2021, 14:19:24
Sorry, das scheint meine Fähigkeiten zu übersteigen:

Ich habe hier ein Pearl auvisio auf tasmota-ir geflashed. Das Ding empfängt die IR-Signale und zeigt sie in der Konsole an. Nun würde ich es gerne in FHEM einbinden. Mosquitto hat es schon entdeckt, also wollte ich jetzt das Template tasmota_ir auf das Gerät anwenden. Ich bekomme dann die Aufforderung:

Specify the unknown parameters for tasmota_ir:
needed command to be sent like in example dec '{"protocol":"NEC","bits":32,"data":551489775}' (without '')
needed command to be sent like in example raw '0,926,844,958,832,1798,868,902,848,900,870,900,852,908,918,958,794,934,874,928,1738,934,856,1764' (without '')
needed command to be sent like in example hex '{"Protocol":"NEC","Bits":32,"Data":0x8166817E}' (without '')
needed command to be sent like in example hex '{"Protocol":"NEC","Bits":32,"Data":0x8166817E}' (without '')


Mir ist nicht klar, was ich da eingeben soll. Klar, irgendwelche IR-Befehle, aber Befehle für welche Aktionen? Das kann ich dem Fenster mit der Aufforderung irgendwie nicht entnehmen.

Danke!
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Beta-User am 15 Januar 2021, 14:28:53
Na ja, "eigentlich" ist es fast egal, was du da jeweils einträgst, es darf halt nicht leer sein. "Optimal" wäre, wenn du die zu versendenden Befehle wirklich kennen würdest, aber das ist nicht soooo einfach.

Da der IR-Tasmota eigentlich kaum anders "tickt" wie RF-Tasmota kannst du vermutlich viele Anleihen aus diesem Thread holen:
WORKSHOP: MQTT und Sonoffbridge in Verbindung mit Bewegungsmeldern - 433Mhz (https://forum.fhem.de/index.php/topic,117405.0.html)

PS.: es wäre klasse, wenn jemand das MQTT-IR-Wiki (https://wiki.fhem.de/wiki/IR-MQTT-Gateway) überarbeiten könnte (in eine Fassung für tasmota-ir@MQTT2_DEVICE/MQTT2_SERVER); da sind noch die alten MQTT_DEVICE-Codes drin, und der Verweis auf remotecontrol ist auch ein stub...
Sollte eigentlich kein Problem sein, aber ich nutze kein IR mehr.
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Motivierte linke Hände am 15 Januar 2021, 14:44:27
Das Wiki schaue ich mir gerne an, wenn es hier läuft.

Also die Befehle sind ,,egal" in dem Sinn, dass sie für nichts benutzt werden? Besuch kann 4? Ich habe aktuell eigentlich nur die on/off-Taste und die Aux-Taste, aber ich kann das natürlich auch noch irgendwas anderes reinstellen. Ich dachte nur, dass wir später für irgendwas verwendet.

Ich teste nachher nochmal.
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Beta-User am 15 Januar 2021, 14:53:28
Na ja, die "Codes", die da als Beispiele (zu bestimmten Variablennamen, oder?) aufgeführt sind, waren/sind irgendwelche von meiner FB und dienen eigentlich nur dazu, auch die unterschiedlichen Varianten zu zeigen, wie man IR-Codes darstellen bzw. auch senden und empfangen kann...
Du  bekommst halt "irgendein" Ergebnis, wenn du "Besuch kann 4" einträgst, kannst das aber dann auch später wieder ändern. Letztlich relevant sind immer die effektiv am Ende gesetzten Attribute, und die kann man ja auch ohne attrTemplate jederzeit wieder anfassen.
Das ist halt einfacher, wenn man ein (prinzipiell funktionierendes) Beispiel hat. Nicht mehr, aber auch nicht weniger...

(EDIT: vermutlich ist es sogar immer DERSELBE IR-Code, nur eben anders notiert...)
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Motivierte linke Hände am 15 Januar 2021, 15:37:18
Also, es scheint so, als ob aus den Codes ein setList für 4 Kommandos erstellt werden soll. Davon funktionieren aber wohl nur 3...

Das Ergebnis (ich habe 4x denselben Code in die Maske eingetragen) ist:

   setList    power:noArg cmnd/tasmota-ir/IRsend {"Protocol":"NEC","Bits":32,"Data":"0x1D00B946","DataLSB":"0xB8009D62","Repeat":0}
  volumeup:noArg cmnd/tasmota-ir/IRsend {"Protocol":"NEC","Bits":32,"Data":"0x1D00B946","DataLSB":"0xB8009D62","Repeat":0}
  11:noArg cmnd/tasmota-ir/Backlog IRsend {"Protocol":"NEC","Bits":32,"Data":"0x1D00B946","DataLSB":"0xB8009D62","Repeat":0};cmnd/tasmota-ir/delay 8;cmnd/tasmota-ir/IRsend {"Protocol":"NEC","Bits":32,"Data":"0x1D00B946","DataLSB":"0xB8009D62","Repeat":0}
  irsend:textField cmnd/tasmota-ir/irsend {"Protocol":"$EVTPART1","Bits":$EVTPART2,"Data":"0x$EVTPART3","Repeat": 2}


Das wird dann zu den Befehlen "power", "volumeup" und "11", wobei "11" zwei Kommandos nacheinander senden soll...?

Wäre als Standard nicht vielleicht "power", "volumeup", "volumedown" oder so sinnvoll? Und vielleicht auch erstmal nur drei abfragen, anstatt 2 Kommandos an den Befehl "11" hängen? Oder soll damit was anderes gezeigt werden?

Soweit ich das verstanden habe, habe ich es mal im Wiki ergänzt.
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Beta-User am 15 Januar 2021, 16:05:08
Hmm, vermutlich hatte ich da mit der "11" was wieder aktiviert, was eher als interner Merker gedacht war, und vermutlich sollte man dann auch die Abfrage auf weniger beschränken ::) ...

Was das template im Übrigen angeht: Da ist die Frage, was man haben will, wie geschrieben kennt man die Codes ja eigentlich noch gar nicht, wenn man das anwendet, und wenn man mal verstanden hat, wie es geht, braucht man eben nur ein Beispiel, und kann dann die weiteren Befehle selbst anlegen (ggf. geführt durch das Wiki).
Den "irsend" sollte man drin lassen, das ist dafür gedacht, dass man flexibel aus den von json2nameValue() erzeugten Daten wieder selbst was zusammenbauen kann, es fehlt lediglich die Info, wie es zu verstehen ist (einfach Leerzeichen-separiert die Argumente übergeben)...
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: TomLee am 15 Januar 2021, 16:21:55
Der Hintergrund zu 11 war damals zu zeigen wie man auf einen zweistelligen TV-Kanal schaltet.
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Motivierte linke Hände am 15 Januar 2021, 16:27:09
Ah, ok. Habe ich im Wiki ergänzt. Vielleicht könnte man das noch als Hinweis in der Abfragemaske aufnehmen?
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Beta-User am 15 Januar 2021, 16:41:04
Danke für die Info und auch das Einfügen ins Wiki!

Es wäre vermutlich hilfreich, einfach in der desc und in comment einen Link aufzunehmen?

Tendenziell würde ich dann eher im attrTemplate die Abfragen jetzt dann ganz ausschalten, und im Wiki könnten wir zur Abrundung noch zeigen, wie man
a) remotecontrol + das generische Device aus dem attrTemplate verwendet und/oder
b) ein separates MQTT2_DEVICE erstellt, das dann eben ein paar "harte" Befehle kennt (vol+/-, on/off, mute?).

Kurze Einführung zu a):
da wären nur die Sequenzen entsprechend anzupassen (bzw. für MQTT2_DEVICE nochmal in anderer notation zu schreiben), also statt
attr Receiver row00 IRNEC32 2122415745:POWEROFF3,[...]
(unterstellt, der gepostete Befehl würde dazu passen)
attr Receiver row00 NEC 32 0x1D00B946:POWEROFF3,[...]Zu b) siehe den verlinkten RF-Thread.
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Motivierte linke Hände am 15 Januar 2021, 17:02:23
Die attr-Befehle gehen für das MQTT2_DEVICE nicht, oder? Scheinen jedenfalls keine bekannten/validen Attribute zu sein, die Du im Beispiel da setzt.

Ich habe das im Wiki mit setList beschrieben. Das funktioniert zumindest  :)
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Beta-User am 15 Januar 2021, 17:20:11
nein, diese attr gehören zum nächsten Abschnitt mit "remotecontrol", und es ist auch noch etwas verwirrend, dass da (thematisch/coding-mäßig) wieder auf das MQTT_DEVICE Bezug genommen wird.
Tendenziell wäre eher die Frage, ob MQTT_DEVICE da überhaupt noch was verloren hat oder ganz raus kann (es gibt einen IR-Teil für MQTT_DEVICE im "Tasmota-Großartikel", den ich aber lieber nicht weiter anfassen will, es geht dann also (fast) nichts verloren)?
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: TomLee am 15 Januar 2021, 17:26:44
Die gezeigten attr-Befehle haben sich auf ein eventuell auch zu erwähnendes remotecontrol-Beispiel im Wiki bezogen

So ein remotecontrol-Device hab ich auch mal genutzt, das war am einfachsten damals um die Befehle über das hier erwähnte Script auszuführen, da hat es für mich auch Sinn gemacht:

https://forum.fhem.de/index.php/topic,67316.msg589561.html#msg589561 (https://forum.fhem.de/index.php/topic,67316.msg589561.html#msg589561)

Aber wozu soll man jetzt im MQTT2_DEVICE Kontext eine zusätzliche remotecontrol-Definition mit einem notify im Wiki erwähnen ?
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: TomLee am 15 Januar 2021, 17:31:59
OK mit MQTT_DEVICE gabs auch ein Beispiel zu remotecontrol aber wozu braucht man sowas in FHEM ?

Es geht doch alles mit dem Device (MQTT_DEVICE|MQTT2_DEVICE) selbst ?
Titel: Antw:mqtt2.tasmota_ir.template: Fragen Anregungen
Beitrag von: Beta-User am 15 Januar 2021, 17:45:42
...ist eine Geschmacksfrage...

Ich habe auch meine remotecontrol-Definitionen zwischenzeitlich alle beseitigt, aber an sich ist es eine feine Sache, damit optisch eine "normale" Fernbedienung nachzubasteln, und evtl. baue ich die auch irgendwie anders wieder ein, ist ja nicht auf IR beschränkt. Und wenn man unterschiedliche Belegungsebenen hat, kann man das uU. damit am einfachsten umsetzen. Ich fand es damals (noch mit MYSENSORS_DEVICE) am Schwierigsten, die ersten paar Zeilen zu schreiben und das Zusammenwirken von IO (jetzt MQTT2_DEVICE), remotecontrol und diesem ominösen notify zu verstehen.
Von daher wäre ich dankbar, wenn es jemand "umpflegen" könnte :) .