[geklärt] Richtiger Umgang mit MQTT2

Begonnen von masterpete23, 11 Januar 2022, 09:06:41

Vorheriges Thema - Nächstes Thema

masterpete23

Hallo,

ich bin gerade dabei meine Geräte auf ein neues FHEM samt neuen MQTT2Server umzuziehen.
Vorher war es noch MQTT.
Nun wollte ich es gleich richtig machen und daher frage ich, da ich mir unsicher bin.
Server - hier habe ich schon jetzt 2 Geräte daher ist mir die Frage unten gekommen:
Internals:
   CONNECTS   2
   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
   ClientsKeepOrder 1
   DEF        11883 global
   FD         26
   FUUID      61dca4ae-f33f-53cd-d84e-c153f9f8956e0964
   NAME       m2s
   NR         304
   PORT       11883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   MatchList:
     1:MQTT2_DEVICE ^.
     2:MQTT_GENERIC_BRIDGE ^.
   READINGS:
     2022-01-11 08:56:09   RETAIN          {"tasmota/discovery/84F3EBEC9DF6/config":"{\u0022ip\u0022:\u0022192.168.0.84\u0022,\u0022dn\u0022:\u0022SP111_01\u0022,\u0022fn\u0022:[\u0022SP111_01\u0022,null,null,null,null,null,null,null],\u0022hn\u0022:\u0022SP111-01\u0022,\u0022mac\u0022:\u002284F3EBEC9DF6\u0022,\u0022md\u0022:\u0022BW_JVM\u0022,\u0022ty\u0022:0,\u0022if\u0022:0,\u0022ofln\u0022:\u0022Offline\u0022,\u0022onln\u0022:\u0022Online\u0022,\u0022state\u0022:[\u0022off\u0022,\u0022on\u0022,\u0022toggle\u0022,\u0022hold\u0022],\u0022sw\u0022:\u002210.1.0\u0022,\u0022t\u0022:\u0022SP111_01\u0022,\u0022ft\u0022:\u0022%prefix%/%topic%/\u0022,\u0022tp\u0022:[\u0022cmnd\u0022,\u0022stat\u0022,\u0022tele\u0022],\u0022rl\u0022:[1,0,0,0,0,0,0,0],\u0022swc\u0022:[-1,-1,-1,-1,-1,-1,-1,-1],\u0022swn\u0022:[null,null,null,null,null,null,null,null],\u0022btn\u0022:[0,0,0,0,0,0,0,0],\u0022so\u0022:{\u00224\u0022:0,\u002211\u0022:0,\u002213\u0022:0,\u002217\u0022:0,\u002220\u0022:0,\u002230\u0022:0,\u002268\u0022:0,\u002273\u0022:0,\u002282\u0022:0,\u0022114\u0022:0,\u0022117\u0022:0},\u0022lk\u0022:0,\u0022lt_st\u0022:0,\u0022sho\u0022:[0,0,0,0],\u0022ver\u0022:1}","tasmota/discovery/84F3EBEC9DF6/sensors":"{\u0022sn\u0022:{\u0022Time\u0022:\u00222022-01-11T08:56:09\u0022,\u0022ENERGY\u0022:{\u0022TotalStartTime\u0022:\u00222019-12-07T19:24:58\u0022,\u0022Total\u0022:5.019,\u0022Yesterday\u0022:0.007,\u0022Today\u0022:0.002,\u0022Power\u0022: 2,\u0022ApparentPower\u0022:50,\u0022ReactivePower\u0022:50,\u0022Factor\u0022:0.04,\u0022Voltage\u0022:222,\u0022Current\u0022:0.226}},\u0022ver\u0022:1}","tasmota/discovery/C4DD570B4915/config":"{\u0022ip\u0022:\u0022192.168.0.122\u0022,\u0022dn\u0022:\u0022SP1_01\u0022,\u0022fn\u0022:[\u0022SP1_01\u0022,null,null,null,null,null,null,null],\u0022hn\u0022:\u0022SP1-01\u0022,\u0022mac\u0022:\u0022C4DD570B4915\u0022,\u0022md\u0022:\u0022Gosund SP1 v23\u0022,\u0022ty\u0022:0,\u0022if\u0022:0,\u0022ofln\u0022:\u0022Offline\u0022,\u0022onln\u0022:\u0022Online\u0022,\u0022state\u0022:[\u0022OFF\u0022,\u0022ON\u0022,\u0022TOGGLE\u0022,\u0022HOLD\u0022],\u0022sw\u0022:\u002210.1.0\u0022,\u0022t\u0022:\u0022SP1_01\u0022,\u0022ft\u0022:\u0022%prefix%/%topic%/\u0022,\u0022tp\u0022:[\u0022cmnd\u0022,\u0022stat\u0022,\u0022tele\u0022],\u0022rl\u0022:[1,0,0,0,0,0,0,0],\u0022swc\u0022:[-1,-1,-1,-1,-1,-1,-1,-1],\u0022swn\u0022:[null,null,null,null,null,null,null,null],\u0022btn\u0022:[0,0,0,0,0,0,0,0],\u0022so\u0022:{\u00224\u0022:0,\u002211\u0022:0,\u002213\u0022:0,\u002217\u0022:0,\u002220\u0022:0,\u002230\u0022:0,\u002268\u0022:0,\u002273\u0022:0,\u002282\u0022:0,\u0022114\u0022:0,\u0022117\u0022:0},\u0022lk\u0022:0,\u0022lt_st\u0022:0,\u0022sho\u0022:[0,0,0,0],\u0022ver\u0022:1}","tasmota/discovery/C4DD570B4915/sensors":"{\u0022sn\u0022:{\u0022Time\u0022:\u00222022-01-11T08:54:29\u0022,\u0022ENERGY\u0022:{\u0022TotalStartTime\u0022:\u00222021-01-16T22:04:25\u0022,\u0022Total\u0022:0.000,\u0022Yesterday\u0022:0.000,\u0022Today\u0022:0.000,\u0022Power\u0022: 1,\u0022ApparentPower\u0022:17,\u0022ReactivePower\u0022:17,\u0022Factor\u0022:0.04,\u0022Voltage\u0022:235,\u0022Current\u0022:0.071}},\u0022ver\u0022:1}","tele/SP111_01/LWT":"Online","tele/SP1_01/LWT":"Online"}
     2022-01-10 23:37:39   lastPublish     cmnd/SP111_01/Backlog:StateText1 off; StateText2 on; StateText3 toggle; StateText4 hold; SetOption26 1; SaveData 1
     2022-01-11 08:55:59   nrclients       2
     2022-01-11 08:54:22   state           Initialized
   clients:
     m2s_192.168.0.122_64667 1
     m2s_192.168.0.84_54560 1
   retain:
     tasmota/discovery/84F3EBEC9DF6/config:
       ts         1641887769.19891
       val        {"ip":"192.168.0.84","dn":"SP111_01","fn":["SP111_01",null,null,null,null,null,null,null],"hn":"SP111-01","mac":"84F3EBEC9DF6","md":"BW_JVM","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["off","on","toggle","hold"],"sw":"10.1.0","t":"SP111_01","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[1,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0,0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0,"117":0},"lk":0,"lt_st":0,"sho":[0,0,0,0],"ver":1}
     tasmota/discovery/84F3EBEC9DF6/sensors:
       ts         1641887769.1993
       val        {"sn":{"Time":"2022-01-11T08:56:09","ENERGY":{"TotalStartTime":"2019-12-07T19:24:58","Total":5.019,"Yesterday":0.007,"Today":0.002,"Power": 2,"ApparentPower":50,"ReactivePower":50,"Factor":0.04,"Voltage":222,"Current":0.226}},"ver":1}
     tasmota/discovery/C4DD570B4915/config:
       ts         1641887669.7368
       val        {"ip":"192.168.0.122","dn":"SP1_01","fn":["SP1_01",null,null,null,null,null,null,null],"hn":"SP1-01","mac":"C4DD570B4915","md":"Gosund SP1 v23","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"10.1.0","t":"SP1_01","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[1,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0,0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0,"117":0},"lk":0,"lt_st":0,"sho":[0,0,0,0],"ver":1}
     tasmota/discovery/C4DD570B4915/sensors:
       ts         1641887669.74121
       val        {"sn":{"Time":"2022-01-11T08:54:29","ENERGY":{"TotalStartTime":"2021-01-16T22:04:25","Total":0.000,"Yesterday":0.000,"Today":0.000,"Power": 1,"ApparentPower":17,"ReactivePower":17,"Factor":0.04,"Voltage":235,"Current":0.071}},"ver":1}
     tele/SP111_01/LWT:
       ts         1641887759.80305
       val        Online
     tele/SP1_01/LWT:
       ts         1641887669.35085
       val        Online
