Ich bin gerade dabei, mein System zu Home Assistant umzuziehen. Das hat bisher super geklappt - lediglich einige Devices, die an SIGNALduinos hängen, sind übriggeblieben.
Jetzt will ich deren Daten über MQTT_GENERIC_BRIDGE -> MQTT2_DEVICE an Home Assistant senden.
Hier ein List meiner MQTT_GENERIC_BRIDGE:
Internals:
DEF mqtt room=HASS
FUUID 6aa3cc0e-f33f-c1fa-c094-30a9dded4aeca314
IODev ha_MQTT2
NAME mqttGeneric
NR 377
NTFY_ORDER 70-mqttGeneric
STATE in: 0 out: 60 devices: 1
TYPE MQTT_GENERIC_BRIDGE
devspec room=HASS
eventCount 71
prefix mqtt
READINGS:
2026-09-11 11:38:22 IODev ha_MQTT2
2026-09-11 11:52:30 attrTemplateVersion 20211208_MGB_M2D
2026-09-11 12:02:00 device-count 1
2026-09-11 11:38:22 incoming-count 0
2026-09-11 12:47:35 outgoing-count 60
2026-09-11 12:47:35 transmission-state outgoing publish sent
2026-09-11 11:38:22 updated-reading-count 0
2026-09-11 11:38:22 updated-set-count 0
devices:
:global:
:alias:
:defaults:
pub:base fhem
sub:base fhem/set
:publish:
*:
mode R
topic {"fhem/$device/$reading"}
SD_WS_107_H_0E668A:
:alias:
pub:humidity moisture
sub:humidity moisture
:publish:
batteryVoltage:
last 1789123655.00472
mode R
topic {"$base/$device/$name"}
humidity:
last 1789123445.03259
mode R
topic {"$base/$device/$name"}
globalDeviceExcludes:
globalReadingExcludes:
globalTypeExcludes:
pub:
FHEMWEB *
Global *
MQTT transmission-state
MQTT_BRIDGE transmission-state
MQTT_DEVICE transmission-state
MQTT_GENERIC_BRIDGE *
telnet *
sub:
FHEMWEB *
Global *
MQTT transmission-state
MQTT_BRIDGE transmission-state
MQTT_DEVICE transmission-state
MQTT_GENERIC_BRIDGE *
telnet *
Attributes:
IODev ha_MQTT2
globalDefaults sub:base=fhem/set pub:base=fhem
icon mqtt_bridge_2
room System->Protokolle->MQTT
stateFormat in: incoming-count out: outgoing-count devices: device-count
verbose 0
Ich habe zum Üben mit einem WH51-Bodenfeuchtesensor angefangen - hier ein List:
Internals:
CODE SD_WS_107_H_0E668A
DEF SD_WS_107_H_0E668A
FUUID 698a3365-f33f-c1fa-7a93-be53d9a26abe4a9d
FVERSION 14_SD_WS.pm:v1.1.8-s31449/2026-07-05
LASTInputDev Sduino_3
MSGCNT 2574
NAME SD_WS_107_H_0E668A
NR 355
STATE Bodenfeuchte: 26 %
Sduino_3_DMSG W107#510E668A0E7F1AF8A3FFFFFFDF6D
Sduino_3_MSGCNT 2574
Sduino_3_Protocol_ID 107.1
Sduino_3_RAWMSG MN;D=510E668A0E7F1AF8A3FFFFFFDF6D;R=4;
Sduino_3_RSSI -72
Sduino_3_TIME 2026-09-11 12:41:44
TYPE SD_WS
bitMSG 0101000100001110011001101000101000001110011111110001101011111000101000111111111111111111111111111101111101101101
eventCount 1054
lastMSG 510E668A0E7F1AF8A3FFFFFFDF6D
lastReceive 1789123304.9832
Helper:
DBLOG:
humidity:
myDbLog:
TIME 1789123094.98941
VALUE 26
OLDREADINGS:
READINGS:
2026-09-11 12:41:44 adc 163
2026-09-11 12:41:44 batteryVoltage 1.4
2026-09-11 12:41:44 humidity 26
2026-02-09 20:21:14 model SD_WS_107_H
2026-09-11 12:41:44 state H: 26
2026-02-09 20:21:14 type WH51, DP100, MISOL/1
helper:
_98_statistics Statistik
Attributes:
DbLogInclude humidity
alias Elefantenfuß
comment Batteriewechsel 21.05.2025
event-min-interval .*:300
event-on-change-reading .*
group Pflanzen
icon hue_room_garden
max-deviation-hum 200
mqttAlias humidity=moisture
mqttPublish batteryVoltage|humidity:topic={"$base/$device/$name"}
room HASS,Pflanzen,System->Protokolle->SD_WS
stateFormat Bodenfeuchte: humidity %
userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
Ich möchte nur zwei Readings in HA haben: batteryVoltage und humidity (wird über mqttAlias in moisture umbenannt) und habe das Attribut mqttPublish entsprechend gesetzt (siehe List)
Trotzdem werden alle Readings gesendet - siehe hier das Bildschirmfoto der MQTT-Explorers.
Bildschirmfoto 2026-09-11 um 12.51.36.png
Was mache ich falsch?
P.S.: get mqttGeneric refreshUserAttr habe ich gemacht (obwohl in der CommandRef nicht dokumentiert).