MQTT2_Client Neuaufbau

Begonnen von TWART016, 30 April 2020, 04:24:18

Vorheriges Thema - Nächstes Thema

TWART016

Hallo,

ich möchte von MQTT_DEVICE auf MQTT2_Device umstellen. Aktuell läuft noch ein externer Mosquitto Server mit dem MQTT(1) Modul. Da MQTT2 einige Vorteile hat, würde ich gerne auf MQTT2_Client umstellen.

Meine 3 Devices:
MQTT2_CLIENT
Internals:
   BUF       
   CFGFN     
   DEF        192.168.178.18:1883
   DeviceName 192.168.178.18:1883
   FD         8
   FUUID      5ea9fc06-f33f-792c-81a5-fbb8fb7732b6ea26
   NAME       MQTT2_CLIENT
   NR         49483
   PARTIAL   
   STATE      opened
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   MQTT2_CLIENT
   lastMsgTime 1588198474.36053
   nextOpenDelay 5
   READINGS:
     2020-04-30 00:13:26   state           opened
Attributes:
   autocreate complex


MQTT2_MQTT2_CLIENT (attrTemplate MQTT2_CLIENT_general_bridge zugewiesen)
Internals:
   CFGFN     
   CID        MQTT2_CLIENT
   DEF        MQTT2_CLIENT
   DEVICETOPIC MQTT2_MQTT2_CLIENT
   FUUID      5ea9fc12-f33f-792c-aac3-4078817b6937962d
   IODev      MQTT2_CLIENT
   LASTInputDev MQTT2_CLIENT
   MQTT2_CLIENT_MSGCNT 60001
   MQTT2_CLIENT_TIME 2020-04-30 02:52:42
   MSGCNT     60001
   NAME       MQTT2_MQTT2_CLIENT
   NR         49486
   STATE      ???
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2020-04-30 01:26:48   LWT             online
     2020-04-30 01:26:48   POWER           
     2020-04-30 00:23:39   RESULT_POWER    OFF
     2020-04-30 02:52:20   SENSOR_ENERGY_ApparentPower 28
     2020-04-30 02:52:20   SENSOR_ENERGY_Current 0.123
     2020-04-30 02:52:20   SENSOR_ENERGY_Factor 0.01
     2020-04-30 02:52:20   SENSOR_ENERGY_Period 0
     2020-04-30 02:52:20   SENSOR_ENERGY_Power 0
     2020-04-30 02:52:20   SENSOR_ENERGY_ReactivePower 28
     2020-04-30 02:52:20   SENSOR_ENERGY_Today 0.001
     2020-04-30 02:52:20   SENSOR_ENERGY_Total 0.218
     2020-04-30 02:52:20   SENSOR_ENERGY_TotalStartTime 2020-03-14T20:06:39
     2020-04-30 02:52:20   SENSOR_ENERGY_Voltage 231
     2020-04-30 02:52:20   SENSOR_ENERGY_Yesterday 0.011
     2020-04-30 02:52:20   SENSOR_Time     2020-04-30T01:52:21
     2020-04-30 02:52:20   STATE_Heap      30
     2020-04-30 02:52:20   STATE_LoadAvg   19
     2020-04-30 02:52:20   STATE_MqttCount 1
     2020-04-30 02:52:20   STATE_POWER     ON
     2020-04-30 02:52:20   STATE_Sleep     50
     2020-04-30 02:52:20   STATE_SleepMode Dynamic
     2020-04-30 02:52:20   STATE_Time      2020-04-30T01:52:21
     2020-04-30 02:52:20   STATE_Uptime    0T04:06:17
     2020-04-30 02:52:20   STATE_UptimeSec 14777
     2020-04-30 02:50:53   STATE_Vcc       3.112
     2020-04-30 02:52:20   STATE_Wifi_AP   1
     2020-04-30 02:49:55   STATE_Wifi_APMac 9C:5D:12:71:28:54
     2020-04-30 02:52:20   STATE_Wifi_BSSId 9C:5D:12:71:28:54
     2020-04-30 02:52:20   STATE_Wifi_Channel 1
     2020-04-30 02:52:20   STATE_Wifi_Downtime 0T00:00:09
     2020-04-30 02:52:20   STATE_Wifi_LinkCount 1
     2020-04-30 02:52:20   STATE_Wifi_RSSI 72
     2020-04-30 02:52:20   STATE_Wifi_SSId Tim-Home
     2020-04-30 02:52:20   STATE_Wifi_Signal -64
     2020-04-30 02:52:42   STATUS10_StatusSNS_ENERGY_ApparentPower 30
     2020-04-30 02:52:42   STATUS10_StatusSNS_ENERGY_Current 0.128
     2020-04-30 02:52:42   STATUS10_StatusSNS_ENERGY_Factor 0.03
     2020-04-30 02:39:21   STATUS10_StatusSNS_ENERGY_Period 0
     2020-04-30 02:52:42   STATUS10_StatusSNS_ENERGY_Power 1
     2020-04-30 02:52:42   STATUS10_StatusSNS_ENERGY_ReactivePower 30
     2020-04-30 02:52:42   STATUS10_StatusSNS_ENERGY_Today 0.001
     2020-04-30 02:52:42   STATUS10_StatusSNS_ENERGY_Total 0.218
     2020-04-30 02:52:42   STATUS10_StatusSNS_ENERGY_TotalStartTime 2020-03-14T20:06:39
     2020-04-30 02:52:42   STATUS10_StatusSNS_ENERGY_Voltage 231
     2020-04-30 02:52:42   STATUS10_StatusSNS_ENERGY_Yesterday 0.011
     2020-04-30 02:52:42   STATUS10_StatusSNS_Time 2020-04-30T01:52:42
     2020-04-30 02:52:42   STATUS11_StatusSTS_Heap 26
     2020-04-30 02:52:42   STATUS11_StatusSTS_LoadAvg 19
     2020-04-30 02:52:42   STATUS11_StatusSTS_MqttCount 1
     2020-04-30 02:52:42   STATUS11_StatusSTS_POWER OFF
     2020-04-30 02:52:42   STATUS11_StatusSTS_Sleep 50
     2020-04-30 02:52:42   STATUS11_StatusSTS_SleepMode Dynamic
     2020-04-30 02:52:42   STATUS11_StatusSTS_Time 2020-04-30T01:52:42
     2020-04-30 02:52:42   STATUS11_StatusSTS_Uptime 41T02:07:00
     2020-04-30 02:52:42   STATUS11_StatusSTS_UptimeSec 14799
     2020-04-30 02:52:42   STATUS11_StatusSTS_Vcc 3.112
     2020-04-30 02:52:42   STATUS11_StatusSTS_Wifi_AP 1
     2020-04-30 02:52:42   STATUS11_StatusSTS_Wifi_APMac 9C:5D:12:71:28:54
     2020-04-30 02:52:42   STATUS11_StatusSTS_Wifi_BSSId 9C:5D:12:71:28:54
     2020-04-30 02:52:42   STATUS11_StatusSTS_Wifi_Channel 1
     2020-04-30 02:52:42   STATUS11_StatusSTS_Wifi_Downtime 0T00:00:09
     2020-04-30 02:52:42   STATUS11_StatusSTS_Wifi_LinkCount 1
     2020-04-30 02:52:42   STATUS11_StatusSTS_Wifi_RSSI 72
     2020-04-30 02:52:42   STATUS11_StatusSTS_Wifi_SSId Tim-Home
     2020-04-30 02:52:42   STATUS11_StatusSTS_Wifi_Signal -57
     2020-04-30 02:52:42   STATUS1_StatusPRM_Baudrate 115200
     2020-04-30 02:52:42   STATUS1_StatusPRM_BootCount 15
     2020-04-30 02:52:42   STATUS1_StatusPRM_CfgHolder 4617
     2020-04-30 02:52:42   STATUS1_StatusPRM_GroupTopic sonoffs
     2020-04-30 02:52:42   STATUS1_StatusPRM_OtaUrl http://thehackbox.org/tasmota/release/sonoff.bin
     2020-04-30 02:52:42   STATUS1_StatusPRM_RestartReason Power on
     2020-04-30 02:52:42   STATUS1_StatusPRM_SaveAddress F7000
     2020-04-30 02:52:42   STATUS1_StatusPRM_SaveCount 3709
     2020-04-30 02:52:42   STATUS1_StatusPRM_SerialConfig 8N1
     2020-04-30 02:52:42   STATUS1_StatusPRM_Sleep 0
     2020-04-30 02:52:42   STATUS1_StatusPRM_StartupUTC 2020-03-19T22:45:42
     2020-04-30 02:52:42   STATUS1_StatusPRM_Uptime 41T02:07:00
     2020-04-30 02:52:42   STATUS2_StatusFWR_Boot 6
     2020-04-30 02:52:42   STATUS2_StatusFWR_BuildDateTime 2018.11.25 17:14:20
     2020-04-30 02:52:42   STATUS2_StatusFWR_CR 363/699
     2020-04-30 02:52:42   STATUS2_StatusFWR_Core 2_3_0
     2020-04-30 02:52:42   STATUS2_StatusFWR_Hardware ESP8285
     2020-04-30 02:52:42   STATUS2_StatusFWR_SDK 1.5.3(aec24ac9)
     2020-04-30 02:52:42   STATUS2_StatusFWR_Version 6.3.0
     2020-04-30 02:52:42   STATUS3_StatusLOG_LogHost
     2020-04-30 02:52:42   STATUS3_StatusLOG_LogPort 514
     2020-04-30 02:52:42   STATUS3_StatusLOG_MqttLog 0
     2020-04-30 02:52:42   STATUS3_StatusLOG_Resolution 558180C0
     2020-04-30 02:52:42   STATUS3_StatusLOG_SSId1 Tim-Home
     2020-04-30 02:52:42   STATUS3_StatusLOG_SSId2 indebuurt2
     2020-04-30 02:52:42   STATUS3_StatusLOG_SSId_1 Tim-Home
     2020-04-30 02:52:42   STATUS3_StatusLOG_SSId_2
     2020-04-30 02:52:42   STATUS3_StatusLOG_SerialLog 2
     2020-04-30 02:52:42   STATUS3_StatusLOG_SetOption 55800009
     2020-04-30 02:52:42   STATUS3_StatusLOG_SetOption_1 00008009
     2020-04-30 02:52:42   STATUS3_StatusLOG_SetOption_2 55818000
     2020-04-30 02:52:42   STATUS3_StatusLOG_SetOption_3 00000000
     2020-04-30 02:52:42   STATUS3_StatusLOG_SetOption_4 00000000
     2020-04-30 02:52:42   STATUS3_StatusLOG_SysLog 0
     2020-04-30 02:52:42   STATUS3_StatusLOG_TelePeriod 300
     2020-04-30 02:52:42   STATUS3_StatusLOG_WebLog 2
     2020-04-30 02:52:42   STATUS4_StatusMEM_Drivers 1,2,3,4,9,10,12,16
     2020-04-30 02:52:42   STATUS4_StatusMEM_Features_1 00000407
     2020-04-30 02:52:42   STATUS4_StatusMEM_Features_2 0FDAE794
     2020-04-30 02:52:42   STATUS4_StatusMEM_Features_3 240183A0
     2020-04-30 02:52:42   STATUS4_StatusMEM_Features_4 23B617CE
     2020-04-30 02:52:42   STATUS4_StatusMEM_Features_5 00003BC0
     2020-04-30 02:52:42   STATUS4_StatusMEM_Features_6 00000080
     2020-04-30 02:52:42   STATUS4_StatusMEM_FlashChipId 1440A1
     2020-04-30 02:52:42   STATUS4_StatusMEM_FlashMode 3
     2020-04-30 02:52:42   STATUS4_StatusMEM_FlashSize 1024
     2020-04-30 02:52:42   STATUS4_StatusMEM_Free 508
     2020-04-30 02:52:42   STATUS4_StatusMEM_Heap 18
     2020-04-30 02:52:42   STATUS4_StatusMEM_ProgramFlashSize 1024
     2020-04-30 02:52:42   STATUS4_StatusMEM_ProgramSize 492
     2020-04-30 02:52:42   STATUS4_StatusMEM_Sensors 1,2,3
     2020-04-30 02:52:42   STATUS5_StatusNET_DNSServer 192.168.178.1
     2020-04-30 02:52:42   STATUS5_StatusNET_Gateway 192.168.178.1
     2020-04-30 02:52:42   STATUS5_StatusNET_Hostname Lampe1-6975
     2020-04-30 02:52:42   STATUS5_StatusNET_IPAddress 192.168.178.51
     2020-04-30 02:52:42   STATUS5_StatusNET_Mac DC:4F:22:2D:DB:3F
     2020-04-30 02:52:42   STATUS5_StatusNET_Subnetmask 255.255.255.0
     2020-04-30 02:52:42   STATUS5_StatusNET_Webserver 2
     2020-04-30 02:52:42   STATUS5_StatusNET_WifiConfig 5
     2020-04-30 02:52:42   STATUS5_StatusNET_WifiPower 17.0
     2020-04-30 02:52:42   STATUS6_StatusMQT_KEEPALIVE 15
     2020-04-30 02:52:42   STATUS6_StatusMQT_MAX_PACKET_SIZE 1000
     2020-04-30 02:52:42   STATUS6_StatusMQT_MqttClient Lampe1
     2020-04-30 02:52:42   STATUS6_StatusMQT_MqttClientMask Lampe1
     2020-04-30 02:52:42   STATUS6_StatusMQT_MqttCount 1
     2020-04-30 02:52:42   STATUS6_StatusMQT_MqttHost 192.168.178.18
     2020-04-30 02:52:42   STATUS6_StatusMQT_MqttPort 1883
     2020-04-30 02:52:42   STATUS6_StatusMQT_MqttType 1
     2020-04-30 02:52:42   STATUS6_StatusMQT_MqttUser DVES_USER
     2020-04-30 02:52:42   STATUS7_StatusTIM_EndDST Sun Oct 25 03:00:00 2020
     2020-04-30 02:52:42   STATUS7_StatusTIM_Local Thu Apr 30 01:52:42 2020
     2020-04-30 02:52:42   STATUS7_StatusTIM_StartDST Sun Mar 29 02:00:00 2020
     2020-04-30 02:52:42   STATUS7_StatusTIM_Sunrise 05:30
     2020-04-30 02:52:42   STATUS7_StatusTIM_Sunset 20:04
     2020-04-30 02:52:42   STATUS7_StatusTIM_Timezone 1
     2020-04-30 02:52:42   STATUS7_StatusTIM_UTC Thu Apr 30 00:52:42 2020
     2020-04-30 02:52:42   STATUS_Status_ButtonRetain 0
     2020-04-30 02:52:42   STATUS_Status_ButtonTopic 0
     2020-04-30 02:52:42   STATUS_Status_FriendlyName Sonoff
     2020-04-30 02:52:42   STATUS_Status_FriendlyName_1 Sonoff
     2020-04-30 02:52:42   STATUS_Status_LedMask FFFF
     2020-04-30 02:52:42   STATUS_Status_LedState 0
     2020-04-30 02:52:42   STATUS_Status_Module 8
     2020-04-30 02:52:42   STATUS_Status_Power 0
     2020-04-30 02:52:42   STATUS_Status_PowerOnState 3
     2020-04-30 02:52:42   STATUS_Status_PowerRetain 0
     2020-04-30 02:52:42   STATUS_Status_SaveData 1
     2020-04-30 02:52:42   STATUS_Status_SaveState 1
     2020-04-30 02:52:42   STATUS_Status_SensorRetain 0
     2020-04-30 02:52:42   STATUS_Status_SwitchMode_1 0
     2020-04-30 02:52:42   STATUS_Status_SwitchMode_2 0
     2020-04-30 02:52:42   STATUS_Status_SwitchMode_3 0
     2020-04-30 02:52:42   STATUS_Status_SwitchMode_4 0
     2020-04-30 02:52:42   STATUS_Status_SwitchMode_5 0
     2020-04-30 02:52:42   STATUS_Status_SwitchMode_6 0
     2020-04-30 02:52:42   STATUS_Status_SwitchMode_7 0
     2020-04-30 02:52:42   STATUS_Status_SwitchRetain 0
     2020-04-30 02:52:42   STATUS_Status_SwitchTopic 0
     2020-04-30 02:52:42   STATUS_Status_Topic Lampe1
     2020-04-30 02:02:00   UPTIME_Time     2020-04-30T01:02:00
     2020-04-30 02:02:00   UPTIME_Uptime   41T01:16:18
     2020-04-30 02:32:01   announce_fw_ver 20200309-104506/v1.6.0@43056d58
     2020-04-30 02:32:01   announce_id     shellyplug-s-6A64F4
     2020-04-30 02:32:01   announce_ip     192.168.178.159
     2020-04-30 02:32:01   announce_mac    ECFABC6A64F4
     2020-04-30 02:32:01   announce_new_fw false