Attributes:
   autocreate complex
   room       Messenger


Beispielgerät:
Internals:
   CID        SP1_01
   DEF        SP1_01
   DEVICETOPIC MQTT2_SP1_01
   FUUID      61dd373b-f33f-53cd-05a2-d5f3852424f5b11f
   IODev      m2s
   LASTInputDev m2s
   MSGCNT     6
   NAME       MQTT2_SP1_01
   NR         309
   STATE      ???
   TYPE       MQTT2_DEVICE
   m2s_CONN   m2s_192.168.0.122_64667
   m2s_MSGCNT 6
   m2s_TIME   2022-01-11 08:59:03
   READINGS:
     2022-01-11 08:54:22   IODev           m2s
     2022-01-11 08:54:29   LWT             Online
     2022-01-11 08:54:29   POWER           
     2022-01-11 08:59:03   SENSOR_ENERGY_ApparentPower 16
     2022-01-11 08:59:03   SENSOR_ENERGY_Current 0.070
     2022-01-11 08:59:03   SENSOR_ENERGY_Factor 0.03
     2022-01-11 08:59:03   SENSOR_ENERGY_Period 0
     2022-01-11 08:59:03   SENSOR_ENERGY_Power 1
     2022-01-11 08:59:03   SENSOR_ENERGY_ReactivePower 16
     2022-01-11 08:59:03   SENSOR_ENERGY_Today 0.000
     2022-01-11 08:59:03   SENSOR_ENERGY_Total 0.000
     2022-01-11 08:59:03   SENSOR_ENERGY_TotalStartTime 2021-01-16T22:04:25
     2022-01-11 08:59:03   SENSOR_ENERGY_Voltage 235
     2022-01-11 08:59:03   SENSOR_ENERGY_Yesterday 0.000
     2022-01-11 08:59:03   SENSOR_Time     2022-01-11T08:59:03
     2022-01-11 08:59:03   STATE_Heap      27
     2022-01-11 08:59:03   STATE_LoadAvg   19
     2022-01-11 08:59:03   STATE_MqttCount 3
     2022-01-11 08:59:03   STATE_POWER     ON
     2022-01-11 08:59:03   STATE_Sleep     50
     2022-01-11 08:59:03   STATE_SleepMode Dynamic
     2022-01-11 08:59:03   STATE_Time      2022-01-11T08:59:03
     2022-01-11 08:59:03   STATE_Uptime    0T00:10:11
     2022-01-11 08:59:03   STATE_UptimeSec 611
     2022-01-11 08:59:03   STATE_Wifi_AP   1
     2022-01-11 08:59:03   STATE_Wifi_BSSId 44:4E:6D:2D:2A:3F
     2022-01-11 08:59:03   STATE_Wifi_Channel 1
     2022-01-11 08:59:03   STATE_Wifi_Downtime 0T00:00:05
     2022-01-11 08:59:03   STATE_Wifi_LinkCount 1
     2022-01-11 08:59:03   STATE_Wifi_Mode 11n
     2022-01-11 08:59:03   STATE_Wifi_RSSI 64
     2022-01-11 08:59:03   STATE_Wifi_SSId bigbossbgn
     2022-01-11 08:59:03   STATE_Wifi_Signal -68
     2022-01-11 08:54:29   config_btn_1    0
     2022-01-11 08:54:29   config_btn_2    0
     2022-01-11 08:54:29   config_btn_3    0
     2022-01-11 08:54:29   config_btn_4    0
     2022-01-11 08:54:29   config_btn_5    0
     2022-01-11 08:54:29   config_btn_6    0
     2022-01-11 08:54:29   config_btn_7    0
     2022-01-11 08:54:29   config_btn_8    0
     2022-01-11 08:54:29   config_dn       SP1_01
     2022-01-11 08:54:29   config_fn_1     SP1_01
     2022-01-11 08:54:29   config_ft       %prefix%/%topic%/
     2022-01-11 08:54:29   config_hn       SP1-01
     2022-01-11 08:54:29   config_if       0
     2022-01-11 08:54:29   config_ip       192.168.0.122
     2022-01-11 08:54:29   config_lk       0
     2022-01-11 08:54:29   config_lt_st    0
     2022-01-11 08:54:29   config_mac      C4DD570B4915
     2022-01-11 08:54:29   config_md       Gosund SP1 v23
     2022-01-11 08:54:29   config_ofln     Offline
     2022-01-11 08:54:29   config_onln     Online
     2022-01-11 08:54:29   config_rl_1     1
     2022-01-11 08:54:29   config_rl_2     0
     2022-01-11 08:54:29   config_rl_3     0
     2022-01-11 08:54:29   config_rl_4     0
     2022-01-11 08:54:29   config_rl_5     0
     2022-01-11 08:54:29   config_rl_6     0
     2022-01-11 08:54:29   config_rl_7     0
     2022-01-11 08:54:29   config_rl_8     0
     2022-01-11 08:54:29   config_sho_1    0
     2022-01-11 08:54:29   config_sho_2    0
     2022-01-11 08:54:29   config_sho_3    0
     2022-01-11 08:54:29   config_sho_4    0
     2022-01-11 08:54:29   config_so_11    0
     2022-01-11 08:54:29   config_so_114   0
     2022-01-11 08:54:29   config_so_117   0
     2022-01-11 08:54:29   config_so_13    0
     2022-01-11 08:54:29   config_so_17    0
     2022-01-11 08:54:29   config_so_20    0
     2022-01-11 08:54:29   config_so_30    0
     2022-01-11 08:54:29   config_so_4     0
     2022-01-11 08:54:29   config_so_68    0
     2022-01-11 08:54:29   config_so_73    0
     2022-01-11 08:54:29   config_so_82    0
     2022-01-11 08:54:29   config_state_1  OFF
     2022-01-11 08:54:29   config_state_2  ON
     2022-01-11 08:54:29   config_state_3  TOGGLE
     2022-01-11 08:54:29   config_state_4  HOLD
     2022-01-11 08:54:29   config_sw       10.1.0
     2022-01-11 08:54:29   config_swc_1    -1
     2022-01-11 08:54:29   config_swc_2    -1
     2022-01-11 08:54:29   config_swc_3    -1
     2022-01-11 08:54:29   config_swc_4    -1
     2022-01-11 08:54:29   config_swc_5    -1
     2022-01-11 08:54:29   config_swc_6    -1
     2022-01-11 08:54:29   config_swc_7    -1
     2022-01-11 08:54:29   config_swc_8    -1
     2022-01-11 08:54:29   config_t        SP1_01
     2022-01-11 08:54:29   config_tp_1     cmnd
     2022-01-11 08:54:29   config_tp_2     stat
     2022-01-11 08:54:29   config_tp_3     tele
     2022-01-11 08:54:29   config_ty       0
     2022-01-11 08:54:29   config_ver      1
     2022-01-11 08:54:29   sensors_sn_ENERGY_ApparentPower 17
     2022-01-11 08:54:29   sensors_sn_ENERGY_Current 0.071
     2022-01-11 08:54:29   sensors_sn_ENERGY_Factor 0.04
     2022-01-11 08:54:29   sensors_sn_ENERGY_Power 1
     2022-01-11 08:54:29   sensors_sn_ENERGY_ReactivePower 17
     2022-01-11 08:54:29   sensors_sn_ENERGY_Today 0.000
     2022-01-11 08:54:29   sensors_sn_ENERGY_Total 0.000
     2022-01-11 08:54:29   sensors_sn_ENERGY_TotalStartTime 2021-01-16T22:04:25
     2022-01-11 08:54:29   sensors_sn_ENERGY_Voltage 235
     2022-01-11 08:54:29   sensors_sn_ENERGY_Yesterday 0.000
     2022-01-11 08:54:29   sensors_sn_Time 2022-01-11T08:54:29
     2022-01-11 08:54:29   sensors_ver     1
     2022-01-11 08:55:59   subscriptions   cmnd/SP1_01/# cmnd/SP1_01_fb/# cmnd/tasmotas/#
