[MQTT_GENERIC_BRIDGE] Bridge überträgt keine Daten, findet keine Devices

Begonnen von Christoph Morrison, 21 Juni 2019, 22:40:42

Vorheriges Thema - Nächstes Thema

Christoph Morrison

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

hexenmeister

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.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

hexenmeister

Soooo...
Habe gefunden. Probiere mal die angehängte Version bitte.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Christoph Morrison

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.

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy