mqtt2.template: bugs, Fragen, Anregungen

Begonnen von Beta-User, 15 Dezember 2018, 11:44:43

Vorheriges Thema - Nächstes Thema

carlos

Hallo,
Ich habe das 2er noch mal getestet. Bei einem komplett leeren device ohne readings muss man DEVNAME noch abändern.
Ansonsten funktioniert das jetzt.
Sieht dann so aus:

Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

Beta-User

Danke für die Rückmeldung!

Das mit DEVNAME ist klar, das leitet das template aus der readingList ab - ist die leer oder liefert aus anderen Gründen kein Ergebnis, wird nachgefragt...
Hättest du noch ein list zum 2-er?
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

carlos

Ja hier noch das list, habe mir aber das stateformat abgeändert:
Internals:
   CFGFN      /opt/fhem/fhem.mqtt2.cfg
   CID        sonoffdualR2
   DEF        sonoffdualR2
   DEVICETOPIC MQTT2_sonoffdualR2
   FUUID      5c455979-f33f-ffe7-1032-c86d551089617a3b
   IODev      m2s
   LASTInputDev m2s
   MSGCNT     129
   NAME       MQTT2_sonoffdualR2
   NR         729
   STATE      Online
<a href="http://XXX.XXX.XXX.XXX" target="_blank">sonoffdualR2-4159</a>
<br>
<b>Tasmota Revision:</b>
6.4.1.18(68c60c3-sonoff)
1:off
2:off
   TYPE       MQTT2_DEVICE
   m2s_MSGCNT 129
   m2s_TIME   2019-02-24 16:31:13
   .attraggr:
   .attrminint:
   OLDREADINGS:
   READINGS:
     2019-02-24 11:26:05   FallbackTopic   cmnd/sonoffdualR2_fb/
     2019-02-24 11:26:05   GroupTopic      sonoffs
     2019-02-24 11:26:05   Hostname        sonoffdualR2-4159
     2019-02-24 11:26:05   IPAddress       XXX.XXX.XXX.XXX
     2019-02-24 11:26:05   LWT             Online
     2019-02-24 16:31:13   LoadAvg         19
     2019-02-24 11:26:05   Module          Sonoff Dual R2
     2019-02-24 16:31:13   POWER1          off
     2019-02-24 16:31:13   POWER2          off
     2019-02-24 11:26:05   RestartReason   Software/System restart
     2019-02-24 11:12:35   SaveData        on
     2019-02-24 11:12:34   SetOption26     on
     2019-02-24 16:31:13   Sleep           50
     2019-02-24 16:31:13   SleepMode       Dynamic
     2019-02-24 11:12:33   StateText1      off
     2019-02-24 11:12:34   StateText2      on
     2019-02-24 11:12:34   StateText3      toggle
     2019-02-24 11:12:34   StateText4      hold
     2019-02-24 16:31:13   Time            2019-02-24T16:31:13
     2019-02-24 16:31:13   Uptime          0T05:05:14
     2019-02-24 16:31:13   Vcc             3.448
     2019-02-24 11:26:05   Version         6.4.1.18(68c60c3-sonoff)
     2019-02-24 11:26:05   WebServerMode   Admin
     2019-02-24 16:31:13   Wifi_AP         1
     2019-02-24 16:31:13   Wifi_BSSId      XX:XX:XX:XX:XX:XX
     2019-02-24 16:31:13   Wifi_Channel    1
     2019-02-24 16:31:13   Wifi_Downtime   0T00:00:04
     2019-02-24 16:31:13   Wifi_LinkCount  1
     2019-02-24 16:31:13   Wifi_RSSI       98
     2019-02-24 16:31:13   Wifi_SSId       XXX