Attributes:
   readingList SP1_01:tele/SP1_01/LWT:.* LWT
SP1_01:cmnd/SP1_01/POWER:.* POWER
SP1_01:tele/SP1_01/INFO1:.* { json2nameValue($EVENT, 'INFO1_', $JSONMAP) }
SP1_01:tele/SP1_01/INFO2:.* { json2nameValue($EVENT, 'INFO2_', $JSONMAP) }
SP1_01:tele/SP1_01/INFO3:.* { json2nameValue($EVENT, 'INFO3_', $JSONMAP) }
SP1_01:stat/SP1_01/RESULT:.* { json2nameValue($EVENT, 'RESULT_', $JSONMAP) }
SP1_01:stat/SP1_01/POWER:.* POWER
SP1_01:tele/SP1_01/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
SP1_01:tele/SP1_01/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }
SP1_01:tasmota/discovery/C4DD570B4915/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }
SP1_01:tasmota/discovery/C4DD570B4915/sensors:.* { json2nameValue($EVENT, 'sensors_', $JSONMAP) }
   room       MQTT2_DEVICE



Wenn ich nun ein template zuweise - hier hatte ich gestern schon mit tasmota_POW getestet - werden mir eine ganze Menge an Informationen aus den oberen Readings weggenommen.
Was ist der richtige Weg? Eigenes template anpassen - reichen die Informationen die durch tasmota_POW überbleiben?
Kann man das überhaupt  pauschal beantworten?

