Autor Thema: mqtt2.template: bugs, Fragen, Anregungen  (Gelesen 72887 mal)

Offline travelling-man

  • New Member
  • *
  • Beiträge: 41
Antw:mqtt2.template: bugs, Fragen, Anregungen
« Antwort #495 am: 13 Januar 2022, 23:49:44 »
Hallo Otto,

Du hast natürlich Recht. Das Device hat noch ein weiteres readingList.

shellies/EG_BZ_WS/announce:.* { json2nameValue($EVENT) }

Dadurch greift das globale announce nicht. https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/lib/AttrTemplate/mqtt2.template#L2524
Ein Bugfix kann man nur übers SVN einkippen?

VG
Basti

Online OdfFhem

  • Sr. Member
  • ****
  • Beiträge: 884
Antw:mqtt2.template: bugs, Fragen, Anregungen
« Antwort #496 am: 14 Januar 2022, 04:49:18 »
shellies/announce:.* { $EVENT =~ m,..id...EG_BZ_WS...mac.*, ? json2nameValue($EVENT) : return }

{"id":"EG_BZ_WS","model":"SHSW-1","mac":"xxxxxxxx","ip":"xxxxxxx","new_fw":false,"fw_ver":"20211109-124958/v1.11.7-g682a0db"}

shellies/EG_BZ_WS/announce:.* { json2nameValue($EVENT) }

Mit den angegebenen Informationen ist klar, dass - abhängig vom Topic - nur ein Eintrag aus readingList relevant sein kann. Der eine Eintrag verarbeitet allgemeine Events, der andere Eintrag die speziell für das FHEM-Device gedachten Events.

Wenn Du sagst, dass der von Dir angegebene Payload verarbeitet wurde, kann er nur zu einem der beiden Einträge passen ... der mit der Bedingung kann es schon mal nicht sein ... bei der Ermittlung, welcher Eintrag relevant ist, spielt allerdings der Payload gar keine Rolle ... das Topic alleine entscheidet bei den von Dir genannten Einträgen aus der readingList.

Mir erscheint die formulierte Bedingung im allgemeinen Eintrag auch verbesserungswürdig ... klar, man will den Payload nur verarbeiten, wenn er für das betrachtete FHEM-Device gedacht ist ... aber wieso klammert man sich zusätzlich an "mac", denn generell kann "mac" irgendwo vor oder hinter der "id" stehen ... übrigens ist auch die "id" nicht generell auf den Anfang des Payloads fixiert, was die beiden Punkte am Anfang des regulären Ausdrucks suggerieren könnten - die beiden Punkte stehen für beliebige Zeichen und nicht zwanghaft für {" ...

***

Jeder kann Verbesserungsvorschläge machen, aber nicht jeder kann diese selbst für die Allgemeinheit ins SVN einstellen ... interessant wäre jetzt vermutlich, wie Dein Bugfix aussieht ... "(weiter)entwickeln" und "austesten" kann man ja vorab nach Herzenslust auf seinem eigenen System ...

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16836
Antw:mqtt2.template: bugs, Fragen, Anregungen
« Antwort #497 am: 14 Januar 2022, 09:29:00 »
Was dieses "announce"-Topic angeht, war ich schon immer skeptisch, ob man das braucht, und wenn es (meistens?) untauglich ist, stellt sich die Frage, ob man das nicht ganz "erden" sollte und (zusätzlich) empfehlen, diesen Zweig in "ignoreRegexp" zu ergänzen (statt das zu "verbessern")...

[partly OT]
Könnte evtl. jemand isy den "Knopf" zeigen, wie man bei dem shellyplus1 das "generic status update via MQTT" einschaltet... (https://forum.fhem.de/index.php/topic,125408.0.html)
Server: HP-T620@Debian 11, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

 

decade-submarginal