MQTT2_DEVICE Probleme mit json2nameValue

Begonnen von Wuppi68, 22 Dezember 2018, 23:28:38

Vorheriges Thema - Nächstes Thema

Wuppi68

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
FHEM unter Proxmox als VM

OdfFhem

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

Wuppi68

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 ...

FHEM unter Proxmox als VM

Wuppi68

Bug bei mir? gefunden ;-)

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

jetzt bekomme ich das Reading auch aus der jsonMap ;-)
FHEM unter Proxmox als VM

Florian_GT

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
FHEM: Proxmox Server, FHEM in VM, pgSQL DB
Hardware: Ethersex (Pollin NETIO Boards), Diverse Tasmota MQTT Devices, Raspberry Pi Zero W Kameras, (Github RaspberryPiStreamingCamera), Zigbee2MQTT, ESPEasy

Development: UBA (Umwelt Bundesamt), BFS (Bundesamt für Strahlenschutz)

rudolfkoenig