Otto123

Moin,

pauschal kann man das sicher nicht beantworten.
ZitatWenn ich nun ein template zuweise - hier hatte ich gestern schon mit tasmota_POW getestet - werden mir eine ganze Menge an Informationen aus den oberen Readings weggenommen.
Wieso wird was weggenommen? Viele Templates löschen zunächst die Readings die durch die erste Nachricht nach Autocreate entstanden sind, weil sie unleserlich strukturiert sind. Danach sollte aber alle wichtigen und sinnvollen Readings da sein. In der Regel muss man dafür entweder etwas warten, das physische Gerät z.B. schalten oder noch mal neu starten.

Aber es bleibt Dir frei völlig selbst zu agieren, Verbesserungsvorschläge und Wünsche für templates einzubringen oder das Template als basis zu nehmen und anschließend das Gerät nach Deinen Vorstellungen umzubauen. So ein Template wird durch Dich manuell einmal angwendet, automatische Anwendungen in der Zukunft erfolgen nicht!

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

"Weggenommen" wird tendenziell (zu) wenig. Wie Otto schreibt: die meisten Readings werden bei Anwendung der attrTemplate erst mal gelöscht.

Der tiefere Sinn dahinter ist folgender:
- manche Readings heißen dann anders als vorher;
- manche Readings gibt es aus gutem Grund nicht mehr.

