[gelöst] MQTT_GENERIC_BRIDGE ignoriert mqttPublish im Device

Begonnen von JWRu, 11 September 2026, 12:59:56

Vorheriges Thema - Nächstes Thema

JWRu

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.

Du darfst diesen Dateianhang nicht ansehen.

Was mache ich falsch?

P.S.: get mqttGeneric refreshUserAttr habe ich gemacht (obwohl in der CommandRef nicht dokumentiert).
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon- und Bresser-Sensoren; Steuerung Viessmann-Heizung; ESP32 und ESP8266 über MQTT; Arduino

Beta-User

Sieht eigentlich gut aus.

Sind die Daten in deiner Anzeige aktuell? Also werden die unerwünschten readings auch laufend aktualisiert?
Würde mals alles mit retain-flag gepublisht?
Server: HP-elitedesk@Debian 13, 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

JWRu

Ja, die Topics werden regelmäßig aktualisiert. Ich habe sie auch mal im MQTT-Explorer gelöscht - sie tauchen anschließend wieder auf.
Ich habe nichts händisch mit retain gepublished - die Topics stammen alle von der Bridge.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon- und Bresser-Sensoren; Steuerung Viessmann-Heizung; ESP32 und ESP8266 über MQTT; Arduino

JWRu

ich hab's jetzt rausgefunden:
Ich hatte ursprünglich in der Bridge das Attribut globalPublish gesetzt, später aber wieder gelöscht.
Da es keine Möglichkeit gibt, die Bridge neu zu starten, hat sie die ursprüngliche Einstellung anscheinend nicht "vergessen".
Dafür war ein Neustart von FHEM nötig - jetzt funktioniert es.
ZBox; RasPi 3B; RasPi Zero W; Homematic; Z-Wave; EnOcean, Shelly; DuoFern; Oregon- und Bresser-Sensoren; Steuerung Viessmann-Heizung; ESP32 und ESP8266 über MQTT; Arduino