MQTT_GENERIC_BRIDGE erzeugt nicht alle gewählten Topics

Begonnen von Quant, 22 April 2019, 17:59:56

Vorheriges Thema - Nächstes Thema

Quant

Hallo, ich möchte per Mosquito einige Readings meiner Wettersensoren auf einem E-Paper-Display darstellen. Leider wird eines der ausgewählten Readings (statMintempDay) dabei nicht als Topic auf dem Server sichtbar, und ich verstehe nicht warum. Ich hatte überlegt, ob das Problem das durch das statistics-Modul erzeugte Reading ist, aber in einem anderen Device funktioniert ein solches (s. Bild). Kann mit jemand auf die Sprünge helfen?

Hier das Device mit dem als Topic fehlenden Reading:
Internals:
   DEF        OEQ1962308
   FUUID      5c4b5405-f33f-8c87-a42d-7bd9f245244c687b
   IODev      d_ccu2
   NAME       d_hm_wetter
   NR         76
   STATE      21.5
   TYPE       HMCCUDEV
   ccuaddr    OEQ1962308
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    HM-Wetterkombi
   ccutype    HM-WDS100-C6-O-2
   channels   2
   firmware   1.6
   statevals  devstate
   READINGS:
     2019-04-22 17:44:43   0.LOWBAT        false
     2019-04-22 17:45:50   1.BRIGHTNESS    205
     2019-04-22 17:45:50   1.HUMIDITY      25
     2019-04-22 17:45:50   1.RAINING       no
     2019-04-22 17:45:50   1.RAIN_COUNTER  179.7
     2019-04-22 17:45:50   1.SUNSHINEDURATION 225
     2019-04-22 17:45:50   1.TEMPERATURE   21.5
     2019-04-22 17:45:50   1.WIND_DIRECTION 10
     2019-04-22 17:45:50   1.WIND_DIRECTION_RANGE 67
     2019-04-22 17:45:50   1.WIND_SPEED    9.7
     2019-04-22 17:44:43   1._sysVarRainToday_ 0.0
     2019-04-22 17:44:43   1._sysVarRainYesterday_ 0.0
     2019-01-27 10:09:47   R-LIVE_MODE_RX  0
     2019-01-27 10:09:47   R-LOCAL_RESET_DISABLE 0
     2019-04-22 17:45:50   control         21.5
     2019-04-22 17:45:50   dew             0.67
     2019-04-22 17:45:50   hmstate         21.5
     2019-04-22 17:45:50   mintemp         21.03
     2019-04-22 17:45:50   stat1._sysVarRainToday_ Hour: 0.0 Day: 0.0 Month: -0.3 Year: -0.3 (since: 2019-04-03 )
     2019-04-22 16:59:55   stat1._sysVarRainToday_Last Hour: 0.0 Day: 0.0 Month: - Year: -
     2019-04-22 17:45:50   statMintempDay  Min: 5.30 Avg: 13.86 Max: 21.67
     2019-04-21 23:59:55   statMintempDayLast Min: 0.80 Avg: 12.43 Max: 22.59
     2019-04-22 17:45:50   statMintempHour Min: 20.91 Avg: 21.16 Max: 21.39
     2019-04-22 16:59:55   statMintempHourLast Min: 20.94 Avg: 21.31 Max: 21.67
     2019-04-22 17:45:50   statMintempMonth Min: -2.90 Avg: 8.61 Max: 22.59 (since: 2019-03-31_17:45:19 )
     2019-04-22 17:45:50   statMintempYear Min: -2.90 Avg: 8.61 Max: 22.59 (since: 2019-03-31_17:45:19 )
     2019-04-22 17:45:50   state           21.5
   helper:
     _98_statistics wetter_stat_hm
   hmccu:
     devspec    OEQ1962308
     dp:
       0.CONFIG_PENDING:
         OVAL       false
         VAL        false
       0.DEVICE_IN_BOOTLOADER:
         OVAL       false
         VAL        false
       0.LOWBAT:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.RSSI_DEVICE:
         OVAL       1
         VAL        1
       0.RSSI_PEER:
         OVAL       199
         VAL        199
       0.STICKY_UNREACH:
         OVAL       false
         VAL        false
       0.UNREACH:
         OVAL       false
         VAL        false
       0.UPDATE_PENDING:
         OVAL       false
         VAL        false
       1.${sysVarRainToday}:
         OSVAL      0.0
         OVAL       0.000000
         SVAL       0.0
         VAL        0.000000
       1.${sysVarRainYesterday}:
         OSVAL      0.0
         OVAL       0.000000
         SVAL       0.0
         VAL        0.000000
       1.BRIGHTNESS:
         OSVAL      213
         OVAL       213
         SVAL       205
         VAL        205
       1.HUMIDITY:
         OSVAL      25
         OVAL       25
         SVAL       25
         VAL        25
       1.RAINING:
         OSVAL      no
         OVAL       false
         SVAL       no
         VAL        0
       1.RAIN_COUNTER:
         OSVAL      179.7
         OVAL       179.655000
         SVAL       179.7
         VAL        179.655000
       1.SUNSHINEDURATION:
         OSVAL      222
         OVAL       222
         SVAL       225
         VAL        225
       1.TEMPERATURE:
         OSVAL      21.6
         OVAL       21.600000
         SVAL       21.5
         VAL        21.500000
       1.WIND_DIRECTION:
         OSVAL      20
         OVAL       20
         SVAL       10
         VAL        10
       1.WIND_DIRECTION_RANGE:
         OSVAL      67
         OVAL       67
         SVAL       67
         VAL        67
       1.WIND_SPEED:
         OSVAL      10.3
         OVAL       10.300000
         SVAL       9.7
         VAL        9.700000