In der Regel ist es kein größeres Problem, alles, was eine Gegenstelle einmalig sendet, sendet sie in der Regel auch mehrfach (ggf. nach einem Neustart des Dienstes oder der MCU), alles was (berechtigtermaßen!) reinkommt, wird danach auch wieder ausgewertet.

Tendenziell bleiben aber nach meinem Bauchgefühl immer noch zu viele Readings übrig, und es wird auch zu oft getriggert - hier sind ausdrücklich (seit langem!) die User aufgerufen, konstruktive Vorschläge zu liefern, wie man sinnvoll ausdünnt.

Da es anscheinend immer noch viele offene Fragen in diese Richtung gibt, habe ich mal angefangen mit einem Wiki-Eintrag, der (wenn er denn irgendwann fertig ist) hoffentlich halbwegs erläutert, wie die Zusammenhänge sind und wie man sich sowas auch selbst zusammenpuzzeln kann: https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt.
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

masterpete23

#3
Danke euch beiden für die Erklärungen.
Drei Fragen: Wenn ich auf der Wiki Seite logische oder auch Rechtschreibfehler finde, kann / soll ich sie irgendwie "melden"?
Ich habe z.b. das template für meine gosund/blitzwolf mit tasmota im Auge: tasmota_POW
Nun sehe ich, dass dort das webcmd leer ist - aus meiner Sicht sollte es mit toggle:on:off o.ä. gefüllt sein. Wie sollte ich das "melden"?
Desweiteren sehe ich direkt nach dem anwenden des templates diess Ausgabe in der COnsole des devices - woher kommt sie?:
22:53:08.437 MQT: stat/SP111_01/RESULT = {"StateText1":"off"}
22:53:08.650 MQT: stat/SP111_01/RESULT = {"StateText2":"on"}
22:53:08.851 MQT: stat/SP111_01/RESULT = {"StateText3":"toggle"}
22:53:09.053 MQT: stat/SP111_01/RESULT = {"StateText4":"hold"}
22:53:09.253 MQT: stat/SP111_01/RESULT = {"SetOption26":"on"}
22:53:09.567 MQT: stat/SP111_01/RESULT = {"SaveData":"on"}

