Hallo zusammen,
ich habe folgenden seltsamen Fall: Auf meinem RPI3b+ läuft Deb-Stretch und Octoprint, außerdem FHEM (Stand aktuell, zuletzt heute aktualisiert). Eingerichtet ist ein Sysmon-Device, eine MQTT_Generic_Bridge und ein MQTT-Interface. Die Bridge überträgt seit irgendwann Ende Mai keine Daten mehr an MQTT, Sysmon ist aber aktuell (die Werte habe ich redigiert, sind ja nicht von Belang und machen es hier sehr unübersichtlich). Die Stats in dem Bridge-Device zeigen 0 Devices an, egal ob ich überhaupt eine und egal welche Devspec ich angebe. Die on-connect-Nachricht kommt aber an, MQTT funktioniert also prinzipiell.
Ich verstehe nicht warum die Bridge keine Daten mehr überträgt und auch keine Devices findet. Fällt euch irgendwas an den Devices auf?
Internals:
.FhemMetaInternals 1
.cinitmark 1
CFGFN ./conf.d/global/interfaces.cfg
DEF 192.168.0.18:1883
DeviceName 192.168.0.18:1883
FD 6
FUUID 5cf18af8-f33f-41db-5456-ec5ab1df39ded655
FVERSION 00_MQTT.pm:0.187190/2019-02-24
NAME global.interfaces.mqtt.0
NOTIFYDEV global
NR 73
NTFY_ORDER 50-global.interfaces.mqtt.0
PARTIAL
STATE opened
TYPE MQTT
buf
msgid 1
ping_received 1
timeout 60
.attraggr:
.attrminint:
READINGS:
2019-06-21 22:34:39 connection active
2019-06-21 20:12:38 state opened
messages:
Attributes:
client-id octoprint-anycubic.home.net
on-connect home.net/octoprint-anycubic/mqtt { "host": "octoprint-anycubic.home.net", "state": "connected" }
on-disconnect home.net/octoprint-anycubic/mqtt { "host": "octoprint-anycubic.home.net", "state": "disconnected" }
Internals:
.pub_queue_max_cnt_pro_topic 100
CFGFN
DEF mqtt TYPE=SYSMON
FUUID 5d0d1f19-f33f-41db-0961-b961905774998d02
IODev global.interfaces.mqtt.0
NAME global.interfaces.mqtt_bridge.sysmon
NR 184
NTFY_ORDER 50-global.interfaces.mqtt_bridge.sysmon
STATE ???
TYPE MQTT_GENERIC_BRIDGE
devspec TYPE=SYSMON
prefix mqtt
.attraggr:
.attrminint:
.helper:
.cnt_devices 0
.cnt_incoming 0
.cnt_outgoing 0
.cnt_update_r 0
.cnt_update_s 0
.initialized 1
.interval 60
.prefix_old mqtt
IO_DEV_TYPE MQTT
READINGS:
2019-06-21 22:31:41 device-count 0
2019-06-21 22:29:50 incoming-count 0
2019-06-21 22:29:50 outgoing-count 0
2019-06-21 22:29:50 transmission-state IO device initialized (mqtt)
2019-06-21 22:29:50 updated-reading-count 0
2019-06-21 22:29:50 updated-set-count 0
devices:
:global:
:defaults:
pub:qos 0
pub:retain 1
sub:qos 2
sub:retain 1
:publish:
*:
mode R
topic {"home.net/octoprint-anycubic/$device/$reading"}
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 *
subscribe:
subscribeExpr:
subscribeQos:
Attributes:
IODev global.interfaces.mqtt.0
debug 1
disable 0
globalDefaults sub:qos=2 pub:qos=0 retain=1
globalPublish *:topic={"home.net/octoprint-anycubic/$device/$reading"}
Internals:
.FhemMetaInternals 1
CFGFN ./conf.d/global/admin.cfg
FUUID 5cf18af8-f33f-41db-7c43-d56709312fdf8d9a
FVERSION 42_SYSMON.pm:v2.3.4-s17227/2018-08-29
INTERVAL_BASE 60
INTERVAL_MULTIPLIERS 1 1 1 10
MODE local
NAME octoprint.global.admin.sys.mon.pi.octoprint.0
NR 131
STATE Initialized
TYPE SYSMON
.attraggr:
.attrminint:
READINGS:
[...]
helper:
[...]
excludes:
Attributes:
userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
Moin!
Dass es 0 devices angezeigt werden, ist normal, es werden nur Geräte gezählt, die explizit angegeben sind (in deren Attributen), globalPublish zählt nicht mit.
Ansonsten scheint es globalPublish nicht mehr zu funtionieren. Ich werde dem nachgehen.
Soooo...
Habe gefunden. Probiere mal die angehängte Version bitte.
Der Hinweis auf mqttPublish im Device hat mir erstmal geholfen, vielen Dank soweit. Das könnte man vielleicht noch mal klarer dokumentieren. Bist du eigentlich im Git?
Ich schau mal sobald ich Zeit habe ob dein Patch funktioniert.
Jep, bin auch aufm github. Gleicher nickname.