[gelöst] Syntaxfehler im notify für Infrarot-WLAN Gateway

Begonnen von HM Krause, 14 Januar 2020, 10:12:41

Vorheriges Thema - Nächstes Thema

HM Krause

Ich habe ein Infrarot-WLAN Gateway auvisio S06 IR Bridge (IREDblaster) mit Tasmota geflasht und in FHEM MQTT eingebunden. (define IREDblaster MQTT_DEVICE | attr IREDblaster IODev myBroker).
Die Readings funktionieren einwandfrei, sowohl in FHEM als auch in MQTTfx. Dann verwende ich das Reading meines DENON AV-Receivers TON AUS: {"Protocol":"DENON","Bits":48,"Data":"0x2A4C0284E86E","DataLSB":"0x543240211776"} und sende es mit MTTfx im Topic cmnd/IREDblaster/irsend oder gebe in die Tasmota-Konsole von IRDEblaster ein:
IRsend {"Protocol":"DENON","Bits":48,"Data":"0x2A4C0284E86E","DataLSB":"0x543240211776"}. Das funktioniert alles.

Dann habe ich noch eine Fernbedienung mit ein paar Tasten, in FHEM erstellt (define Receiver remotecontrol | attr Receiver rc_iconpath icons/remotecontrol und so weiter). 
Danach laut FHEM-Forum: Eventviewer öffnen. Druck auf die Taste TON AUS meiner erstellten Fernbedienung erzeugt das Event "remotecontrol IREDremote IRNEC32 1587624135".

"create notify und "modify" ergibt das notify: IREDremote:IRNEC32.1587624135 set IREDblaster IRsend {"Protocol":"DENON","Bits":48,"Data":"0x2A4C0284E86E","DataLSB":"0x543240211776"}

Wenn ich dann die Taste TON AUS betätige, ergibt sich nichts: Das event "remotecontrol IREDremote IRNEC32 1587624135" ist unverändert, in den Topics bei MQTTfx steht auch nichts.
Was ist an meinem notify falsch?
Setze ich das notify probehalber auf IREDremote:IRNEC32.1587624135 set sonoffswitchS20 on, dann geht wenigstens mit der Taste TON AUS das Licht an der Steckdose Sonoff S20 an, aber das wollte ich ja eigentlich nicht..

Otto123

#1
Hi,

also ich habe das mit dem Betreff eher zufällig gelesen. Und habe deinen Text 3 mal lesen müssen um zu verstehen wo Dein Problem liegt:
Du hast ein mqtt Problem, dein set IREDblaster Befehl ist so sicher nicht richtig.
Dein notify funktioniert.
Der Befehl in der Tasmota Console funktioniert.
Aber Dein FHEM mqtt Device sendet kein Publish zu deinem tasmota Gerät.

Leider weiß ich jetzt auf Anhieb nicht wie das bei "nicht MQTT2 Geräten" geht, da bin ich zu neu in der Szene.

Aber wenn Du Hilfe willst, solltest Du die Frage neu stellen und zwar im MQTT Board. Mit der Headline  und in dem Board werden das nur wenige lesen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Beta-User

Ob der Befehl richtig ist, wird man vermutlich erst wissen, wenn man ein list gesehen hat.
Grade wenn es um JSON-Senden geht, ist MQTT2_DEVICE eher zu empfehlen, bei MQTT_DEVICE muß man da afaik ziemlich rumfrickeln (war einer der Gründe, warum ich MQTT2_DEVICE selbst von Anfang an stark supportet habe).

Für eine schnelle Lösung würde ich empfehlen, das notify auf ein direktes publish am IO umzustellen. Der Ausführungsteil müßte eigentlich so klappen:set myBroker publish cmnd/IREDblaster/irsend {"Protocol":"DENON","Bits":48,"Data":"0x2A4C0284E86E","DataLSB":"0x543240211776"}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

Hallo,

wenn ich es richtig verstehe sind die geschwungenen das Problem, Reinhart hatte das vor längerer Zeit mit einem externen Script gelöst, das ist hier ziemlich weit unten beschrieben.

Hier auch mal reinschnuppern.

Heute würd ich das nicht mehr so machen und das mit einem MQTT2_Device angehen, das hast die setter (Tasten) direkt in diesem einen  Device, es gibt auch Templates, einfach mal suchen.

Gruß

Thomas

HM Krause

#4
Die "schnelle Lösung" hat sofort funktioniert. Mit MQTT2 habe ich mich noch nicht beschäftigt, MQTT war eben einfach zuerst da. Ich werde es aber machen. Bin 65, deshalb verstehe ich manches nicht sofort und gleich...gehe auch gern mal raus zum Bergwandern...also eher nicht der Programmierprofi. Meine Geräte haben alle Espurna und sind mit MQTT im FHEM, darüber gibt es in DE weniger in Foren. Aber ich kann MQTT2 ja mal ausprobieren ohne die Geräte umzustellen und im Chaos zu enden. Beim jetzigen Infrarot-WLAN Gateway war Tasmota für mich auch noch neu. Einen JeeLink Clone 868MHz will ich mir demnächst mal bauen, das endet wahrscheinlich auch wieder an einer Stelle bei der Software dann.
Also: Vielen Dank an die schnelle Hilfe von allen hier.


Zitat von: Beta-User am 14 Januar 2020, 11:37:12
Ob der Befehl richtig ist, wird man vermutlich erst wissen, wenn man ein list gesehen hat.
Grade wenn es um JSON-Senden geht, ist MQTT2_DEVICE eher zu empfehlen, bei MQTT_DEVICE muß man da afaik ziemlich rumfrickeln (war einer der Gründe, warum ich MQTT2_DEVICE selbst von Anfang an stark supportet habe).

Für eine schnelle Lösung würde ich empfehlen, das notify auf ein direktes publish am IO umzustellen. Der Ausführungsteil müßte eigentlich so klappen:set myBroker publish cmnd/IREDblaster/irsend {"Protocol":"DENON","Bits":48,"Data":"0x2A4C0284E86E","DataLSB":"0x543240211776"}

Beta-User

Danke für die Rückmeldung und das [gelöst] :) .

Zu MQTT2 könntes du die Praxisbeispiele im Wiki konsultieren, und es gibt hier im MQTT-Bereich des Forums auch einen "Umstellungsthread" (da gehts vorrangig um XiaomiMQTTDevice, aber da sind viele prinzipielle Dinge erläutert).
Meine Empfehlung wäre, einen MQTT2_SERVER mit "1884 global" zu definieren, und mal testweise einen oder zwei von den Espurna-Devices dahin umzuleiten (sofern der mosquitto auf demselben Server sitzt: einfach den Port im Web-Interface ändern, wenn die sowas haben), dann wird vermutlich schon manches klarer.

(Grundsätzlich fände ich es gut, wir könnten ein paar attrTemplate für Espurna zusammen entwickeln, das scheint auch eine ganz ordentliche firmware-Variante für den ESP8266 zu sein; das ist kein Hexenwerk und tendenziell deutlich einfacher als IR-Codes (oder RF-Codes), die prinzipbedingt ziemlich "offen" sind und daher einen recht hohen Nachbearbeitungsbedarf haben). Das "macht" bzw. braucht auch Datenverpackung mit JSON, oder?



Jeelink würde ich tendenziell nicht mehr empfehlen, zumindest ist es afaik seit kurzem so, dass auch Signalduino in der Lage ist,  LaCrosse zu empfangen (neben vielem anderen).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files