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
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.
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
Entsteht dabei auch ein Event? Was ist im EventMonitor zu sehen?
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?
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).
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
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.
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.