Attributes:
   IODev      MQTT2_CLIENT
   icon       mqtt_bridge_2
   readingList MQTT2_CLIENT:/SmartHome/stat/Lampe1/STATUS:.* { json2nameValue($EVENT, 'STATUS_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe2/STATUS:.* { json2nameValue($EVENT, 'STATUS_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/STATUS:.* { json2nameValue($EVENT, 'STATUS_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/stat/GosundSP111-1/STATUS:.* { json2nameValue($EVENT, 'STATUS_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/stat/Schranklampe/STATUS:.* { json2nameValue($EVENT, 'STATUS_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/stat/GosundSP111-1/STATUS1:.* { json2nameValue($EVENT, 'STATUS1_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/stat/GosundSP111-1/STATUS2:.* { json2nameValue($EVENT, 'STATUS2_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/stat/GosundSP111-1/STATUS3:.* { json2nameValue($EVENT, 'STATUS3_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/stat/GosundSP111-1/STATUS4:.* { json2nameValue($EVENT, 'STATUS4_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/stat/GosundSP111-1/STATUS5:.* { json2nameValue($EVENT, 'STATUS5_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe1/STATUS1:.* { json2nameValue($EVENT, 'STATUS1_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe2/STATUS1:.* { json2nameValue($EVENT, 'STATUS1_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/STATUS1:.* { json2nameValue($EVENT, 'STATUS1_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/STATUS2:.* { json2nameValue($EVENT, 'STATUS2_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/STATUS3:.* { json2nameValue($EVENT, 'STATUS3_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/stat/GosundSP111-1/STATUS6:.* { json2nameValue($EVENT, 'STATUS6_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/STATUS4:.* { json2nameValue($EVENT, 'STATUS4_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/STATUS5:.* { json2nameValue($EVENT, 'STATUS5_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe2/STATUS2:.* { json2nameValue($EVENT, 'STATUS2_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe1/STATUS2:.* { json2nameValue($EVENT, 'STATUS2_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/stat/GosundSP111-1/STATUS7:.* { json2nameValue($EVENT, 'STATUS7_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe2/STATUS3:.* { json2nameValue($EVENT, 'STATUS3_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/STATUS6:.* { json2nameValue($EVENT, 'STATUS6_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/STATUS7:.* { json2nameValue($EVENT, 'STATUS7_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/stat/GosundSP111-1/STATUS10:.* { json2nameValue($EVENT, 'STATUS10_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/stat/GosundSP111-1/STATUS11:.* { json2nameValue($EVENT, 'STATUS11_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe1/STATUS3:.* { json2nameValue($EVENT, 'STATUS3_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/stat/Schranklampe/STATUS1:.* { json2nameValue($EVENT, 'STATUS1_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe2/STATUS4:.* { json2nameValue($EVENT, 'STATUS4_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/stat/Schranklampe/STATUS2:.* { json2nameValue($EVENT, 'STATUS2_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/stat/Schranklampe/STATUS3:.* { json2nameValue($EVENT, 'STATUS3_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe2/STATUS5:.* { json2nameValue($EVENT, 'STATUS5_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe1/STATUS4:.* { json2nameValue($EVENT, 'STATUS4_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe2/STATUS6:.* { json2nameValue($EVENT, 'STATUS6_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/stat/Schranklampe/STATUS4:.* { json2nameValue($EVENT, 'STATUS4_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe1/STATUS5:.* { json2nameValue($EVENT, 'STATUS5_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/stat/Schranklampe/STATUS5:.* { json2nameValue($EVENT, 'STATUS5_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe1/STATUS6:.* { json2nameValue($EVENT, 'STATUS6_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe2/STATUS7:.* { json2nameValue($EVENT, 'STATUS7_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/stat/Schranklampe/STATUS6:.* { json2nameValue($EVENT, 'STATUS6_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/stat/Schranklampe/STATUS7:.* { json2nameValue($EVENT, 'STATUS7_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe2/STATUS10:.* { json2nameValue($EVENT, 'STATUS10_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/stat/Schranklampe/STATUS10:.* { json2nameValue($EVENT, 'STATUS10_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/STATUS10:.* { json2nameValue($EVENT, 'STATUS10_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/STATUS11:.* { json2nameValue($EVENT, 'STATUS11_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe2/STATUS11:.* { json2nameValue($EVENT, 'STATUS11_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/stat/Schranklampe/STATUS11:.* { json2nameValue($EVENT, 'STATUS11_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe1/STATUS7:.* { json2nameValue($EVENT, 'STATUS7_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe1/STATUS10:.* { json2nameValue($EVENT, 'STATUS10_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/stat/Lampe1/STATUS11:.* { json2nameValue($EVENT, 'STATUS11_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/tele/GosundSP111-1/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Wohnung/tele/GosundSP111-1/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/tele/Schranklampe/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/tele/Lampe2/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/RESULT:.* { json2nameValue($EVENT, 'RESULT_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/POWER:.* POWER
MQTT2_CLIENT:/SmartHome/tele/Lampe1/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
MQTT2_CLIENT:shellies/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/tele/Lampe1/UPTIME:.* { json2nameValue($EVENT, 'UPTIME_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/Schlafzimmer/tele/Schranklampe/UPTIME:.* { json2nameValue($EVENT, 'UPTIME_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/tele/Lampe2/UPTIME:.* { json2nameValue($EVENT, 'UPTIME_', $JSONMAP) }
MQTT2_CLIENT:/SmartHome/tele/Lampe1/LWT:.* LWT
MQTT2_CLIENT:/SmartHome/cmnd/Lampe1/POWER:.* POWER
   room       MQTT2_DEVICE


MQTT2_GeneralBridge
Internals:
   CFGFN     
   CID        MQTT2_GeneralBridge
   DEF        MQTT2_GeneralBridge
   DEVICETOPIC MQTT2_GeneralBridge
   FUUID      5ea9fcab-f33f-792c-12b2-8f157755eae2d0dc
   IODev      MQTT2_CLIENT
   NAME       MQTT2_GeneralBridge
   NR         49525
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2020-04-30 00:16:11   associatedWith  MQTT2_MQTT2_CLIENT
Attributes:
   IODev      MQTT2_CLIENT
   autocreate 1
   bridgeRegexp (tele|cmnd)[/]([^/]+)[/].*:.* "$2"
  shellies[/]([^/]+)[/].*:.* "$1"
  (ESPClient_[^/]+)[/].*:.* "$1"
  valetudo[/]([^/]+)[/].*:.* "$1"
  [^/]+[/](ems-esp[^/]+)[/].*:.* "$1"
  wallpanel[/]([^/]+)[/].*:.* "$1"
  (wled)[/]([^/]+)[/].*:.* "$1_$2"
  (go-eCharger)[/]([^/]+)[/].*:.* "go_eCharger_$2"
  (owntracks)[/]([^/:]+)[/]([^/:]+).*:.* "$1_$2$3"
   comment    Do not use very open bridgeRegexp expressions! This might lead to irritating results...
   model      MQTT2_CLIENT_general_bridge
   room       MQTT2_MQTT2_MQTT2_CLIENT
   setStateList on off


Damit werden einige Devices korrekt angelegt: Shelly und Tasmota (Gosund/Sonoff)

Nun zu den Problemen / Fragen:
1) In dem attrTemplate MQTT2_CLIENT_general_bridge  steht:
(tele|cmnd)[/]([^/]+)[/].*:.* "$2"
Korrekterweise werden einige Readings in das Device übernommen, jedoch nicht das (klar, steht ja nicht in der Regex)
MQTT2_CLIENT:stat/GosundSP111-2/STATUS10:.* { json2nameValue($EVENT, 'STATUS10_', $JSONMAP) }

Kann man das hinzufügen? Oder wie ergänze ich es?

2) Wenn ich nun eigene Filter hinzugefügt habe, wie aktualisieren sich die Devices?
Genügt es in dem Device unter readingList den Eintrag hinzuzufügen? Muss ich es aus MQTT2_CLIENT:readingList entfernen?

3) Da ist aktuell einen Wildwuchs an topic-Pfaden habe, würde ich es gerne einheitlich machen. Wie ist es für das Modul am einfachsten? Einige werden per default betrieben und durch die MQTT2_GeneralBridge automatisch zu den Devices hinzugefügt. Andere haben sowas in der Richtung:
/SmartHome/stat/Lampe1/
/SmartHome/Schlafzimmer/stat/Schranklampe

4) Ist es möglich für die automatisch erstellten Devices auch publish Attribute zu erzeugen?

5) Mit dem topic shellies/announce gibt es Probleme, da in Pfad keine Device-ID steht. Nur im Wert steht die id, mac, ip, ... Kann man das ignorieren?


Gruß
TWART016

Beta-User

Moin,
gute Idee, das etwas grundlegender aufzuarbeiten. Ich schreibe daher mal was dazu, kann sein, dass es länger wird und gewisse Überschneidungen mit anderen Threads gibt, insbesondere zu diesem hier: https://forum.fhem.de/index.php/topic,103762.0.html. Zur Lektüre ist insbesondere dieser Beitrag empfohlen.

Auslöser dieses Threads hier dürfte das hier gewesen sein:
Zitat von: Beta-User am 29 April 2020, 17:53:25
Offen gestanden ist es so, dass sich zu diesem attrTemplate bisher - soweit ich mich entsinnen kann NIEMAND irgendwann irgendwie geäußert hat, und ich hatte das damals eher "mit heißer Nadel" gestrickt, um überhaupt was zu haben. War ein "Abfallprodukt" aus meinen Tests mit dem ebus...
Mir kam das bei den letzten Durchsichten auch unvollständig vor, wobei ich dazu neigen würde, den cmnd-Zweig gar nicht erst aufzunehmen, sondern das mit einer ignoreRegexp am IO-Device "nach dev/0" zu himmeln: Das was via cmnd kommt sind Schaltanweisungen, und die sollten eigentlich nur in Richtung Hardware gehen... (die Ausführungsbestätigung bekommt man dann ja wieder).
Gebaut habe ich das damals so, dass es mit den "defaults" (bzw. einer sinnvollen Namensvergabe statt "sonoff" (?)) klarkam. Wenn du die Topicstruktur änderst, mußt du eben die bridgeRegexp auch entsprechend anpassen, dann sollte das "ohne weiteres" gehen. (Aber wie gesagt, die Rückmeldung zu diesem attrTemplate war bisher 0...).

Diskussion dazu bitte in dem passenden Thread, ich hatte damals nach allgemeiner Rückmeldung gefragt, soweit ich mich entsinne.
Der "passende Thread" wäre dieser gewesen, aber so ist es auch ok...

Ein wenig Theorie vorneweg, wobei die vorgeschlagenen Lösungen erst mal "aus der Hüfte geschossen" sind und ggf. noch zu verfeinern/falsch sein können:

Kommt eine neue Message an, werden folgende Stufen durchlaufen:

1. Stufe
Das IO (MQTT2_(CLIENT|SERVER) schaut, ob es die Message verwerfen soll. Zuständig ist das Attribut ignoreRegexp.
Darauf bezieht sich
Zitatden cmnd-Zweig gar nicht erst aufzunehmen, sondern das mit einer ignoreRegexp am IO-Device "nach dev/0" zu himmeln
Ergo wäre Schritt 1 für dich, das zu vergeben (und gleich "discovery-messages" für homeassistant mit abzuräumen, die manche Devices ungefragt senden und die commands von den shelly):
attr MQTT2_CLIENT ignoreRegexp \
  homeassistant/.*/config:.*\
  .*[:/]cmnd[/]([^/]+)[/].*:.*\
  shellies/([^/]+)/command


2. Stufe:
Es wird nachgeschaut, ob es für den "Topic" bereits einen Abnehmer gibt. Wenn ja, bekommt dieser (bzw. alle diese) die Message und werden dort verarbeitet.
(Das muß man nur wissen, weil damit klar ist, dass die readingList-Einträge im "Sammeldevice" MQTT2_MQTT2_CLIENT
bewirken, dass sonst nichts mehr passiert. Löscht man die da, greift ggf. dann wieder Stufe 3...)
Zu den "Abnehmern" gehören auch Devices, die einen passenden bridgeRegexp-Eintrag haben; wie der Name andeutet, handelt es sich um eine regex-Verarbeitung.

3. Stufe:
Bei eingeschaltetem autocreate wird versucht, für noch nicht zuordenbare Topic-Strukturen das "passende" Device zu finden. Kriterium ist die "CID". Das kann sein:
- was sich aus der bridgeRegexp ergibt, hilfsweise:- was "mitgeschickt" wurde (deswegen landet alles "nicht zuordenbare" in MQTT2_MQTT2_CLIENT).

4. Stufe:
ist das Device gefunden, wird dort nochmal geschaut, ob der weitere readingList-Eintrag erstellt werden darf (autocreate am MQTT2_DEVICE, default ist 1, also erlaubt)



Zu den Fragen:

1. attrTemplate MQTT2_CLIENT_general_bridge:Die eine Zeile sollte geändert werden zu
(tele|stat)[/]([^/]+)[/].*:.* "$2"(Das werde ich auch im attrTemplate bei Gelegenheit ändern und den Vorschlag zu ignoreRegexp@IO oben ebenfalls irgendwie einarbeiten, wenn das paßt)

2. Die Änderung der bridgeRegexp ist direkt wirksam, es wird dann auch die readingList an dem Device immer komplett gelöscht. Du musst dann aber noch händisch die an dem "Sammeldevice" (MQTT2_MQTT2_CLIENT) nacharbeiten (oder einfach auch löschen; dieses "Sammeldevice" dient einfach nur dazu, einen Ort zu haben, an dem aller (noch nicht sortierter) "Müll" landet).

3. Topic-Strukturen:
Wie du gemerkt hast, funktioniert das mit den attrTemplates "as is" am besten, wenn man darauf gar keine Mühe verwendet und die defaults belässt bzw. das dahin zurückdreht. Wenn du das anders haben willst, ist das auch kein Problem, du mußt dann aber ggf. manuell nacharbeiten, wo der attrTemplate-Code an seine Grenzen kommt.
Die Details sollten wir uns ansehen, wenn die bridgeRegexp wie oben vorgeschlagen geändert ist; evtl. erübrigt sich da manches schon.

4. "publish-Attribute"
Solche gibt es bei MQTT2_DEVICE nicht (und wenn du doch lists findest, in denen es solche gibt, hat das eine ganz andere Bewandnis). Die Attribute dafür, Infos zu versenden heißen "setList" und "getList".
Für die tasmota- und shelly-Geräte gibt es dafür eine ganze Ladung attrTemplates, die das "fix und fertig" liefern. Empfehlung daher: Gerät für Gerät durchgehen und eines nach dem anderen austesten. Wenn es irgendwo Probleme gibt, weil die Parameter in den attrTemplate nicht aufgelöst werden können, können wir überlegen, ob das verbesserungsfähig ist, ansonsten kannst du den "Roh-Code" auch einfach hernehmen und auf deine Topic-Strukturen anpassen.

5. Für das "announce"-Thema bei den Shelly gibt es auch mehrere Teillösungen in den attrTemplate. => erst testen, dann reagieren, sofern nch relevant.




Generell zusammengefaßt:
Sobald du
- alle unnötigen Infos, die am IO eingehen direkt verwirfst (alle cmnd-Anweisungen der Tasmota-Geräte, die command der shelly usw.);
- eine für alle Fälle passende "bridgeRegexp" hast (du kannst die Einträge beliebig erweitern),

sollte das im wesentlichen genauso laufen wie in den Praxisbeispielen für MQTT2_SERVER beschrieben... :)

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

Beta-User

Leider gab's noch keine Rückmeldung, daher erst mal die Info, dass mit dem update nachher die Änderungen in MQTT2_CLIENT_general_bridge kommt und ein neues template namens MQTT2_IO_ignoreRegexp_basic.
Das letztere wendet man auf ein MQTT2_DEVICE an, es hat aber Auswirkungen auf das zugehörige IO-Device, bei dir also den MQTT2_CLIENT; das ist also insoweit ähnlich wie MQTT2_CLIENT_general_bridge, das auch - im Unterschied zu fast allen anderen attrTemplates - gar keine Auswirkung auf das Device hat, dem es "zugewiesen" 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

TWART016

Hallo,

wenn ich nun das überhaupt nicht verarbeitet haben möchte, muss ich es bei MQTT2_CLIENT in die ignore Liste eintragen?
readingList:
MQTT2_CLIENT:shellies/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }


attr MQTT2_CLIENT ignoreRegexp \
  homeassistant/.*/config:.*\
  .*[:/]cmnd[/]([^/]+)[/].*:.*\
  shellies/([^/]+)/command\
MQTT2_CLIENT:shellies/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }


Trotzdem bekomme ich noch diese Einträge:
attr MQTT2_MQTT2_CLIENT readingList MQTT2_CLIENT:shellies/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }\
MQTT2_CLIENT:cmnd/GosundSP111-3/POWER:.* POWER


Ist es möglich den Editor bei ignoreRegexp anzupassen wie das Def oder bridgeRegex Feld?

Trotzdem des Templates erhalte ich im Sammeldevice diese Geräte:
MQTT2_CLIENT:shellies/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }
MQTT2_CLIENT:tele/GosundSP111-2/LWT:.* LWT
MQTT2_CLIENT:cmnd/GosundSP111-2/POWER:.* POWER
MQTT2_CLIENT:tele/GosundSP111-2/INFO1:.* { json2nameValue($EVENT, 'INFO1_', $JSONMAP) }
MQTT2_CLIENT:tele/GosundSP111-2/INFO2:.* { json2nameValue($EVENT, 'INFO2_', $JSONMAP) }
MQTT2_CLIENT:tele/GosundSP111-2/INFO3:.* { json2nameValue($EVENT, 'INFO3_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/RESULT:.* { json2nameValue($EVENT, 'RESULT_', $JSONMAP) }
MQTT2_CLIENT:stat/GosundSP111-2/POWER:.* POWER
MQTT2_CLIENT:tele/GosundSP111-2/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
MQTT2_CLIENT:tele/GosundSP111-2/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }


Ich dachte das wird mit der Zeile vom Template verhindert.
[:/](tele|stat)[/]([^/]+)[/].*:.* "$2"


Diese eigenen bridgeRegexp funktionieren
  /SmartHome/Wohnung/tele/([^/]+)/.*:.* "$1"
  /SmartHome/Schlafzimmer/tele/([^/]+)/.*:.* "$1"
  /SmartHome/tele/([^/]+)/.*:.* "$1"


Wenn man sich die unteren beiden ansieht, sind die fast identisch, abgesehen von "Schlafzimmer" kann man das zusammenfassen?

zum Publish:
bei dem Shelly Device gibt es nur ein vordefiniertes: shelly1. Ich habe einen Plug S. Bei MQTT_DEVICE nutze ich das so
on off shellies/shellyplug-s-6A64F4/relay/0/command

Wie kann ich dafür ein eigenes erstellen?

Bei Tasmota möchte ich tasmota_basic_state_power1 zuweisen. Was muss ich für die unknown Parameter eintragen?

rudolfkoenig

Wie das auch hier dokumentiert ist: bei ignoreRegexp handelt sich um ein Regexp, nicht um eine Leerzeichen/Newline/etc getrennte Liste von mehreren Regexps.

Beta-User

Zitat von: rudolfkoenig am 02 Mai 2020, 23:31:33
Wie das auch hier dokumentiert ist: bei ignoreRegexp handelt sich um ein Regexp, nicht um eine Leerzeichen/Newline/etc getrennte Liste von mehreren Regexps.
Ups, das war mir irgendwie auch noch nicht klar, dann muß ich in den templates auch nochmal in diese Richtung nacharbeiten:

homeassistant/.*/config|[:/]cmnd[/]([^/]+)[/]|shellies/([^/]+)/command

Zitat von: TWART016 am 02 Mai 2020, 23:15:25
Hallo,

wenn ich nun das überhaupt nicht verarbeitet haben möchte, muss ich es bei MQTT2_CLIENT in die ignore Liste eintragen?
readingList:
MQTT2_CLIENT:shellies/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }

Das ergäbe dann eher:
homeassistant/.*/config|[:/]cmnd[/]([^/]+)[/]|shellies/([^/]+)/command|shellies/announce

Sehe aber noch nicht so richtig den Vorteil, das zu verwerfen (die shelly-attrTemplate verarbeiten diesen Zweig...).

Zitat
Trotzdem des Templates erhalte ich im Sammeldevice diese Geräte:

Ich dachte das wird mit der Zeile vom Template verhindert.
[:/](tele|stat)[/]([^/]+)[/].*:.* "$2"

Hmm, da scheint das nicht so zu funtionieren, wie ich mir das dachte... Muß wohl den [:/] wieder raus nehmen...

Zum Rest melde ich mich später nochmal, aber in der bridgeRegexp kannst du für einzelne Topic-Tree-Elemente zwischen den "/" immer die "Wildcard" "([^/]+)" verwenden.
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

TWART016

Zitat von: Beta-User am 03 Mai 2020, 13:59:49
homeassistant/.*/config|[:/]cmnd[/]([^/]+)[/]|shellies/([^/]+)/command|shellies/announce

Sehe aber noch nicht so richtig den Vorteil, das zu verwerfen (die shelly-attrTemplate verarbeiten diesen Zweig...).
In der MQTT2_GeneralBridge habe ich folgende Zeile.
  shellies[/]([^/]+)[/].*:.* "$1"


Das Event taucht 2 mal auf. Siehe Bild und hier von beiden Devices:
setstate MQTT2_MQTT2_CLIENT 2020-05-03 14:53:48 announce_ip 192.168.178.159
setstate MQTT2_shellyplug_s_6A64F4 2020-05-03 14:53:48 announce_ip 192.168.178.159


Zitat von: Beta-User am 03 Mai 2020, 13:59:49

Hmm, da scheint das nicht so zu funtionieren, wie ich mir das dachte... Muß wohl den [:/] wieder raus nehmen...

Zum Rest melde ich mich später nochmal, aber in der bridgeRegexp kannst du für einzelne Topic-Tree-Elemente zwischen den "/" immer die "Wildcard" "([^/]+)" verwenden.
Das scheint zu funktionieren:
(tele|stat)[/]([^/]+)[/].*:.* "$2"


Ich habe zusätzlich noch meine Pfade als bridgeRegexp erstellt.
/SmartHome/Wohnung/(stat|tele)/([^/]+)/.*:.* "$2"
  /SmartHome/Schlafzimmer/(stat|tele)/([^/]+)/.*:.* "$2"
  /SmartHome/(stat|tele)/([^/]+)/.*:.* "$2"

Könnte man das vereinheitlichen? Sowas wie basedir oder ein Regex für alle?

Mit
attr MQTT2_CLIENT autocreate complex

wird automatisch ein Filelog angelegt. Kann man das Verhalten beeinflussen oder abändern, z.B. mit ein Log pro Monat und nicht pro Jahr?

Beta-User

Zitat von: TWART016 am 03 Mai 2020, 15:07:17
Das Event taucht 2 mal auf. Siehe Bild und hier von beiden Devices:
setstate MQTT2_MQTT2_CLIENT 2020-05-03 14:53:48 announce_ip 192.168.178.159
setstate MQTT2_shellyplug_s_6A64F4 2020-05-03 14:53:48 announce_ip 192.168.178.159

Wie geschrieben: Wirf diese Zeile einfach aus der readingList des "Sammeldevice"...

Zitat
Das scheint zu funktionieren:
(tele|stat)[/]([^/]+)[/].*:.* "$2"

Thx, bei Gelegenheit kommt das via update dann für alle.

Zitat
Ich habe zusätzlich noch meine Pfade als bridgeRegexp erstellt.
/SmartHome/Wohnung/(stat|tele)/([^/]+)/.*:.* "$2"
  /SmartHome/Schlafzimmer/(stat|tele)/([^/]+)/.*:.* "$2"
  /SmartHome/(stat|tele)/([^/]+)/.*:.* "$2"

Könnte man das vereinheitlichen? Sowas wie basedir oder ein Regex für alle?
Entweder so:
/SmartHome/[^/]+/(stat|tele)/([^/]+)/.*:.* "$2"
  /SmartHome/(stat|tele)/([^/]+)/.*:.* "$2"

oder so:
/SmartHome.*/(stat|tele)/([^/]+)/.*:.* "$2"


Zitat
Mit
attr MQTT2_CLIENT autocreate complex

wird automatisch ein Filelog angelegt. Kann man das Verhalten beeinflussen oder abändern, z.B. mit ein Log pro Monat und nicht pro Jahr?
a) verstehe ich nicht, warum viele Neu-User bei MQTT2 meinen, dass complex "besser" wäre. In der Regel reicht "simple", und wenn JSONMAP genutzt werden soll, steht es in den attrTemplates...
"complex" macht mMn. nur Sinn, wenn man es mit (neuen) schwierigen Geräten mit "vernestelten" JSON-Strukturen zu tun hat. Sonst finde ich es eher verwirrend, was da rauskommt.
b) Hat das mit den FileLog-Devices nix mit "autocreate@MQTT2_DEVICE" zu tun, sondern mit TYPE=autocreate. Da kannst du das Verhalten umstellen.
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

Beta-User

Zitat von: TWART016 am 02 Mai 2020, 23:15:25
zum Publish:
bei dem Shelly Device gibt es nur ein vordefiniertes: shelly1. Ich habe einen Plug S. Bei MQTT_DEVICE nutze ich das so
on off shellies/shellyplug-s-6A64F4/relay/0/command

Wie kann ich dafür ein eigenes erstellen?
"Eigentlich" sollte es nicht erforderlich sein, da was eigenes zu machen; irgendwie habe ich aber den Eindruck, dass sich bei der Auswertung der Filter irgendwas geändert hatte. Kannst du lokal mal die Zeile 1519 in der attrTemplate-file ändern (diese https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template#L1519):
filter:TYPE=MQTT2_DEVICE:FILTER=readingList~shellies.*Nach einem "{AttrTemplate_Initialize()}" sollte dann der shelly mit Energiemessung sichtbar sein.

Zitat
Bei Tasmota möchte ich tasmota_basic_state_power1 zuweisen. Was muss ich für die unknown Parameter eintragen?
Du solltest den ESP mal rebooten, dann kommt der LWT-Pfad rein und die Paramter müßten dann auch ausgewertet werden können. Ansonsten bitte nochmal nachfragen und ein RAW dazu posten.
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

TWART016

Zitat von: Beta-User am 03 Mai 2020, 18:46:58
Wie geschrieben: Wirf diese Zeile einfach aus der readingList des "Sammeldevice"...
Das erstellt sich jedoch wieder erneut. Ich lösche immer das ganze Device. Mit dem Ignore
homeassistant/.*/config|[:/]cmnd[/]([^/]+)[/]|shellies/([^/]+)/command


wird diese Zeile erneut erstellt
attr MQTT2_MQTT2_CLIENT readingList MQTT2_CLIENT:cmnd/GosundSP111-3/POWER:.* POWER


Zudem gibt es noch zigbee2mqtt Events
attr MQTT2_MQTT2_CLIENT readingList MQTT2_CLIENT:cmnd/GosundSP111-3/POWER:.* POWER\
MQTT2_CLIENT:zigbee2mqtt/bridge/state:.* state\
MQTT2_CLIENT:zigbee2mqtt/bridge/config:.* { json2nameValue($EVENT) }\
MQTT2_CLIENT:zigbee2mqtt/bridge/config/devices:.* devices\
MQTT2_CLIENT:zigbee2mqtt/bridge/config/rename:.* { json2nameValue($EVENT) }


trotz der Bridge
BASE_TOPIC/([A-Za-z0-9._]*)[/]?.*:.* "zigbee_$1"


Zitat von: Beta-User am 04 Mai 2020, 09:55:03
"Eigentlich" sollte es nicht erforderlich sein, da was eigenes zu machen; irgendwie habe ich aber den Eindruck, dass sich bei der Auswertung der Filter irgendwas geändert hatte. Kannst du lokal mal die Zeile 1519 in der attrTemplate-file ändern (diese https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template#L1519):
filter:TYPE=MQTT2_DEVICE:FILTER=readingList~shellies.*Nach einem "{AttrTemplate_Initialize()}" sollte dann der shelly mit Energiemessung sichtbar sein.

Das war ein Beispiel von MQTT und nicht MQTT2. Mit dem Template geht es, hatte des vom Plug übersehen.

Kann ich ein MQTT2_DEVICE umbenennen? Werden dann zukünftig neue Readings in einem anderen Gerät wieder erstellt? Die Bridge weiß nicht von der Namensänderung.

Beta-User

Zitat von: TWART016 am 05 Mai 2020, 15:19:38
Das erstellt sich jedoch wieder erneut. Ich lösche immer das ganze Device. Mit dem Ignore
homeassistant/.*/config|[:/]cmnd[/]([^/]+)[/]|shellies/([^/]+)/command

Ändere das bitte mal auf
homeassistant/.*/config|cmnd[/]([^/]+)[/]|shellies/([^/]+)/command

Zitat
Zudem gibt es noch zigbee2mqtt Events

trotz der Bridge
BASE_TOPIC/([A-Za-z0-9._]*)[/]?.*:.* "zigbee_$1"
Da sind mMn. ein bis zwei Fehler drin:
Zum einen sind die zigbee2mqtt-Events mit dem Topic-Anteil "bridge" solange vorhanden, wie es keinen anderen "Abnehmer" dafür gibt. Da du schreibst, es gäbe eine bridge, hast du wohl versucht, das entsprechende attrTemplate anzuwenden.
Der zweite (eigentliche) Fehler ist der, dass da ein Parameter nicht richtig aufgelöst worden zu sein scheint, nämlich "BASE_TOPIC".
Da sollte eigentlich "zigbee2mqtt" stehen.

Hier ist das Problem, dass zigbee2mqtt nicht in der "allgemeinen" Liste (von MQTT2_CLIENT_general_bridge) steht. Das ergänze ich bei Gelegenheit noch, du kannst aber einfach eine Kopie vom "Sammeldevice" nehmen, da aus der readingList werfen, was nicht zu zigbee2mqtt gehört und die DEF so anpassen, dass sie anders ist als "MQTT2_CLIENT" (z.B. "zigbee2mqtt")?
Danach sollte das attrTemplate "zigbee2mqtt_bridge" ohne weiteres durchlaufen.

ZitatKann ich ein MQTT2_DEVICE umbenennen? Werden dann zukünftig neue Readings in einem anderen Gerät wieder erstellt? Die Bridge weiß nicht von der Namensänderung.
Den bridgeRegexp-Ausdrücken sind die Namen völlig schnuppe, kannst du ändern, wie du lustig bist. Die bridgeRegexp generiert eine CID (=das, was im Internal DEF steht). Nur über die wird zugeordnet, daher muß die weiterhin passen (und deswegen sollst du sie bei der Kopie für zigbee2mqtt ändern).
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