Attributes:
   IODev      m2s
   alias      SonoffdualR2
   autocreate 0
   devStateIcon Online:10px-kreis-gruen@green Offline:10px-kreis-rot@red 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on
   icon       hue_filled_outlet
   model      A_02a_tasmota_2ch_unified
   readingList tele/sonoffdualR2/LWT:.* LWT
  tele/sonoffdualR2/STATE:.* { json2nameValue($EVENT) }
  tele/sonoffdualR2/SENSOR:.* { json2nameValue($EVENT) }
  tele/sonoffdualR2/INFO.:.* { json2nameValue($EVENT) }
  stat/sonoffdualR2/RESULT:.* { json2nameValue($EVENT) }
  tele/sonoffdualR2/UPTIME:.* { json2nameValue($EVENT) }
  stat/sonoffdualR2/POWER1:.* POWER1
  stat/sonoffdualR2/POWER2:.* POWER2
   room       MQTT2_DEVICE
   setList    POWER1:on,off,toggle cmnd/sonoffdualR2/POWER1 $EVTPART1
  POWER2:on,off,toggle cmnd/sonoffdualR2/POWER2 $EVTPART1
   setStateList on off toggle
   stateFormat LWT
<a href="http://IPAddress" target="_blank">Hostname</a>
<br>
<b>Tasmota Revision:</b>
Version
1:POWER1
2:POWER2
   webCmd     POWER1:POWER2


Sieht bei mir jetzt so aus.
Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

Beta-User

Kurze Info an eventuelle Mitleser hier:

Für das MQTT2_CLIENT-Basis-Bridge-template wäre m.E. eine grundlegende Änderung der bridgeRegexp sinnvoll. Ist ein spezielles Thema, daher dazu ein neuer Thread hier:
https://forum.fhem.de/index.php/topic,98126.0.html

Tester (und Rückmeldungen) wären dort willkommen ;) .

Zitat von: carlos am 24 Februar 2019, 16:38:43
Ja hier noch das list, habe mir aber das stateformat abgeändert:
Im Prinzip: Danke.

Zwei Anmerkungen:
- Ich kann sowas dann in einer gegenüber dem template-Ergebnis abgeänderten Fassung nicht wirklich gut ins Wiki übertragen, da man dann zu viel erklären muß...
- (mehr an mich selbst: besser ist ein "list -r <device>", also das RAW-Format....)
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

Zitat von: Beta-User am 11 März 2019, 13:10:10
Die Frage wäre m.E. besser hier aufgehoben gewesen: https://forum.fhem.de/index.php/topic,94494.msg872200.html#msg872200 (bzw. es handelt sich ggf. sogar um eine ganz allgemeine Frage zum ganzen...)

Grundsätzlich gehört immer zusammen, was ab "name:" bis vor das nächste "name:" steht.
"desc:" ist das, was als Beschreibung bei Aufruf von ? erscheint.

Was mit Replace gemeint ist, kann ich nur raten:
Wenn man irgendeine Variable vorab mit Inhalt füllen will, der dann in den nachfolgenden Zeilen statt der Variable eingesetzt werden soll, macht man das mit "par: ...". Dabei ist die Syntax: VARIABLENNAME;Hinweistext, der in einem Dialogfeld zur Erstetzen im Aufruf erscheint, wenn die hinter dem nächsten Trenner (";") stehende Perl-Funktion "undef" zurückgibt. Wird was anderes als undef (oder vielleicht ""?) zurüchgeliefert, wird das direkt und ohne weitere Rückfrage übernommen.

Wenn das in der Form noch nicht weiterhilft, bitte in den anderen Thread ausweichen!

Bei Aufruf von ? bekommt man in der Kombinationsliste alle name: angezeigt, das ist klar.
Wähle ich ein Template aus erscheint das Anwendungsfenster siehe Bild im Anhang.

Im Anwendungsfenster findest du Replace, dort obendrüber hätte ich desc: erwartet. Ehrlich gesagt hab ich darauf noch nie geachtet und eigentlich mein ich ist mir eine Beschreibung bewusst nirgendwo bisher aufgefallen .Beschäftige mich zum ersten mal damit wegen dem angesprochenen IR-Template.

Das mit par: ist auch klar, das hab ich schon hinbekommen.

Beta-User

Ah ok, dieses "Replace" war gemeint.

