Guten Morgen, ich bin dabei von MQTT auf MQTT2 umzustellen und habe ein Problem für das ich keine Lösung finde bzw. zu blöd zum Suchen bin.
Ich habe alle MQTT Geräte in FHEM gelöscht und auch den Broker,
dann habe ich einen MQTT2_CLIENT eingerichtet ( bei mir läuft ein Mosquitto Server ),
dann habe ich das erste MQTT Gerät (einen Shellydimmer ) neu gestartet und er wurde auch sofort erkannt und kann bedient werden,
es wurde ein neuer Raum angelegt MQTT2_DEVICE in dem der Dimmer ist.
Soweit alles gut nur wenn ich dann das nächste Gerät starte taucht es in den Readings des Dimmers auf und kann nicht bedient werden?
Ich habe dann den Dimmer umbenannt von MQTT2_mybroker in Shellydimmer, dann wurden überhaupt keine neuen Geräte mehr gefunden!
Wer kann mir Helfen?
Hier noch die RAW von dem Dimmer ohne das ich ihn umbenannt habe, und das zweite Gerät in den Readings:
defmod MQTT2_mybroker MQTT2_DEVICE mybroker
attr MQTT2_mybroker IODev mybroker
attr MQTT2_mybroker devStateIcon {my $lderr = ReadingsVal($name,"loaderror","true") eq "true"?"10px-kreis-rot":"10px-kreis-gruen";; my $light = ReadingsVal($name,"ison","false") eq "true"?"on":"off";; my $cons = ReadingsVal($name,"light_0_power","unknown");; FW_makeImage($lderr)."<a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Leistung: $cons</div>"}
attr MQTT2_mybroker genericDeviceType light
attr MQTT2_mybroker icon light_control
attr MQTT2_mybroker jsonMap brightness:pct
attr MQTT2_mybroker model shellydimmer
attr MQTT2_mybroker readingList shellies/shellydimmer/light/0/status:.* {json2nameValue($EVENT,'',$JSONMAP)}\
shellies/shellydimmer/light/0:.* state\
shellies/shellydimmer/light/0/power:.* light_0_power\
shellies/shellydimmer/light/0/energy:.* light_0_energy\
shellies/shellydimmer/temperature:.* temperature\
shellies/shellydimmer/temperature_f:.* temperature_f\
shellies/shellydimmer/online:.* online\
shellies/shellydimmer/overtemperature:.* overtemperature\
shellies/shellydimmer/overload:.* overload\
shellies/shellydimmer/loaderror:.* loaderror\
shellies/announce:.* { $EVENT =~ m,..id...shellydimmer...mac.*, ? json2nameValue($EVENT) : return }\
mybroker:shellies/shellydimmer/command:.* command\
mybroker:shellies/shellydimmer/announce:.* { json2nameValue($EVENT) }\
mybroker:shellies/shellydimmer/light/0/command:.* light_0_command\
mybroker:shellies/shellydimmer/light/0/set:.* { json2nameValue($EVENT) }\
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/tele/LWT:.* LWT\
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/cmnd/POWER:.* POWER\
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/tele/INFO1:.* { json2nameValue($EVENT) }\
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/tele/INFO2:.* { json2nameValue($EVENT) }\
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/tele/INFO3:.* { json2nameValue($EVENT) }\
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/RESULT:.* { json2nameValue($EVENT) }\
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/POWER1:.* POWER1\
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/tele/STATE:.* { json2nameValue($EVENT) }
attr MQTT2_mybroker room MQTT2_DEVICE
attr MQTT2_mybroker setList off:noArg shellies/shellydimmer/light/0/command off\
on:noArg shellies/shellydimmer/light/0/command on\
pct:slider,0,1,100 shellies/shellydimmer/light/0/set {"turn": "on","brightness": $EVTPART1}\
dimup:noArg { my $num=int((ReadingsNum($NAME,'pct',0)+4)/10)*10+10;; return qq {shellies/shellydimmer/light/0/set {"turn": "on", "brightness": $num}};; }\
dimdown:noArg { my $num=int((ReadingsNum($NAME,'pct',0)+7)/10)*10-10;; return qq {shellies/shellydimmer/light/0/set {"turn": "on", "brightness": $num}};; }\
x_mqttcom shellies/shellydimmer/command $EVTPART1
attr MQTT2_mybroker webCmd pct:on:off
Danke
Moin,
liest sich so das du nach dem anlegen des MQTT2_CLIENT auf das erste automatisch angelegte Device nicht das MQTT2_CLIENT_general_bridge-Template angewendet hast ?
https://wiki.fhem.de/wiki/MQTT2_CLIENT#autocreate_und_bridgeRegexp (https://wiki.fhem.de/wiki/MQTT2_CLIENT#autocreate_und_bridgeRegexp)
Gruß
Thomas
Oder auch: autocreate funktioniert mit MQTT2_SERVER direkt, MQTT2_CLIENT braucht manuelle Nachhilfe.
Perfekt sind beide nicht.
Bei MQTT2_CLIENT steht autocreate auf simple.
Ich habe jetzt alles nochmal gelöscht und habe dann bei dem ersten automatisch angelegtem Device das MQTT2_CLIENT_general_bridge-Template angewendet und es werden schonmal alle shellys einzelnd angelegt nur die Sonoff / Tasmota stehen immer noch alle in dem ersten DeVice.
D.h. das vom Template gesetzte bridgeRegexp Attribut ist in deinem Fall nicht ganz richtig.
Ich sehe mehrere Loesungen:
- bridgeRegexp korrigieren
- in den nicht angelegten Geraeten die MQTT Topics so anpassen, dass bridgeRegexp sie erkennt
- die fehlenden Geraete (analog zum alten MQTT) per Hand anlegen, und readingsList jeweils setzen
- auf MQTT2_SERVER umsteigen
Aus Interesse hab ich bei einer OBI-WLAN-Steckdose ein Update auf die neueste Version 9.1.0 gemacht, auf einem aktuellen Testsystem einen MQTT2_CLIENT definiert und auf das erste erstellte Device das Template angewendet.
autocreate funzt hier ohne Probleme mit Tasmota (und auf den ersten Blick mit allen anderen sonstigen Geräten).
An der bridgeRegexp kanns schonmal nicht liegen.
Auch wenn sich mMn laut Änderungshistorie nie was am regexp geändert hat, hast du ein aktuelles System ?
Wie sieht denn die bridgeRegexp bei dir aus ?
@Schuetze5
Ich nutze schon seit der Einführung der MQTT2-Module mosquitto und MQTT2_CLIENT - habe bislang keinerlei Probleme.
Für die Analyse Deines Problems wäre ein list der "general bridge" hilfreich ...
Hier das List des ersten Devices das automatisch angelegt wurde und dann von mir mit dem MQTT2_CLIENT_general_bridge-Template versehen wurde:
Internals:
CID mybroker
DEF mybroker
DEVICETOPIC MQTT2_mybroker
FUUID 5fa7cce0-f33f-d66a-a5a9-5cf99b751f3b2c43
FVERSION 10_MQTT2_DEVICE.pm:0.224580/2020-07-24
IODev mybroker
LASTInputDev mybroker
MSGCNT 24
NAME MQTT2_mybroker
NR 446
STATE ???
TYPE MQTT2_DEVICE
mybroker_MSGCNT 24
mybroker_TIME 2020-11-08 17:42:35
READINGS:
2020-11-08 17:38:03 AM2301_Humidity 41.6
2020-11-08 17:38:03 AM2301_Temperature 25.6
2020-11-08 11:52:40 Backlog StateText1 off; StateText2 on; StateText3 toggle; StateText4 hold; SetOption26 1; SaveData 1
2020-11-08 17:42:35 ENERGY_ApparentPower 0
2020-11-08 17:42:35 ENERGY_Current 0.000
2020-11-08 17:42:35 ENERGY_Factor 0.00
2020-11-08 17:42:35 ENERGY_Period 0
2020-11-08 17:42:35 ENERGY_Power 0
2020-11-08 17:42:35 ENERGY_ReactivePower 0
2020-11-08 17:42:35 ENERGY_Today 3.906
2020-11-08 17:42:35 ENERGY_Total 69.792
2020-11-08 17:42:35 ENERGY_TotalStartTime 2020-02-03T00:00:00
2020-11-08 17:42:35 ENERGY_Voltage 0
2020-11-08 17:42:35 ENERGY_Yesterday 1.265
2020-11-08 12:18:39 FallbackTopic cmnd/Friteuse_fb/
2020-11-08 12:18:39 GroupTopic Smarthome/Kueche/sonoffs/cmnd/
2020-11-08 17:42:35 Heap 27
2020-11-08 12:18:39 Hostname Verbrauch_Server
2020-11-08 12:18:39 IPAddress 10.1.30.49
2020-11-08 17:34:48 LWT Online
2020-11-08 17:42:35 LoadAvg 19
2020-11-08 12:18:39 Module Sonoff Pow
2020-11-08 17:42:35 MqttCount 2
2020-11-08 17:42:35 POWER OFF
2020-11-08 17:39:18 POWER1 off
2020-11-08 12:25:47 Power off
2020-11-08 12:18:39 RestartReason Software/System restart
2020-11-08 11:52:41 SaveData on
2020-11-08 11:52:41 SetOption26 on
2020-11-08 17:42:35 Sleep 50
2020-11-08 17:42:35 SleepMode Dynamic
2020-11-08 11:52:40 StateText1 off
2020-11-08 11:52:40 StateText2 on
2020-11-08 11:52:41 StateText3 toggle
2020-11-08 11:52:41 StateText4 hold
2020-11-08 12:25:47 Status 0
2020-11-08 12:25:47 StatusFWR_Boot 7
2020-11-08 12:25:47 StatusFWR_BuildDateTime 2019.12.25 12:47:07
2020-11-08 12:25:47 StatusFWR_CR 404/699
2020-11-08 12:25:47 StatusFWR_Core 2_6_1
2020-11-08 12:25:47 StatusFWR_Hardware ESP8285
2020-11-08 12:25:47 StatusFWR_SDK 2.2.2-dev(38a443e)
2020-11-08 12:25:47 StatusFWR_Version 8.1.0(tasmota)
2020-11-08 12:25:47 StatusLOG_LogHost
2020-11-08 12:25:47 StatusLOG_LogPort 514
2020-11-08 12:25:47 StatusLOG_MqttLog 0
2020-11-08 12:25:47 StatusLOG_Resolution 558180C0
2020-11-08 12:25:47 StatusLOG_SSId_1 Sonoffhome
2020-11-08 12:25:47 StatusLOG_SSId_2
2020-11-08 12:25:47 StatusLOG_SerialLog 2
2020-11-08 12:25:47 StatusLOG_SetOption_1 04008009
2020-11-08 12:25:47 StatusLOG_SetOption_2 2805C8000100060000005A00000000000000
2020-11-08 12:25:47 StatusLOG_SetOption_3 00000000
2020-11-08 12:25:47 StatusLOG_SetOption_4 00000000
2020-11-08 12:25:47 StatusLOG_SysLog 0
2020-11-08 12:25:47 StatusLOG_TelePeriod 300
2020-11-08 12:25:47 StatusLOG_WebLog 2
2020-11-08 12:25:47 StatusMEM_Drivers 1,2,3,4,5,6,7,8,9,10,12,16,18,19,20,21,22,24,26,29
2020-11-08 12:25:47 StatusMEM_Features_1 00000407
2020-11-08 12:25:47 StatusMEM_Features_2 8FDAE397
2020-11-08 12:25:47 StatusMEM_Features_3 043683A0
2020-11-08 12:25:47 StatusMEM_Features_4 22B617CD
2020-11-08 12:25:47 StatusMEM_Features_5 01001BC0
2020-11-08 12:25:47 StatusMEM_Features_6 00007881
2020-11-08 12:25:47 StatusMEM_FlashChipId 144051
2020-11-08 12:25:47 StatusMEM_FlashMode 3
2020-11-08 12:25:47 StatusMEM_FlashSize 1024
2020-11-08 12:25:47 StatusMEM_Free 436
2020-11-08 12:25:47 StatusMEM_Heap 25
2020-11-08 12:25:47 StatusMEM_ProgramFlashSize 1024
2020-11-08 12:25:47 StatusMEM_ProgramSize 567
2020-11-08 12:25:47 StatusMEM_Sensors 1,2,3,4,5,6,7,8,9,10,14,15,17,18,20,22,26,34
2020-11-08 12:25:47 StatusMQT_KEEPALIVE 30
2020-11-08 12:25:47 StatusMQT_MAX_PACKET_SIZE 1000
2020-11-08 12:25:47 StatusMQT_MqttClient Badezimmer_Rest
2020-11-08 12:25:47 StatusMQT_MqttClientMask Badezimmer_Rest
2020-11-08 12:25:47 StatusMQT_MqttCount 1
2020-11-08 12:25:47 StatusMQT_MqttHost 192.168.2.2
2020-11-08 12:25:47 StatusMQT_MqttPort 48287
2020-11-08 12:25:47 StatusMQT_MqttUser DVES_USER
2020-11-08 12:25:47 StatusNET_DNSServer 10.1.30.1
2020-11-08 12:25:47 StatusNET_Gateway 10.1.30.1
2020-11-08 12:25:47 StatusNET_Hostname Badezimmer_Rest
2020-11-08 12:25:47 StatusNET_IPAddress 10.1.30.41
2020-11-08 12:25:47 StatusNET_Mac D8:F1:5B:8D:3B:BC
2020-11-08 12:25:47 StatusNET_Subnetmask 255.255.255.0
2020-11-08 12:25:47 StatusNET_Webserver 2
2020-11-08 12:25:47 StatusNET_WifiConfig 4
2020-11-08 12:25:47 StatusPRM_Baudrate 115200
2020-11-08 12:25:47 StatusPRM_BootCount 30
2020-11-08 12:25:47 StatusPRM_CfgHolder 4617
2020-11-08 12:25:47 StatusPRM_GroupTopic tasmotas
2020-11-08 12:25:47 StatusPRM_OtaUrl http://thehackbox.org/tasmota/release/tasmota.bin
2020-11-08 12:25:47 StatusPRM_RestartReason Software/System restart
2020-11-08 12:25:47 StatusPRM_SaveAddress F9000
2020-11-08 12:25:47 StatusPRM_SaveCount 718
2020-11-08 12:25:47 StatusPRM_Sleep 50
2020-11-08 12:25:47 StatusPRM_StartupUTC
2020-11-08 12:25:47 StatusPRM_Uptime 0T00:34:36
2020-11-08 12:04:52 StatusSNS_AM2301_Humidity 41.6
2020-11-08 12:04:52 StatusSNS_AM2301_Temperature 23.5
2020-11-08 12:04:52 StatusSNS_TempUnit C
2020-11-08 12:25:47 StatusSNS_Time 1970-01-01T00:34:35
2020-11-08 12:25:47 StatusSTS_Heap 25
2020-11-08 12:25:47 StatusSTS_LoadAvg 20
2020-11-08 12:25:47 StatusSTS_MqttCount 1
2020-11-08 12:04:52 StatusSTS_POWER OFF
2020-11-08 12:25:47 StatusSTS_POWER1 off
2020-11-08 12:25:47 StatusSTS_Sleep 50
2020-11-08 12:25:47 StatusSTS_SleepMode Dynamic
2020-11-08 12:25:47 StatusSTS_Time 1970-01-01T00:34:35
2020-11-08 12:25:47 StatusSTS_Uptime 0T00:34:36
2020-11-08 12:25:47 StatusSTS_UptimeSec 2076
2020-11-08 12:25:47 StatusSTS_Wifi_AP 1
2020-11-08 12:25:47 StatusSTS_Wifi_BSSId 1A:E8:29:EA:38:4B
2020-11-08 12:25:47 StatusSTS_Wifi_Channel 1
2020-11-08 12:25:47 StatusSTS_Wifi_Downtime 0T00:00:06
2020-11-08 12:25:47 StatusSTS_Wifi_LinkCount 1
2020-11-08 12:25:47 StatusSTS_Wifi_RSSI 90
2020-11-08 12:25:47 StatusSTS_Wifi_SSId Sonoffhome
2020-11-08 12:25:47 StatusSTS_Wifi_Signal -55
2020-11-08 12:25:47 StatusTIM_EndDST Thu Jan 01 00:00:00 1970
2020-11-08 12:25:47 StatusTIM_Local Thu Jan 01 00:34:35 1970
2020-11-08 12:25:47 StatusTIM_StartDST Thu Jan 01 00:00:00 1970
2020-11-08 12:25:47 StatusTIM_Sunrise 07:43
2020-11-08 12:25:47 StatusTIM_Sunset 16:03
2020-11-08 12:25:47 StatusTIM_Timezone +00:00
2020-11-08 12:25:47 StatusTIM_UTC Thu Jan 01 00:34:35 1970
2020-11-08 12:25:47 Status_ButtonRetain 0
2020-11-08 12:25:47 Status_ButtonTopic 0
2020-11-08 12:25:47 Status_FriendlyName_1 Badezimmer_Rest
2020-11-08 12:25:47 Status_LedMask FFFF
2020-11-08 12:25:47 Status_LedState 1
2020-11-08 12:25:47 Status_Module 1
2020-11-08 12:25:47 Status_Power 0
2020-11-08 12:25:47 Status_PowerOnState 3
2020-11-08 12:25:47 Status_PowerRetain 0
2020-11-08 12:25:47 Status_SaveData 1
2020-11-08 12:25:47 Status_SaveState 1
2020-11-08 12:25:47 Status_SensorRetain 0
2020-11-08 12:25:47 Status_SwitchMode_1 0
2020-11-08 12:25:47 Status_SwitchMode_2 0
2020-11-08 12:25:47 Status_SwitchMode_3 0
2020-11-08 12:25:47 Status_SwitchMode_4 0
2020-11-08 12:25:47 Status_SwitchMode_5 0
2020-11-08 12:25:47 Status_SwitchMode_6 0
2020-11-08 12:25:47 Status_SwitchMode_7 0
2020-11-08 12:25:47 Status_SwitchMode_8 0
2020-11-08 12:25:47 Status_SwitchRetain 0
2020-11-08 12:25:47 Status_SwitchTopic 0
2020-11-08 12:25:47 Status_Topic Badezimmer_Rest
2020-11-08 17:38:03 TempUnit C
2020-11-08 17:42:35 Time 1970-01-01T05:24:02
2020-11-08 17:42:35 Uptime 0T05:22:12
2020-11-08 17:42:35 UptimeSec 19332
2020-11-08 12:18:39 Version 8.1.0(tasmota)
2020-11-08 12:18:39 WebServerMode Admin
2020-11-08 17:42:35 Wifi_AP 1
2020-11-08 17:42:35 Wifi_BSSId 1A:E8:29:E4:91:6A
2020-11-08 17:42:35 Wifi_Channel 6
2020-11-08 17:42:35 Wifi_Downtime 0T00:00:06
2020-11-08 17:42:35 Wifi_LinkCount 1
2020-11-08 17:42:35 Wifi_RSSI 74
2020-11-08 17:42:35 Wifi_SSId Sonoffhome
2020-11-08 17:42:35 Wifi_Signal -63
2020-11-08 11:50:50 attrTemplateVersion 20200625_2
2020-11-08 12:27:31 fw_ver 20200320-123430/v1.6.2@514044b4
2020-11-08 12:27:31 id shelly1-0591F5
2020-11-08 12:27:31 ip 10.1.30.2
2020-11-08 12:27:31 mac CC50E30591F5
2020-11-08 12:27:31 new_fw false
Attributes:
IODev mybroker
autocreate 1
bridgeRegexp (tele|stat)[/]([^/]+)[/].*:.* "$2"
shellies[/]([^/]+)[/].*:.* "$1"
(zigbee2mqtt)/bridge/.*:.* "$1"
(ESPClient_[^/]+)/.*:.* "$1"
(ebusd)/global/.*:.* "$1"
valetudo[/]([^/]+)[/].*:.* "$1"
[^/]+[/](ems-esp[^/]+)/start:.* "$1"
wallpanel[/]([^/]+)[/].*:.* "wallpanel_$1"
(wled)[/]([^/]+)[/].*:.* "$1_$2"
(go-eCharger)[/]([^/]+)[/].*:.* "go_eCharger_$2"
(owntracks)[/]([^/:]+)[/]([^/:]+).*:.* "$1_$2$3"
Advantech[/]([^/]+)[/].*:.* "$1"
(sonos)/connected.* "$1"
(tvheadend)[/][^/:]+.* "$1"
(mygateway[\d]+)-(in|out)/.* "$1"
(milight)/LWT:.* "$1"
home/(O[^/]*M[^/]*G[^/]*)/LWT:.* "$1"
homeassistant/.*/config:.* ""
comment Do not use very open bridgeRegexp expressions! This might lead to irritating results... Especially make sure to not have two regexpes that may both match!
icon mqtt_bridge_2
model MQTT2_CLIENT_general_bridge
readingList mybroker:Smarthome/Badezimmer/Badezimmer_Rest/tele/LWT:.* LWT
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/cmnd/POWER:.* POWER
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/tele/INFO1:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/tele/INFO2:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/tele/INFO3:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/RESULT:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/POWER1:.* POWER1
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/tele/STATE:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/cmnd/Backlog:.* Backlog
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/cmnd/POWER1:.* POWER1
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/tele/LWT:.* LWT
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/cmnd/POWER:.* POWER
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/tele/INFO1:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/tele/INFO2:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/tele/INFO3:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/RESULT:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/POWER:.* POWER
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/tele/STATE:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/tele/SENSOR:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/cmnd/Power:.* Power
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/cmnd/Status:.* Status
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/STATUS:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/STATUS1:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/STATUS2:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/STATUS3:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/STATUS4:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/STATUS5:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/STATUS6:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/STATUS7:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/STATUS10:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmertemperatur/stat/STATUS11:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Flur/Tueroeffner/tele/LWT:.* LWT
mybroker:Smarthome/Flur/Tueroeffner/cmnd/POWER:.* POWER
mybroker:Smarthome/Flur/Tueroeffner/tele/INFO1:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Flur/Tueroeffner/tele/INFO2:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Flur/Tueroeffner/tele/INFO3:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Flur/Tueroeffner/stat/RESULT:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Flur/Tueroeffner/stat/POWER1:.* POWER1
mybroker:Smarthome/Flur/Tueroeffner/tele/STATE:.* { json2nameValue($EVENT) }
mybroker:shellies/announce:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Kueche/Friteuse/tele/LWT:.* LWT
mybroker:Smarthome/Kueche/Friteuse/cmnd/POWER:.* POWER
mybroker:Smarthome/Kueche/Friteuse/tele/INFO1:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Kueche/Friteuse/tele/INFO2:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Kueche/Friteuse/tele/INFO3:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Kueche/Friteuse/stat/RESULT:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Kueche/Friteuse/stat/POWER:.* POWER
mybroker:Smarthome/Kueche/Friteuse/tele/STATE:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Kueche/Friteuse/tele/SENSOR:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/cmnd/Power:.* Power
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/cmnd/Status:.* Status
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/STATUS:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/STATUS1:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/STATUS2:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/STATUS3:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/STATUS4:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/STATUS5:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/STATUS6:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/STATUS7:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/STATUS10:.* { json2nameValue($EVENT) }
mybroker:Smarthome/Badezimmer/Badezimmer_Rest/stat/STATUS11:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
setList clear_all:noArg {fhem("deleteattr $NAME readingList; deletereading -q $NAME (?!associatedWith).*");return undef}
setStateList on off
Alles klar, denke das einfachste wäre dann hier (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Tasmota) das gleich am Anfang erwähnte Info-Feld zu beachten.
Oder die bridgeRegexp anpassen, auf den Pfad den du in den MQTT-Einstellungen im Tasmota-UI vergeben hast.
edit:
die readingList des mybroker-Device nicht vergessen zu löschen nachdem du dich für irgendeine Lösung entschieden hast
@Schuetze5
Du erhälst Tasmota-Topics nach folgendem Muster
Smarthome/Badezimmer/Badezimmer_Rest/tele/INFO1:xyz
und willst den FHEM-Devicenamen lt. folgendem regExp ermitteln
(tele|stat)[/]([^/]+)[/].*:.* "$2"
Damit ist klar, dass es keine Übereinstimmung geben kann.
Meine Topic-Struktur deckt sich fast mit Deiner Struktur und bei z.B.
SmartHome/Tasmota/Steckdose/TasmotaBiber4/tele/INFO1:xyz
erhalte ich mit meinem eingesetzen regExp
SmartHome/Tasmota/Steckdose/([A-Za-z0-9]*)/.*:.* "tasmota_$1"
ein FHEM-Device mit dem Namen MQTT2_tasmota_TasmotaBiber4
Vermutlich reicht bei Dir aber ein einfacher Tausch im allgemeineren regExp:
aus
(tele|stat)[/]([^/]+)[/].*:.* "$2"
könnte
([^/]+)[/](tele|stat)[/].*:.* "$1"
werden ...
Wird das bridgeRegexp-Attribut verändert, werden "normalerweise/aus bisheriger Erfahrung" das readingList-Attribut sowie die unnütz gewordenen Readings gelöscht.
Wie erwähnt nicht vergessen die readingList zu löschen wenn du den regexp anpassen solltest.
Für mich hab ich zu meinem Verständnis den Vorschlag
Zitat
- auf MQTT2_SERVER umsteigen
angeschaut. (weil mir die Erkenntnis nicht bewusst war)
Wenn du in Zukunft auf den bisher verwendeten Mosquitto-Dienst verzichten kannst, dann nimm
MQTT2_SERVER.
Auch mit deinem verwendeten Topic-Pfad wird dann das Device automatisch angelegt.
Ich schaue mir mal MQTT2_SERVER an um das besser zu verstehen.
Vielen Dank an alle
Der MQTT2_SERVER verfuegt ueber die clientID jedes verbundenen Clients, kann deswegen auch unterschiedliche Topics richtig einem MQTT2_DEVICE zuordnen. MQTT-Clients (wie MQTT oder MQTT2_CLIENT) haben diese Info nicht, deswegen muessen sie die Zuordnung anhand des Topics manuell oder halbautomatisch (wie beim Template) machen.
Leider verwenden manche MQTT Geraete fuer jede Verbindung eine zufaellige ClientID, womit der Vorteil von MQTT2_SERVER in diesen Faellen wegfaellt, hier muss man die Zurodnung anhand des Topics machen.
Ich bin zu blöd für MQTT2, der Server erkennt garnichts und bleibt auf Initialized stehen...
hier mal ein List:
Internals:
DEF 2888 global
FD 77
FUUID 5fa94523-f33f-d66a-5af4-2d153358d6a08c3e
FVERSION 00_MQTT2_SERVER.pm:0.225940/2020-08-13
NAME MQTT2_FHEM_Server
NR 446
PORT 2888
STATE Initialized
TYPE MQTT2_SERVER
READINGS:
2020-11-09 14:34:21 nrclients 0
2020-11-09 14:34:21 state Initialized
clients:
retain:
Attributes:
mit Port 1883 habe ich es auch probiert, mit dem gleichen Ergebniss.
MQTT2_SERVER ist ein Ersatz fuer (mosquitto und MQTT2_CLIENT).
D.h. entweder ersetzt man mosquitto mit MQTT2_SERVER (gleicher Server, gleicher Port), oder man muss in allen MQTT-Endgeraeten den MQTT Server auf MQTT2_SERVER aendern.
Ich habe bei einem Sonoff Tasmota die MQTT Einstellung auf den neuen Server geändert, ohne Erfolg.
Steht was im Logfile ?
Hast den Tasmota mal neugestartet oder geschalten ?
Neu gestartet und geschaltet habe ich , Logfile kann ich gerade nicht nachsehen.
Sollte nicht beim MQTT2_SERVER autocreate mit angelegt werden?
Habe ich aber auch schon ausprobiert, ohne Erfolg
Oder schau in der Konsole von Tasmota was dort ausgegeben wird weshalb er sich nicht mit dem MQTT2_Server verbinden kann.