mqtt2.tasmota_ir.template: Fragen Anregungen

Begonnen von TomLee, 23 März 2019, 18:33:07

Vorheriges Thema - Nächstes Thema

TomLee

Hallo Beta-User,

anbei eine aktualisierte Version die ich auch wirklich getestet habe mir ist hier 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

RappaSan

Schön, daß ich mithelfen konnte.
Wie schon erwähnt: Es geht voran... :)

Beta-User

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)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

TomLee

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.

Beta-User

https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template?rev=19007 Dort Zeile 474ff?

Hmm, wenn das jetzt wieder nicht angezeigt wir, obwohl die readingList paßt, muß ich mal schauen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

TomLee

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

Beta-User

 :)
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 ...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Motivierte linke Hände

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!
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Beta-User

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

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.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Motivierte linke Hände

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.
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Beta-User

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...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Motivierte linke Hände

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.
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Beta-User

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)...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

TomLee

Der Hintergrund zu 11 war damals zu zeigen wie man auf einen zweistelligen TV-Kanal schaltet.

Motivierte linke Hände

Ah, ok. Habe ich im Wiki ergänzt. Vielleicht könnte man das noch als Hinweis in der Abfragemaske aufnehmen?
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.