Das scheint aus dem allg. AttrTemplate-Code zu kommen und wird immer (nur) angezeigt, wenn mind. eine der par:-Anweisungen nicht aufgelöst werden kann, also undef zurückgibt.

Für das IR-template (gedanklich erst mal mit den 3 Anweisungen für on, off und volume_up) würde ich daher vorschlagen, einen Beispielcode in den Hinweistext aufzunehmen. Dann würde aus:
par:BASE_ID;BASE_ID typically is milight;{ AttrVal("DEVICE","readingList","") =~ m,([^/]+)[/].*ates/.*:, ? $1 : undef }
ungetestet in etwa sowas:
par:ONCOMMAND;ONCOMMAND is the needed JSON-Code to be sent like '{"protocol": "NEC","bits": 32, "data": 551489775}' (without '');{ undef }
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

Capu

Mahlzeit zusammen,
mir ist grad noch ein kleiner Schönheitsfehler aufgefallen. In der Template-Datei steht bei den Devices L_08..L_11 die Description noch (halb)falsch drin.
Ein Flüchtigkeitsfehler der wahrscheinlich beim erstellen/abändern passiert ist...

L_08_ist:
desc: Temp/hum/hpa sensor via zigbee2mqtt <br>Tested with: Xiaomi Aqara RTCGQ11LM Human Motion Sensor
L_08_soll:
desc: Human motion sensor via zigbee2mqtt <br>Tested with: Xiaomi Aqara RTCGQ11LM Human Motion Sensor

L_09_ist:
desc: Temp/hum/hpa sensor via zigbee2mqtt <br>Tested with: Xiaomi Aqara DJT11LM Smart Motion Sensor
L_09_soll:
desc: Smart motion sensor via zigbee2mqtt <br>Tested with: Xiaomi Aqara DJT11LM Smart Motion Sensor

L_10_ist:
desc: Temp/hum/hpa sensor via zigbee2mqtt <br>Tested with: Xiaomi Aqara SJCGQ11LM Water Leak Sensor
L_10_soll:
desc: Water leak sensor via zigbee2mqtt <br>Tested with: Xiaomi Aqara SJCGQ11LM Water Leak Sensor

L_11_ist:
desc: Temp/hum/hpa sensor via zigbee2mqtt <br>Tested with: Xiaomi Aqara WXKG02LM 2btn Smart Light Switch
L_11_soll:
desc: Smart light switch 2btn via zigbee2mqtt <br>Tested with: Xiaomi Aqara WXKG02LM 2btn Smart Light Switch

Tut der Funktion keinen Abbruch. Nur etwas Kosmetik. :)
Server: Raspberry 3B+ - USB-SSD (Raspian Stretch) - HM-MOD-RPI-PCB - 433MHz@GPIO - MQTT2
Support: Raspberry (Raspian Stretch) - lepresenced - slaesh's CC2652RB - zigbee2mqtt
Stuff: HM-Thermostate, -Dimmer, -Schalter, -Fensterkontakte, 433MHz-"Baumarktsteckdosen", Aqara Sensoren/Switches

Beta-User

ups....
Korrektur kommt. Werde allerdings dann wenn möglich auch gleich noch die neuen Filteroptionen einbauen: Rudi hat was gebastelt, dass man jeweils noch mehr/anders als bisher filtern kann. Dann erhält man zukünftig ggf. die meisten zigbee-templates nur noch angezeigt, wenn die CID auch zigbee_.* entspricht, entsprechend für milight, shelly....

Geht ggf. auch nicht auf einmal, und euer feedback wäre auch nicht schlecht :) .
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

"desc:" ist das, was als Beschreibung bei Aufruf von ? erscheint.

Jetzt   ;D, es war mir bisher noch nicht einmal der Gedanke gekommen ein set <MQTT2_DEVICE-NAME> attrTemplate ? auszuführen. ::)

Beta-User

Zitat von: TomLee am 11 März 2019, 17:55:33
"desc:" ist das, was als Beschreibung bei Aufruf von ? erscheint.