Beta-User

Zitat von: masterpete23 am 11 Januar 2022, 22:52:57
Wenn ich auf der Wiki Seite logische oder auch Rechtschreibfehler finde, kann / soll ich sie irgendwie "melden"?
Fehler oder Anregungen zur Wiki-Seite bitte im Wiki-Bereich des Forums posten, oder einen Zugang zum Wiki beantragen und es direkt selbst einpflegen.
(Notiz an mich selbst: Link zu Device Overview anpassen fehlt noch).

Zitat
Ich habe z.b. das template für [...] - aus meiner Sicht sollte es [...]. Wie sollte ich das "melden"?
Prinzipiell gibt es für jede attrTemplate-Datei jeweils einen "Fragen"-Thread, und/oder es ist hinterlegt, aus welchem Thread die jeweils mal kamen, dann kann man da nachhaken. Bzgl. webCmd wird das hier aber nichts bringen, denn zum einen ist webCmd dort vermutlich gesetzt (auf ":"), also eine bewußte Entscheidung, und zum anderen liegt der tiefere Sinn dahinter darin, dass man den Aktor direkt über das devStateIcon schalten kann, und via attrTemplate prinzipiell in der Regel nur die _erforderlichen_ Bedienelemente eingefügt werden.
Wer es anders haben will, kann/muss das halt an dieser kleinen Stelle noch anpassen...

