Keine retained messages von FHEM zum Broker (MQTT Module und Generic Brdige)

Begonnen von Master_Nick, 19 Januar 2023, 22:39:35

Vorheriges Thema - Nächstes Thema

Master_Nick

Eventuell habe ich gerade gefunden was es war -> Sowohl Mqttsub als auch MQTT Explorer sehen erst beim erneuten Connect, dass etwas retained ist.....
Daher spart auch aktuell die menge zu lesen ggf lieber :-D :-D Ich markiere es als gelöst wenn ich sicher bin...



Moin Moin,

zusätzlich zu dem Problem, dass ich keine retained msgs über die generic bridge zum Broker (Mosquitto) bekomme - habe ich festgestellt, dass es auch bei nativen MQTT Devices so ist.
Ich bekomme also gerade gar kein retain aus FHEM zum Broker.

Die Mosquitto Config habe ich schon aktualisiert um keine Limits zu sprengen - hat leider nichts geändert.
Hier einige Device Beispiele.

Flur Deckenlich:
defmod Flur_Deckenlicht MQTT_DEVICE
attr Flur_Deckenlicht IODev MQTT_Broker
attr Flur_Deckenlicht alexaName Deckenlicht
attr Flur_Deckenlicht eventMap { dev=>{ 'true'=>'on', 'false'=>'off' }, usr=>{ '^on$'=>'true', '^off$'=>'false' }, fw=>{ '^on$'=>'on', '^off$'=>'off' } }
attr Flur_Deckenlicht genericDeviceType light
attr Flur_Deckenlicht group Licht
attr Flur_Deckenlicht icon light_ceiling
attr Flur_Deckenlicht publishSet true false homeland/haushalt/iobroker/zigbee/0/b4e3f9fffe7c3588/state
attr Flur_Deckenlicht publishSet_ct homeland/haushalt/iobroker/zigbee/0/b4e3f9fffe7c3588/colortemp
attr Flur_Deckenlicht publishSet_pct homeland/haushalt/iobroker/zigbee/0/b4e3f9fffe7c3588/brightness
attr Flur_Deckenlicht qos 2
attr Flur_Deckenlicht retain 1
attr Flur_Deckenlicht room Flur,~Licht
attr Flur_Deckenlicht stateFormat state
attr Flur_Deckenlicht subscribeReading_available homeland/haushalt/iobroker/zigbee/0/b4e3f9fffe7c3588/available
attr Flur_Deckenlicht subscribeReading_ct homeland/haushalt/iobroker/zigbee/0/b4e3f9fffe7c3588/colortemp
attr Flur_Deckenlicht subscribeReading_pct homeland/haushalt/iobroker/zigbee/0/b4e3f9fffe7c3588/brightness
attr Flur_Deckenlicht subscribeReading_state homeland/haushalt/iobroker/zigbee/0/b4e3f9fffe7c3588/state
attr Flur_Deckenlicht useSetExtensions 1
attr Flur_Deckenlicht verbose 1
attr Flur_Deckenlicht webCmd pct:ct
attr Flur_Deckenlicht widgetOverride pct:colorpicker,BRI,1,1,100 ct:colorpicker,CT,250,1,454

setstate Flur_Deckenlicht off
setstate Flur_Deckenlicht 2023-01-19 15:48:43 IODev MQTT_Broker
setstate Flur_Deckenlicht 2023-01-19 15:42:43 available false
setstate Flur_Deckenlicht 2023-01-15 21:21:58 ct 361
setstate Flur_Deckenlicht 2023-01-15 21:21:58 pct 50
setstate Flur_Deckenlicht 2023-01-19 16:13:41 state false
setstate Flur_Deckenlicht 2023-01-19 16:13:41 transmission-state outgoing publish completed


Ergebnis im mosquitto_sub beim ausschalten dieser Lampe:

mosquitto_sub -v -h 192.168.0.8 -t 'homeland/haushalt/#' -u XXXXX -P "XXXXXXXXX" -q 2 -d -i mqtt_pub
homeland/haushalt/iobroker/zigbee/0/b4e3f9fffe7c3588/state false
Client mqtt_pub received PUBLISH (d0, q2, r0, m332, 'homeland/haushalt/iobroker/zigbee/0/b4e3f9fffe7c3588/state', ... (4 bytes))
Client mqtt_pub sending PUBREC (m332, rc0)
Client mqtt_pub received PUBREL (Mid: 332)
Client mqtt_pub sending PUBCOMP (m332)



Und ein generic Beispiel.

Dummyschalter:
defmod Energysaving structure energy Sonoff_S20_7 Sonoff_S20_2 Sonoff_S20_8 Sonoff_S20_1
attr Energysaving userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
attr Energysaving clientstate_behavior absolute
attr Energysaving considerDisabledMembers 0
attr Energysaving devStateIcon on:10px-kreis-gruen off:10px-kreis-rot .*:hourglass
attr Energysaving eventMap { dev=>{ 'false'=>'on', 'true'=>'off' }, usr=>{ '^on$'=>'false', '^off$'=>'true' }, fw=>{ '^on$'=>'off', '^off$'=>'on' } }
attr Energysaving group Saving
attr Energysaving mqttDefaults base={"homeland/haushalt/energy/saving"}
attr Energysaving mqttForward all
attr Energysaving mqttPublish state:topic={"$base/$name"} state:qos=2 state:retain=1
attr Energysaving mqttSubscribe state:stopic={"$base/state/set"}
attr Energysaving room Energysaving
attr Energysaving setStateIndirectly 0
attr Energysaving setStructType 1
attr Energysaving webCmd on:off

setstate Energysaving on
setstate Energysaving 2023-01-19 16:19:07 LastDevice Sonoff_S20_7
setstate Energysaving 2023-01-19 16:19:07 LastDevice_Abs Sonoff_S20_7
setstate Energysaving 2023-01-19 16:19:07 state false


Wenn man diesen nun ausschaltet:

mosquitto_sub -v -h 192.168.0.8 -t 'homeland/haushalt/#' -u XXXXX -P "XXXXXXXXX" -q 2 -d -i mqtt_pub
homeland/haushalt/energy/saving/state false
Client mqtt_pub received PUBLISH (d0, q2, r0, m323, 'homeland/haushalt/energy/saving/state', ... (5 bytes))
Client mqtt_pub sending PUBREC (m323, rc0)
Client mqtt_pub received PUBREL (Mid: 323)
Client mqtt_pub sending PUBCOMP (m323)


Bei beidem hätte ich nun ein r1 = retained erwartet.
Sende ich von Node-Red aus Schaltbefehle ist es da.

Habe nun mal mit dem MQTT-Explorer rein geschaut - es kommen tatsächlich keine retained topics von FHEM mittels der oben sichtbaren Nutzung.
Danach dann mal ein Testdevice erstellt - eine Kopie von Energysaving -> EnergysavingTest und diese auf ein ganz neues Topic, wo niemand anders hin published gesetzt.
Kein Retain leider.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)