Jetzt   ;D , es war mir bisher noch nicht einmal der Gedanke gekommen ein set <MQTT2_DEVICE-NAME> attrTemplate ? auszuführen. ::)
:o 8) ;D ;D ;D

Für was gebe ich mir eigentlich die Mühe, sowas ins Wiki zu schreiben bzw. warum packt Rudi sowas das in die commandref?!? (Mist, da fällt mir noch ein, dass das da ggf. noch fehlt und ich einen offenen Punkt habe...)

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

Beta-User

Zitat von: Beta-User am 11 März 2019, 14:01:40
Werde allerdings dann wenn möglich auch gleich noch die neuen Filteroptionen einbauen

So, Filter sind ergänzt.

Bitte also nicht wundern, wenn die Liste der angezeigten attrTemplates jetzt deutlich kürzer ist als bisher!
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

ripperle

Zitat von: Beta-User am 11 März 2019, 22:10:49

So, Filter sind ergänzt.

Bitte also nicht wundern, wenn die Liste der angezeigten attrTemplates jetzt deutlich kürzer ist als bisher!


Wollte gerade nach nem Update ne neue Ikea Birne anlernen als ich schon Panik bekomme habe, warum auf einmal die templates weg sind..

Wo ist denn beschrieben wie das jetzt funktioniert mit dem Filter?

Ich lege bisher die mqtt2 Devices händisch an und setzte dann das entsprechende template mit device topic...

Auto create nutze ich nicht, oder muss man das jetzt nutzen  ??? :o

Gruß

Beta-User

Zitat von: ripperle am 12 März 2019, 20:00:42
Wo ist denn beschrieben wie das jetzt funktioniert mit dem Filter?
Gefiltert wird bei den zigbee-Devices nach CID. Die muß mit zigbee beginnen (und wird bei manuellem Anlegen durch eine weitere Angabe nach dem Device-TYPE MQTT2_DEVICE erzeugt).

Was jeweils relevant ist, hängt vom verwendeten Filter ab (=>Quellcode lesen...), bei den tasmotas z.B. muß ein readingList-Eintrag mit tele oder cmnd da sein; wo es ging, habe ich mit CID gearbeitet.

Einen entsprechenden Hinweis werde ich bei nächster Gelegenheit mit in das erste "template" aufnehmen.
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

ripperle

Zitat von: Beta-User am 12 März 2019, 20:17:39
Gefiltert wird bei den zigbee-Devices nach CID. Die muß mit zigbee beginnen (und wird bei manuellem Anlegen durch eine weitere Angabe nach dem Device-TYPE MQTT2_DEVICE erzeugt).

Was jeweils relevant ist, hängt vom verwendeten Filter ab (=>Quellcode lesen...), bei den tasmotas z.B. muß ein readingList-Eintrag mit tele oder cmnd da sein; wo es ging, habe ich mit CID gearbeitet.

Einen entsprechenden Hinweis werde ich bei nächster Gelegenheit mit in das erste "template" aufnehmen.

Ähh hää  ;D

Hab mal ein Gerät angelegt Mit define test MQTT2_DEVICE zigbee...

Da kann ich trotzdem kein template wählen...

Und in welchem Quellcode soll ich nachschauen?

Beta-User

Zitat von: ripperle am 12 März 2019, 20:32:24
Hab mal ein Gerät angelegt Mit define test MQTT2_DEVICE zigbee...
Da kann ich trotzdem kein template wählen...
Ähm, mit den Punkten? (Ging das?!?) Das könnte dann schon das Problem sein...
Nomalerweise (also bei Verwendung von autocreate und der bridge aus den templates) ist das sowas, was dann in der DEF landet: zigbee_0x90fd9ffffe0bcd51

Damit ging es jedenfalls eben bei mir mit aktuellem FHEM aus dem regulären update...

ZitatUnd in welchem Quellcode soll ich nachschauen?
in dem von ./FHEM/lib/AttrTemplate/mqtt2.template
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