Attributes:
   IODev      d_ccu2
   ccureadingfilter (HUMIDITY|TEMPERATURE|WIND|RAIN|SUNSHINE|BRIGHTNESS|LOWBAT|sysVarRain)
   mqttPublish mintemp|1._sysVarRainToday_|1.HUMIDITY|statMintempDay:topic={"display/$reading"} statMintempDay|1._sysVarRainToday_:retain=1

   room       Unsorted,Weather
   statedatapoint 1.TEMPERATURE
   stripnumber 1
   substitute RAINING!(1|true):yes,(0|false):no
   userReadings dew:1.TEMPERATURE.* {urDewpoint($name,'1.TEMPERATURE','1.HUMIDITY')}, mintemp:1.TEMPERATURE.* { if(ReadingsVal("d_hm_wetter","1.TEMPERATURE","") < ReadingsVal("esp_feinst","temperature","")) {return ReadingsVal("d_hm_wetter","1.TEMPERATURE","")} else {return ReadingsVal("esp_feinst","temperature","")}}
   userattr   mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long


Die Bridge:
Internals:
   CFGFN     
   DEF        mqtt d_hm_wetter,esp_feinst
   FUUID      5cbdb8d9-f33f-8c87-abfc-1bd438494dac2dea
   IODev      MQTT2_Serv
   NAME       mqttGeneric
   NR         140
   NTFY_ORDER 50-mqttGeneric
   STATE      dev: 2 in: 0 out: 466
   TYPE       MQTT_GENERIC_BRIDGE
   devspec    d_hm_wetter,esp_feinst
   prefix     mqtt
   READINGS:
     2019-04-22 14:52:58   device-count    2
     2019-04-22 14:51:37   incoming-count  0
     2019-04-22 17:51:00   outgoing-count  466
     2019-04-22 17:51:00   transmission-state outgoing publish sent
     2019-04-22 14:51:37   updated-reading-count 0
     2019-04-22 14:51:37   updated-set-count 0
   devices:
     d_hm_wetter:
       :publish:
         1.HUMIDITY:
           last       1555948260.09023
           mode       R
           topic      {"display/$reading"}
         1._sysVarRainToday_:
           last       1555948183.63943
           mode       R
           retain     1
           topic      {"display/$reading"}
         mintemp:
           last       1555948260.09104
           mode       R
           topic      {"display/$reading"}
         statMintempDay:
           mode       R
           retain     1
           topic      {"display/$reading"}
     esp_feinst:
       :publish:
         PM10:
           last       1555948214.68219
           mode       R
           topic      {"display/$reading"}
         PM2.5:
           last       1555948214.68322
           mode       R
           topic      {"display/$reading"}
         pressure:
           last       1555948214.6843
           mode       R
           topic      {"display/$reading"}
         statPressureTendency:
           last       1555945195.00292
           mode       R
           retain     1
           topic      {"display/$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     *
Attributes:
   IODev      MQTT2_Serv
   stateFormat dev: device-count in: incoming-count out: outgoing-count

hexenmeister

So, wie es aussieht, ist dieser reading der bridge bekannt. Allerdings wurde der Wert nie geändert. Bridge überträgt nur etwas, wenn eine Änderung stattfindet.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Quant

Im Device ändert das Reading aber seinen Wert (bei Avg) und seine Zeit:

Internals:
   DEF        OEQ1962308
   FUUID      5c4b5405-f33f-8c87-a42d-7bd9f245244c687b
   IODev      d_ccu2
   NAME       d_hm_wetter
   NR         76
   STATE      16.3
   TYPE       HMCCUDEV
   ccuaddr    OEQ1962308
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    HM-Wetterkombi
   ccutype    HM-WDS100-C6-O-2
   channels   2
   firmware   1.6
   statevals  devstate
   READINGS:
     2019-04-22 20:29:43   0.LOWBAT        false
     2019-04-22 20:31:32   1.BRIGHTNESS    18
     2019-04-22 20:31:32   1.HUMIDITY      39
     2019-04-22 20:31:32   1.RAINING       no
     2019-04-22 20:31:32   1.RAIN_COUNTER  179.7
     2019-04-22 20:31:32   1.SUNSHINEDURATION 49
     2019-04-22 20:31:32   1.TEMPERATURE   16.3
     2019-04-22 20:31:32   1.WIND_DIRECTION 230
     2019-04-22 20:31:32   1.WIND_DIRECTION_RANGE 67
     2019-04-22 20:31:32   1.WIND_SPEED    0.0
     2019-04-22 20:29:43   1._sysVarRainToday_ 0.0
     2019-04-22 20:29:43   1._sysVarRainYesterday_ 0.0
     2019-01-27 10:09:47   R-LIVE_MODE_RX  0
     2019-01-27 10:09:47   R-LOCAL_RESET_DISABLE 0
     2019-04-22 20:31:32   control         16.3
     2019-04-22 20:31:32   dew             2.34
     2019-04-22 20:31:32   hmstate         16.3
     2019-04-22 20:31:32   mintemp         16.3
     2019-04-22 20:31:32   stat1._sysVarRainToday_ Hour: 0.0 Day: 0.0 Month: -0.3 Year: -0.3 (since: 2019-04-03 )
     2019-04-22 19:59:55   stat1._sysVarRainToday_Last Hour: 0.0 Day: 0.0 Month: - Year: -
     2019-04-22 20:31:32   statMintempDay  Min: 5.30 Avg: 14.57 Max: 21.67
     2019-04-21 23:59:55   statMintempDayLast Min: 0.80 Avg: 12.43 Max: 22.59
     2019-04-22 20:31:32   statMintempHour Min: 16.30 Avg: 16.98 Max: 17.60
     2019-04-22 19:59:55   statMintempHourLast Min: 17.60 Avg: 18.77 Max: 19.70
     2019-04-22 20:31:32   statMintempMonth Min: -2.90 Avg: 8.66 Max: 22.59 (since: 2019-03-31_17:45:19 )
     2019-04-22 20:31:32   statMintempYear Min: -2.90 Avg: 8.66 Max: 22.59 (since: 2019-03-31_17:45:19 )
     2019-04-22 20:31:32   state           16.3
   helper:
     _98_statistics wetter_stat_hm
   hmccu:
     devspec    OEQ1962308
     dp:
       0.CONFIG_PENDING:
         OVAL       false
         VAL        false
       0.DEVICE_IN_BOOTLOADER:
         OVAL       false
         VAL        false
       0.LOWBAT:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.RSSI_DEVICE:
         OVAL       1
         VAL        1
       0.RSSI_PEER:
         OVAL       199
         VAL        199
       0.STICKY_UNREACH:
         OVAL       false
         VAL        false
       0.UNREACH:
         OVAL       false
         VAL        false
       0.UPDATE_PENDING:
         OVAL       false
         VAL        false
       1.${sysVarRainToday}:
         OSVAL      0.0
         OVAL       0.000000
         SVAL       0.0
         VAL        0.000000
       1.${sysVarRainYesterday}:
         OSVAL      0.0
         OVAL       0.000000
         SVAL       0.0
         VAL        0.000000
       1.BRIGHTNESS:
         OSVAL      34
         OVAL       34
         SVAL       18
         VAL        18
       1.HUMIDITY:
         OSVAL      39
         OVAL       39
         SVAL       39
         VAL        39
       1.RAINING:
         OSVAL      no
         OVAL       false
         SVAL       no
         VAL        0
       1.RAIN_COUNTER:
         OSVAL      179.7
         OVAL       179.655000
         SVAL       179.7
         VAL        179.655000
       1.SUNSHINEDURATION:
         OSVAL      49
         OVAL       49
         SVAL       49
         VAL        49
       1.TEMPERATURE:
         OSVAL      16.5
         OVAL       16.500000
         SVAL       16.3
         VAL        16.300000
       1.WIND_DIRECTION:
         OSVAL      200
         OVAL       200
         SVAL       230
         VAL        230
       1.WIND_DIRECTION_RANGE:
         OSVAL      67
         OVAL       67
         SVAL       67
         VAL        67
       1.WIND_SPEED:
         OSVAL      0.0
         OVAL       0.000000
         SVAL       0.0
         VAL        0.000000
Attributes:
   IODev      d_ccu2
   ccureadingfilter (HUMIDITY|TEMPERATURE|WIND|RAIN|SUNSHINE|BRIGHTNESS|LOWBAT|sysVarRain)
   mqttPublish mintemp|1._sysVarRainToday_|1.HUMIDITY|statMintempDay:topic={"display/$reading"} statMintempDay|1._sysVarRainToday_:retain=1

   room       Unsorted,Weather
   statedatapoint 1.TEMPERATURE
   stripnumber 1
   substitute RAINING!(1|true):yes,(0|false):no
   userReadings dew:1.TEMPERATURE.* {urDewpoint($name,'1.TEMPERATURE','1.HUMIDITY')}, mintemp:1.TEMPERATURE.* { if(ReadingsVal("d_hm_wetter","1.TEMPERATURE","") < ReadingsVal("esp_feinst","temperature","")) {return ReadingsVal("d_hm_wetter","1.TEMPERATURE","")} else {return ReadingsVal("esp_feinst","temperature","")}}
   userattr   mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long

hexenmeister

Entsteht dabei auch ein Event? Was ist im EventMonitor zu sehen?
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

Quant

Das ist wahrscheinlich das Problem: das Statistics-Modul scheint nicht bei allen Neuberechnungen ein Event für das Reading zu erzeugen. Ich sehe zwar eine Menge Events
2019-04-22 21:37:29 statistics wetter_stat_hm Updated stats for: d_hm_wetter
und z. B.
2019-04-22 21:37:29 HMCCUDEV d_hm_wetter stat1._sysVarRainToday_: Hour: 0.0 Day: 0.0 Month: -0.3 Year: -0.3 (since: 2019-04-03 )
, aber keine Events zu statMintempDay.

Damit muss ich dann wohl mal bei Tupol anklopfen, oder?

Grml

#5
Ich hänge mich hier mal ran, ich habe ein ähnliches Problem. Es werden nicht alle Topics erzeugt. (IODev ist Mosquitto).

Und zwar habe ich ein Dummy-Device. Das bekommt per Notify zwei zusätzliche Readings per setreading angepappt. state habe ich außerdem. Klar, ist standard.
Wenn sich der State ändert springt (je nachdem) eins von zwei Notifys an, macht das setreading und schreibt darin die aktuelle Uhrzeit + Datum. Das funktioniert soweit auch. Auch sehe ich im Event-Monitor einen entsprechenden Eintrag.

Und genau diesen Inhalt möchte ich per MQTT rausschicken um ihn in Node Red weiter zu bearbeiten bzw. darzustellen.

Aber egal was ich mache, state wird gepublished, die beiden setreadings "lastset" und "lastunset" kommen nicht raus.

Internals:
   FUUID      5c4adb72-f33f-b8cb-e949-c81481837a34c5c0
   NAME       Alarmanlage.Status
   NR         92
   STATE      Unscharf
   TYPE       dummy
   Helper:
     DBLOG:
       state:
         LogDB:
           TIME       1556142356.28454
           VALUE      Unscharf
   READINGS:
     2019-04-24 23:45:16   lastset         2019-04-24 23:45:16
     2019-04-24 23:45:56   lastunset       2019-04-24 23:45:56
     2019-04-24 23:45:56   state           Unscharf
Attributes:
   DbLogExclude .*
   DbLogInclude state
   devStateIcon Scharf:secur_locked@red Unscharf:secur_open@grey Warten:hourglass@orange
   icon       building_security
   mqttPublish *:topic={"$base/Alarmanlage/$device/$name"}
   room       Alarm,Eingang


An was kann das denn liegen?

Und noch eine weitere, kleine Frage: Von Anfang hat mein MQTT_GENERIC_BRIDGE Device im State "???". Bislang konnte ich nichts finden, was da los sein soll. Ansonsten funktioniert mein MQTT aber gut (soweit ich das als Anfänger beurteilen kann; und abgesehen von meinem Problem oben).

ergerd

Hallo Grml,

so auf den ersten Blick sieht mein Publish etwas anders aus ($reading)und mir fehlt "userattr". Beispiel:


mqttPublish *:topic={"/SmartHome/$device/$reading"}
userattr   mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long


Grüße
Rainer
FHEM auf RasPi 4, CUNO, ZigBee, 1Wire2WLAN, DS2423, C-Control II, Buderus KM200, LaCrosseGateway, PCA301, ConBee II, LuftdatenInfo, OneWireGW, Div. ESPs u. Shellys

Grml

Zitat von: ergerd am 25 April 2019, 07:45:37
Hallo Grml,

so auf den ersten Blick sieht mein Publish etwas anders aus ($reading)und mir fehlt "userattr". Beispiel:


mqttPublish *:topic={"/SmartHome/$device/$reading"}
userattr   mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long


Grüße
Rainer
Mit $reading habe ich es auch versucht, das ändert aber nichts. Es ist ja auch so, dass state published wird. Nur die anderen beiden Readings (erzeugt durch setreading) nicht. Ich habe auch noch andere Devices die per MQTT sprechen. Bislang völlig problemlos. Nur dieses hier will nicht so wie ich das will.

hexenmeister

Zitat von: ~Thomas am 23 April 2019, 19:31:00
Damit muss ich dann wohl mal bei Tupol anklopfen, oder?
Vermutlich. Oder nachträglich einen Event durch trigger selbst erzeugen.
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy