[Gelöst] expandJSON funktioniert nicht durchgängig

Begonnen von stephan20, 20 Februar 2019, 15:52:48

Vorheriges Thema - Nächstes Thema

stephan20

Hallo,
ich habe einen Tasmota-basierten Außensensor, der mir per MQTT Daten liefert. Der Broker nimmt die Daten auch entgegen und leitet sie an FHEM weiter.
Das entsprechende expanJSON hat kurzfristig (ca 24h) funktioniert, hat dann jedoch unvermittelt seien Betrieb eingestellt. Bin wirklich ratlos.

Die Daten die vom Device kommen:
{"Time":"2019-02-20T15:05:33","ANALOG":{"A0":1},"BME280":{"Temperature":12.9,"Humidity":48.8,"Pressure":1020.9},"TSL2561":{"Illuminance":7305.000},"PressureUnit":"hPa","TempUnit":"C"}

Hier ein List vom Device
Internals:
CHANGED   
  FUUID      5c6b3cfe-f33f-60ca-85d9-ed85ca75c7bad828
  IODev      Mosquitto
  NAME       Wettersensor2
  NR         319
  STATE      Lufttemperatur: 4.7 °C Luftfeuchtigkeit: 75.0 % Luftdruck: 1019.1 hPa Beleuchtungsstärke 0.147 lux
  TYPE       MQTT_DEVICE
  READINGS:
  2019-02-19 23:38:54   ANALOG_A0       2
  2019-02-19 23:38:54   BME280_Humidity 75
  2019-02-19 23:38:54   BME280_Pressure 1019.1
  2019-02-19 23:38:54   BME280_Temperature 4.7
  2019-02-20 15:33:34   Messwerte       {"Time":"2019-02-20T15:33:33","ANALOG":{"A0":1},"BME280":{"Temperature":13.0,"Humidity":47.4,"Pressure":1020.8},"TSL2561":{"Illuminance":8022.000},"PressureUnit":"hPa","TempUnit":"C"}
  2019-02-19 23:38:54   PressureUnit    hPa
  2019-02-19 23:38:54   TSL2561_Illuminance 0.147
  2019-02-19 23:38:54   TempUnit        C
  2019-02-19 23:38:54   Time            2019-02-19T23:38:52
  2019-02-20 15:33:34   transmission-state incoming publish received
  message_ids:
  sets:
  subscribe:
  SmartHome/Wettersensor/SENSOR
  subscribeExpr:
  ^SmartHome\/Wettersensor\/SENSOR$
  subscribeQos:
  SmartHome/Wettersensor/SENSOR 0
  subscribeReadings:
  SmartHome/Wettersensor/SENSOR:
  cmd       

  name       Messwerte
  Attributes:
  IODev      Mosquitto
  alias      Wettersensoren
  event-on-change-reading BME280_Pressure,BME280_Humidity,BME280_Temperature,TSL2561_Illuminance
  room       80_Aussen
  stateFormat {sprintf("Lufttemperatur: %.1f °C Luftfeuchtigkeit: %.1f %% Luftdruck: %.1f hPa Beleuchtungsstärke %.3f lux", ReadingsVal($name,"BME280_Temperature",undef), ReadingsVal($name,"BME280_Humidity",undef), ReadingsVal($name,"BME280_Pressure",undef), ReadingsVal($name,"TSL2561_Illuminance",undef))}
  subscribeReading_Messwerte SmartHome/Wettersensor/SENSOR



Das entsprechende expandJSON

defmod ej_Wettersensor_Messwerte expandJSON Wettersensor2:Messwerte:.{.*}
attr ej_Wettersensor_Messwerte room 91_System


Komischerweise funktioniert ein ähnlich gestaltetes expandJSON bei einem anderen Tasmota Device tadellos.
Das Modul TASMOTA_DEVICE bekomme ich leider garnicht zum laufen. Hier werden weder die MQTT Readings gelesen und wenn das dann noch mal funktioniert wird das JSON nicht zerlegt.
Ich hab keine Ahnung, wo mein Fehler liegt.
Wenn weitere Infos gebraucht werden, liefere ich die natürlich gerne nach.
Grüße
Stephan

stephan20

Gut, manchmals steht man wirklich vor seiner eigenen Dummheit  :o
Wenn ein event on change reading gesetzt ist und das nicht auf das JSON zeigt, kann natürlich auch das expandJSON nicht funktionieren.
Event on change reading gelöscht, schon klappt auch das expandJSON wieder.