FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: Wuppi68 am 22 Dezember 2018, 23:28:38

Titel: MQTT2_DEVICE Probleme mit json2nameValue
Beitrag von: Wuppi68 am 22 Dezember 2018, 23:28:38
Hallo Zusammen,

ich habe da ein kleines Problem mit dem erzeugen von Reading aus einem JSON String :-(

als erstes das List vom Device ;-)

Internals:
   DEVICETOPIC mqtt2.device.ikea.gw.1
   IODev      mqtt2.client.ikea.gw
   LASTInputDev mqtt2.client.ikea.gw
   MSGCNT     5
   NAME       mqtt2.device.ikea.gw.1
   NR         10
   STATE      ???
   TYPE       MQTT2_DEVICE
   mqtt2.client.ikea.gw_MSGCNT 5
   mqtt2.client.ikea.gw_TIME 2018-12-22 23:17:50
   JSONMAP:
     9054       unknown00
     9055       unknown01
     9059       unkonwn02
     9060       timestamp
     timeserver GW_9023
     version    9029
   OLDREADINGS:
   READINGS:
     2018-12-22 23:17:50   GW_9023         0.tradfri.pool.ntp.org
     2018-12-22 23:17:50   GW_9029         1.4.15
     2018-12-22 23:17:50   GW_9054         0
     2018-12-22 23:17:50   GW_9055         0
     2018-12-22 23:17:50   GW_9059         1545517072
     2018-12-22 23:17:50   GW_9060         2018-12-22T22:17:52.031856Z
     2018-12-22 23:17:50   GW_9061         0
     2018-12-22 23:17:50   GW_9062         0
     2018-12-22 23:17:50   GW_9066         5
     2018-12-22 23:17:50   GW_9069         1530601679
     2018-12-22 23:17:50   GW_9071         2
     2018-12-22 23:17:50   GW_9072         3
     2018-12-22 23:17:50   GW_9073         31
     2018-12-22 23:17:50   GW_9074         1
     2018-12-22 23:17:50   GW_9075         0
     2018-12-22 23:17:50   GW_9076         10
     2018-12-22 23:17:50   GW_9077         27
     2018-12-22 23:17:50   GW_9078         1
     2018-12-22 23:17:50   GW_9079         0
     2018-12-22 23:17:50   GW_9080         60
     2018-12-22 23:17:50   GW_9081         7e181152044000dc
     2018-12-22 23:17:50   GW_9082         true
     2018-12-22 23:17:50   GW_9083         777-97-773
     2018-12-22 23:17:50   GW_9092         0
     2018-12-22 23:17:50   GW_9093         0
     2018-12-22 23:17:50   GW_9105         0
     2018-12-22 23:17:50   GW_9106         0
     2018-12-22 23:17:50   GW_9107         0
     2018-12-22 23:17:50   GW_9200         7180d002-afe6-49d2-805e-b31fa107818a
Attributes:
   IODev      mqtt2.client.ikea.gw
   jsonMap    timeserver:GW_9023
version:9029
9054:unknown00
9055:unknown01
9059:unkonwn02
9060:timestamp
   readingList ikea/raw/15011/15012.* { Log3 'MQTT2', 0, $EVENT; Log3 'MQTT2', 0, $JSONMAP; json2nameValue( $EVENT, 'GW_', $JSONMAP )}
   room       MQTT2


im Log bekomme ich dann folgendes:

2018.12.22 23:17:50.254 0: {"9023":"0.tradfri.pool.ntp.org","9093":0,"9062":0,"9059":1545517072,"9080":60,"9029":"1.4.15","9060":"2018-12-22T22:17:52.031856Z","9077":27,"9061":0,"9071":2,"9081":"7e181152044000dc","9082":true,"9073":31,"9083":"777-97-773","9076":10,"9054":0,"9066":5,"9055":0,"9069":1530601679,"9072":3,"9074":1,"9075":0,"9078":1,"9200":"7180d002-afe6-49d2-805e-b31fa107818a","9079":0,"9092":0,"9107":0,"9106":0,"9105":0}
2018.12.22 23:17:50.254 0: $defs{mqtt2.device.ikea.gw.1}{JSONMAP}


das JSON ist valide ;-)

meinem Verständnis nach sollte das Attribut jsonMap  doch aus oldName --> newName machen

im obigen Beispiel funktioniert das Mapping imho nicht :-(

9023 soll bei mir timeserver werden und ich habe schon alles mögliche ausprobiert zu Mappen ;-)

Weiss da jemand einen Rat? Oder einen anderen gangbaren Weg? Userreading würde gehen - macht aber für meinen Fall EXTREM viel Arbeit
Titel: Antw:MQTT2_DEVICE Probleme mit json2nameValue
Beitrag von: OdfFhem am 23 Dezember 2018, 03:54:10
Ich habe es bislang nicht nachgestellt, aber meiner Interpretation nach sollte


jsonMap    timeserver:GW_9023
version:9029
9054:unknown00
9055:unknown01
9059:unkonwn02
9060:timestamp


eher so aussehen


jsonMap
  GW_9023:timeserver
  GW_9029:version
  GW_9054:unknown00
  GW_9055:unknown01
  GW_9059:unkonwn02
  GW_9060:timestamp
Titel: Antw:MQTT2_DEVICE Probleme mit json2nameValue
Beitrag von: Wuppi68 am 23 Dezember 2018, 12:04:50
danke,

hatte ich auch schon probiert und gerade nach dem Update auch noch einmal ;-)

attr mqtt2.device.ikea.gw.1 jsonMap timeserver:GW_9023\
version:9029\
GW_9054:unknown00\
9055:unknown01\
9059:unkonwn02\
9060:timestamp


jetzt sollte ich eigentlich wieder alle Varianten im jsonMap haben ...

Titel: Antw:MQTT2_DEVICE Probleme mit json2nameValue
Beitrag von: Wuppi68 am 23 Dezember 2018, 12:06:04
Bug bei mir? gefunden ;-)

man nehme die Punkte aus dem FHEM-Devicenamen ....

jetzt bekomme ich das Reading auch aus der jsonMap ;-)
Titel: Antw:MQTT2_DEVICE Probleme mit json2nameValue
Beitrag von: Florian_GT am 05 Januar 2020, 17:13:47
Hallo,

ich habe gerade die selbe Erfahrung sammeln müssen und dabei ca. 10 Stunden Arbeit für das Problem verschwendet. Ich fände es super, wenn dieses Thema entsprechend mit einem Hinweis in der Command Ref. Bedeutung findet.

Gruß Florian
Titel: Antw:MQTT2_DEVICE Probleme mit json2nameValue
Beitrag von: rudolfkoenig am 05 Januar 2020, 19:35:49
Ich habs lieber gefixt.