Zitat
Desweiteren sehe ich direkt nach dem anwenden des templates diess Ausgabe in der COnsole des devices - woher kommt sie?
Die Tasmota-attrTemplate senden einige Konfigurationseinstellungen an den ESP. Dazu gehört insbesondere, dass Kleinschreibung statt Großschreibung für die Zustände zu verwenden ist. Du siehst das Resultat. Steht in der Regel auch in der "desc", wer es unbedingt anders haben mag, kann das auch wieder ändern, allerdings um den Preis, dass man uU. mehr mappen muss (eventMap?).
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

Otto123

#5
Guten Morgen,

Zitat... aus meiner Sicht sollte es mit ...
so ein Template ist keine "Festlegung von ganz oben" - das ist eine grundlegende Funktionseinrichtung für das Device. Jemand hat es nach seinem Geschmack erarbeitet und viel Zeit in die Evaluierung investiert. Damit kann man das Device (in vielen Fällen überhaupt erstmal) verwenden und wie alles in FHEM kann man es nach seinem Geschmack anpassen und verändern. Ein Template wendest Du einmal an, die Auswirkung ist so als ob Du es per Hand oder zu Fuß gemacht hast, nur schneller und einfacher. Es wird nie wieder automatisch aktualisiert, alles bleibt so wie Du es veränderst.

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

masterpete23

Danke euch beiden.
Nun ist mir noch was aufgefallen.

Eine Sonoff S20 habe ich mit ganz alter tasmota version nun auch auf die letzte geptacht und alles im WEBUI von tasmota so eingeflegt, wie es bei meinen o.g. gelisteten devices ist.
Ich sehe Informationen in den readings RETAIN vom m2s - es wird aber kein device automatisch angelegt, was bei den anderen tasmotas einwandfrei funktionierte.
Was ich gesehen habe ist, dass "mqtt group topic 1" anders ist. cmnd/tasmotas/ bei denen wo das autocreate funktionierte und cmnd/sonoffs.
Kann es da einen Zusammenhang geben?
Was kann ich jetzt tun, um das device von m2s erkennen zu lassen?

Otto123

#7
Hi,

mir fällt gerade auf: Dein MQTT2_SERVER ist falsch angelegt:
das attribute bitte löschen! -> autocreate complex (dann steht es auf default und das ist simpel)

Dein oben gelistetes Device hatte noch kein template abbekommen!?

Was meinst Du mit mqtt group topic 1 ?  ???

Ganz wichtig! Die Device Topics dürfen nicht alle gleich sein! Also nicht tasmotas und nicht sonoffs! Am besten Du lässt das dort stehen was tasmota da reinschreibt!

topic = %topic% -> tasmota_%06X

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

masterpete23

#8
Ok, das attribute lösch ich.
Ich hatte es aus dem wikii/doku oder anderer Quelle so verstanden, dass da das beste Ergebnis mit erzielt wird.

Nun hatte ich mal verbose 5 angeschaltet und sehe im EVENTmonitor:
2022-01-12 15:29:54 Global global UNDEFINED MQTT2_Sonoffs205 MQTT2_DEVICE Sonoffs205 m2s
Er legt aber nichts an. Seltsam
Das group topic konnte ich nun via webui der Steckdose so setzen wie die anderen auch.
Das DEVICETOPIC ist eineinmalig - das stelle ich sicher.

Grouptopic sieht man wenn man grouptopic mal in der console bei dem Tasmotagerät eingibt.
Zitat von: Otto123 am 12 Januar 2022, 15:17:43
Hi,

mir fällt gerade auf: Dein MQTT2_SERVER ist falsch angelegt:
das attribute bitte löschen! -> autocreate complex (dann steht es auf default und das ist simpel)

Dein oben gelistetes Device hatte noch kein template abbekommen!?

Was meinst Du mit mqtt group topic 1 ?  ???

Ganz wichtig! Die Device Topics dürfen nicht alle gleich sein! Also nicht tasmotas und nicht sonoffs! Am besten Du lässt das dort stehen was tasmota da reinschreibt!

topic = %topic% -> tasmota_%06X

Gruß Otto

EDIT: Ich habe gerade mal diese Zeile entfernt und schlagartig wurde das Device angelegt - kann man das erklären?
#attr autocreate ignoreTypes CUL_Hoermann.*|FS20.*|CUL_TX_.*|CUL_FHTTK_.*|CUL_WS_.*|FHT_.*|CUL_TCM97001.*|Revolt_.*
Noch bevor ich das complex beim m2s löschen konnte

Beta-User

Das "ignoreTypes"-matching ist case-insensitive => FS20.* paßt auch auch auf MQTT2_Sonoffs205...

Das mit "complex" muss ich vielleicht nochmal deutlicher in "Schritt für Schritt" erläutern. Das ist wirklich (nur) hilfreich, wenn man JSON-Strukturen als Payloads hat, die über verschiedene Topics mit identischem/sehr ähnlichem Inhalt kommen und (noch) keine Ahnung, wie ein Device tickt...!
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

masterpete23

Zitat von: Beta-User am 12 Januar 2022, 15:48:45
Das "ignoreTypes"-matching ist case-insensitive => FS20.* paßt auch auch auf MQTT2_Sonoffs205...

Das mit "complex" muss ich vielleicht nochmal deutlicher in "Schritt für Schritt" erläutern. Das ist wirklich (nur) hilfreich, wenn man JSON-Strukturen als Payloads hat, die über verschiedene Topics mit identischem/sehr ähnlichem Inhalt kommen und (noch) keine Ahnung, wie ein Device tickt...!
Boah mega D A N K E.

Da wäre ich nie drauf gekommen.
Aber so habe ich dann auch gleich den anderen "Fehler" fixen können.
Wieder ein Schritt weiter.

Ja, das mit dem Complex genauer erklären und hinweisen, dass, wenn es kein Grund gibt, man es nicht brauch. z.b.

Otto123

ZitatIch hatte es aus dem wikii/doku oder anderer Quelle so verstanden, dass da das beste Ergebnis mit erzielt wird.
Kannst Du da mal bitte noch einen Hinweis geben wo Du das so verstanden hast.
Weil ich meine es steht überall genau anders herum.  ::)
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

masterpete23

Zitat von: Otto123 am 12 Januar 2022, 19:18:58
Kannst Du da mal bitte noch einen Hinweis geben wo Du das so verstanden hast.
Weil ich meine es steht überall genau anders herum.  ::)
Gerne doch:
https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt
dort steht: Vor allem, wenn die Gegenstelle tiefer strukturierte Daten im JSON-Format über verschiedene Topics als Payload übermittelt, empfiehlt es sich, in der Einrichtungsphase auch das Attribut "autocreate" am MQTT2_SERVER auf "complex" zu stellen: attr m2server autocreate complex
Da ich nicht so tief in der Materie war/bin und ich nicht wusste, was ich von den Geräten so an Informationen ich brauch -> complex  ::)

Beta-User

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

masterpete23

Sehr gut. "abschließend" ein herzliches Danke an euch beide.
Dann versuch ich mich mal in meinem anderen Thread bei der Erstellung eines templates.
https://forum.fhem.de/index.php/topic,125429.0.html
Ihr könnt das Thema gerne schließen, wenn ihr wollt.

Beta-User

Zitat von: masterpete23 am 14 Januar 2022, 21:02:38
Sehr gut. "abschließend" ein herzliches Danke an euch beide.
Dann versuch ich mich mal in meinem anderen Thread bei der Erstellung eines templates.
https://forum.fhem.de/index.php/topic,125429.0.html
Ihr könnt das Thema gerne schließen, wenn ihr wollt.
Danke für die Rückmeldung und viel Erfolg mit dem Projekt!

"Schließen" ist hier im Forum nicht üblich, aber du könntest ein "[geklärt]" oä. vor dem Thread-Titel im ersten Post packen ;) .
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