Hallo allen,
ich habe zugegeben die ganzen Info's nicht vollständig gelesen. So ganz verstanden, wie JSONPath funktioniert.
Dennoch hätte ich einen konkreten Anwendungsansatz.
Für die Shellies sind die aktuellen Firmwareversionen hier https://api.shelly.cloud/files/firmware abrufbar.
{"isok":true,"data":{"SHPLG-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHPLG-1_build.zip","version":"20200309-104119\/v1.6.0@43056d58"},"SHPLG-S":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHPLG-S_build.zip","version":"20200309-104506\/v1.6.0@43056d58"},"SHPLG2-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHPLG2-1_build.zip","version":"20200309-104519\/v1.6.0@43056d58"},"SHSW-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHSW-1_build.zip","version":"20200320-123430\/v1.6.2@514044b4"},"SHSW-21":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHSW-21_build.zip","version":"20200309-104038\/v1.6.0@43056d58"},"SHSW-25":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHSW-25_build.zip","version":"20200309-104051\/v1.6.0@43056d58"},"SHSW-PM":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHSW-PM_build.zip","version":"20200312-124223\/v1.6.1@112262fd"},"SHSW-22":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHSW-22_build.zip","version":"20200309-104257\/v1.6.0@43056d58"},"SHSW-44":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHSW-44_build.zip","version":"20191216-090307\/v1.5.7@c30657ba"},"SHEM":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHEM_build.zip","version":"20200309-104606\/v1.6.0@43056d58"},"SHEM-3":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHEM-3_build.zip","version":"20200309-104619\/v1.6.0@43056d58"},"SHSEN-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHSEN-1_build.zip","version":"20200309-104151\/v1.6.0@43056d58"},"SHSM-01":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHSM-01_build.zip","version":"20200309-104323\/v1.6.0@43056d58"},"SHHT-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHHT-1_build.zip","version":"20200309-104344\/v1.6.0@43056d58"},"SHWT-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHWT-1_build.zip","version":"20200309-104406\/v1.6.0@43056d58"},"SHDW-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHDW-1_build.zip","version":"20200406-083600\/v1.6.3@48847a16"},"SHCL-255":{"url":"http:\/\/api.shelly.cloud\/firmware\/compatibility\/SHCL-255\/0.2.0-73a40eef.zip","version":"20180116-161402\/v0.2.0@73a40eef"},"SHBLB-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHBLB-1_build.zip","version":"20200309-103907\/v1.6.0@43056d58"},"SHRGBW2":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHRGBW2_build.zip","version":"20200309-104453\/v1.6.0@43056d58"},"SHRGBWW-01":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHRGBWW-01_build.zip","version":"20200309-103945\/v1.6.0@43056d58"},"SH2LED-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SH2LED-1_build.zip","version":"20200309-103958\/v1.6.0@43056d58"},"SHDM-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHDM-1_build.zip","version":"20200309-104554\/v1.6.0@43056d58"},"SHVIN-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHVIN-1_build.zip","version":"20200309-103920\/v1.6.0@43056d58"},"SHBDUO-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHBDUO-1_build.zip","version":"20200320-123338\/v1.6.2@514044b4"},"SHBTN-1":{"url":"http:\/\/api.shelly.cloud\/firmware\/SHBTN-1_build.zip","version":"20200309-104440\/v1.6.0@43056d58"}}}
Internals:
API_LAST_RES 1586192520.10555
API__LAST_MSG 200
CFGFN
DEF https://api.shelly.cloud/files/firmware
FUUID 5e8b5e98-f33f-8c20-5b85-7d9edf152285e1c2
NAME shellyfirmware
NEXT 2020-04-06 19:03:00
NOTIFYDEV global
NR 1148
NTFY_ORDER 50-shellyfirmware
SOURCE https://api.shelly.cloud/files/firmware (200)
STATE ???
SVN 21596 2020-04-04 20:03:11 UTC
TYPE JsonMod
CONFIG:
IN_REQUEST 0
SOURCE https://api.shelly.cloud/files/firmware
SECRET:
READINGS:
Attributes:
interval */1 * * * *
readingList jsonPath('data..');
Nach meiner naiven Vorstellung und nach Jayway JsonPath Evaluator sollten die Shelly Typen gelistet werden?
Idealerweise würde das Ergebnis so ähnlich aussehen, wie bei der Nutzung des Umwegs über expandjson (bereits um den die jeweiligen readings x_download und x_otaLink erweitert.
Internals:
FUUID 5e806cb8-f33f-8c20-68df-3aad6510e0d54dc3
FVERSION 98_dummy.pm:0.206650/2019-12-06
NAME shellyFW
NR 181
STATE Download done!
TYPE dummy
OLDREADINGS:
2020-04-06 13:46:23 data_SH2LED-1_version 20190309-103958/v1.6.0@43056d58
READINGS:
2020-04-06 13:45:06 data_SH2LED-1_download success
2020-04-06 13:45:06 data_SH2LED-1_name SH2LED-1
2020-04-06 13:45:06 data_SH2LED-1_otaLink /fhem/shelly/SH2LED-1_build.zip
2020-04-06 13:44:55 data_SH2LED-1_url http://api.shelly.cloud/firmware/SH2LED-1_build.zip
2020-04-06 13:47:13 data_SH2LED-1_version 20200309-103958/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHBDUO-1_download success
2020-04-06 13:45:06 data_SHBDUO-1_name SHBDUO-1
2020-04-06 13:45:06 data_SHBDUO-1_otaLink /fhem/shelly/SHBDUO-1_build.zip
2020-04-06 13:44:55 data_SHBDUO-1_url http://api.shelly.cloud/firmware/SHBDUO-1_build.zip
2020-04-06 13:44:55 data_SHBDUO-1_version 20200320-123338/v1.6.2@514044b4
2020-04-06 13:45:06 data_SHBLB-1_download success
2020-04-06 13:45:06 data_SHBLB-1_name SHBLB-1
2020-04-06 13:45:06 data_SHBLB-1_otaLink /fhem/shelly/SHBLB-1_build.zip
2020-04-06 13:44:55 data_SHBLB-1_url http://api.shelly.cloud/firmware/SHBLB-1_build.zip
2020-04-06 13:44:55 data_SHBLB-1_version 20200309-103907/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHCL-255_download success
2020-04-06 13:45:06 data_SHCL-255_name SHCL-255
2020-04-06 13:45:06 data_SHCL-255_otaLink /fhem/shelly/SHCL-255_build.zip
2020-04-06 13:44:55 data_SHCL-255_url http://api.shelly.cloud/firmware/compatibility/SHCL-255/0.2.0-73a40eef.zip
2020-04-06 13:44:55 data_SHCL-255_version 20180116-161402/v0.2.0@73a40eef
2020-04-06 13:45:06 data_SHDM-1_download success
2020-04-06 13:45:06 data_SHDM-1_name SHDM-1
2020-04-06 13:45:06 data_SHDM-1_otaLink /fhem/shelly/SHDM-1_build.zip
2020-04-06 13:44:55 data_SHDM-1_url http://api.shelly.cloud/firmware/SHDM-1_build.zip
2020-04-06 13:44:55 data_SHDM-1_version 20200309-104554/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHDW-1_download success
2020-04-06 13:45:06 data_SHDW-1_name SHDW-1
2020-04-06 13:45:06 data_SHDW-1_otaLink /fhem/shelly/SHDW-1_build.zip
2020-04-06 13:44:55 data_SHDW-1_url http://api.shelly.cloud/firmware/SHDW-1_build.zip
2020-04-06 13:44:55 data_SHDW-1_version 20191216-090511/v1.5.7@c30657ba
2020-04-06 13:45:06 data_SHEM-3_download success
2020-04-06 13:45:06 data_SHEM-3_name SHEM-3
2020-04-06 13:45:06 data_SHEM-3_otaLink /fhem/shelly/SHEM-3_build.zip
2020-04-06 13:44:55 data_SHEM-3_url http://api.shelly.cloud/firmware/SHEM-3_build.zip
2020-04-06 13:44:55 data_SHEM-3_version 20200309-104619/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHEM_download success
2020-04-06 13:45:06 data_SHEM_name SHEM
2020-04-06 13:45:06 data_SHEM_otaLink /fhem/shelly/SHEM_build.zip
2020-04-06 13:44:55 data_SHEM_url http://api.shelly.cloud/firmware/SHEM_build.zip
2020-04-06 13:44:55 data_SHEM_version 20200309-104606/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHHT-1_download success
2020-04-06 13:45:06 data_SHHT-1_name SHHT-1
2020-04-06 13:45:06 data_SHHT-1_otaLink /fhem/shelly/SHHT-1_build.zip
2020-04-06 13:44:55 data_SHHT-1_url http://api.shelly.cloud/firmware/SHHT-1_build.zip
2020-04-06 13:44:55 data_SHHT-1_version 20200309-104344/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHPLG-1_download success
2020-04-06 13:45:06 data_SHPLG-1_name SHPLG-1
2020-04-06 13:45:06 data_SHPLG-1_otaLink /fhem/shelly/SHPLG-1_build.zip
2020-04-06 13:44:55 data_SHPLG-1_url http://api.shelly.cloud/firmware/SHPLG-1_build.zip
2020-04-06 13:44:55 data_SHPLG-1_version 20200309-104119/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHPLG-S_download success
2020-04-06 13:45:06 data_SHPLG-S_name SHPLG-S
2020-04-06 13:45:06 data_SHPLG-S_otaLink /fhem/shelly/SHPLG-S_build.zip
2020-04-06 13:44:55 data_SHPLG-S_url http://api.shelly.cloud/firmware/SHPLG-S_build.zip
2020-04-06 13:44:55 data_SHPLG-S_version 20200309-104506/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHPLG2-1_download success
2020-04-06 13:45:06 data_SHPLG2-1_name SHPLG2-1
2020-04-06 13:45:06 data_SHPLG2-1_otaLink /fhem/shelly/SHPLG2-1_build.zip
2020-04-06 13:44:55 data_SHPLG2-1_url http://api.shelly.cloud/firmware/SHPLG2-1_build.zip
2020-04-06 13:44:55 data_SHPLG2-1_version 20200309-104519/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHRGBW2_download success
2020-04-06 13:45:06 data_SHRGBW2_name SHRGBW2
2020-04-06 13:45:06 data_SHRGBW2_otaLink /fhem/shelly/SHRGBW2_build.zip
2020-04-06 13:44:55 data_SHRGBW2_url http://api.shelly.cloud/firmware/SHRGBW2_build.zip
2020-04-06 13:44:55 data_SHRGBW2_version 20200309-104453/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHRGBWW-01_download success
2020-04-06 13:45:06 data_SHRGBWW-01_name SHRGBWW-01
2020-04-06 13:45:06 data_SHRGBWW-01_otaLink /fhem/shelly/SHRGBWW-01_build.zip
2020-04-06 13:44:55 data_SHRGBWW-01_url http://api.shelly.cloud/firmware/SHRGBWW-01_build.zip
2020-04-06 13:44:55 data_SHRGBWW-01_version 20200309-103945/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHSEN-1_download success
2020-04-06 13:45:06 data_SHSEN-1_name SHSEN-1
2020-04-06 13:45:06 data_SHSEN-1_otaLink /fhem/shelly/SHSEN-1_build.zip
2020-04-06 13:44:55 data_SHSEN-1_url http://api.shelly.cloud/firmware/SHSEN-1_build.zip
2020-04-06 13:44:55 data_SHSEN-1_version 20200309-104151/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHSM-01_download success
2020-04-06 13:45:06 data_SHSM-01_name SHSM-01
2020-04-06 13:45:06 data_SHSM-01_otaLink /fhem/shelly/SHSM-01_build.zip
2020-04-06 13:44:55 data_SHSM-01_url http://api.shelly.cloud/firmware/SHSM-01_build.zip
2020-04-06 13:44:55 data_SHSM-01_version 20200309-104323/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHSW-1_download success
2020-04-06 13:45:06 data_SHSW-1_name SHSW-1
2020-04-06 13:45:06 data_SHSW-1_otaLink /fhem/shelly/SHSW-1_build.zip
2020-04-06 13:44:55 data_SHSW-1_url http://api.shelly.cloud/firmware/SHSW-1_build.zip
2020-04-06 13:44:55 data_SHSW-1_version 20200320-123430/v1.6.2@514044b4
2020-04-06 13:45:06 data_SHSW-21_download success
2020-04-06 13:45:06 data_SHSW-21_name SHSW-21
2020-04-06 13:45:06 data_SHSW-21_otaLink /fhem/shelly/SHSW-21_build.zip
2020-04-06 13:44:55 data_SHSW-21_url http://api.shelly.cloud/firmware/SHSW-21_build.zip
2020-04-06 13:44:55 data_SHSW-21_version 20200309-104038/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHSW-22_download success
2020-04-06 13:45:06 data_SHSW-22_name SHSW-22
2020-04-06 13:45:06 data_SHSW-22_otaLink /fhem/shelly/SHSW-22_build.zip
2020-04-06 13:44:55 data_SHSW-22_url http://api.shelly.cloud/firmware/SHSW-22_build.zip
2020-04-06 13:44:55 data_SHSW-22_version 20200309-104257/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHSW-25_download success
2020-04-06 13:45:06 data_SHSW-25_name SHSW-25
2020-04-06 13:45:06 data_SHSW-25_otaLink /fhem/shelly/SHSW-25_build.zip
2020-04-06 13:44:55 data_SHSW-25_url http://api.shelly.cloud/firmware/SHSW-25_build.zip
2020-04-06 13:44:55 data_SHSW-25_version 20200309-104051/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHSW-44_download success
2020-04-06 13:45:06 data_SHSW-44_name SHSW-44
2020-04-06 13:45:06 data_SHSW-44_otaLink /fhem/shelly/SHSW-44_build.zip
2020-04-06 13:44:55 data_SHSW-44_url http://api.shelly.cloud/firmware/SHSW-44_build.zip
2020-04-06 13:44:55 data_SHSW-44_version 20191216-090307/v1.5.7@c30657ba
2020-04-06 13:45:06 data_SHSW-PM_download success
2020-04-06 13:45:06 data_SHSW-PM_name SHSW-PM
2020-04-06 13:45:06 data_SHSW-PM_otaLink /fhem/shelly/SHSW-PM_build.zip
2020-04-06 13:44:55 data_SHSW-PM_url http://api.shelly.cloud/firmware/SHSW-PM_build.zip
2020-04-06 13:44:55 data_SHSW-PM_version 20200312-124223/v1.6.1@112262fd
2020-04-06 13:45:06 data_SHVIN-1_download success
2020-04-06 13:45:06 data_SHVIN-1_name SHVIN-1
2020-04-06 13:45:06 data_SHVIN-1_otaLink /fhem/shelly/SHVIN-1_build.zip
2020-04-06 13:44:55 data_SHVIN-1_url http://api.shelly.cloud/firmware/SHVIN-1_build.zip
2020-04-06 13:44:55 data_SHVIN-1_version 20200309-103920/v1.6.0@43056d58
2020-04-06 13:45:06 data_SHWT-1_download success
2020-04-06 13:45:06 data_SHWT-1_name SHWT-1
2020-04-06 13:45:06 data_SHWT-1_otaLink /fhem/shelly/SHWT-1_build.zip
2020-04-06 13:44:55 data_SHWT-1_url http://api.shelly.cloud/firmware/SHWT-1_build.zip
2020-04-06 13:44:55 data_SHWT-1_version 20200309-104406/v1.6.0@43056d58
2020-04-06 13:44:55 isok 1
2020-04-06 13:45:06 state Download done!
helper:
Attributes:
fw_TargetDir /opt/fhem/www/shelly
fw_URL https://api.shelly.cloud/files/firmware
fw_otaURL /fhem/shelly
group ShellyFW
oldreadings .*_version
room temp
setList update:noArg download:noArg
userattr fw_URL fw_TargetDir fw_otaURL
Wie sähen die entsprechende Einträge in readingsList aus?
Vielen Dank,
Gernot
kurz, das was ich glaube zu verstehen was Du willst ;) ... geht nicht.
lang: JsonPath kann Listen (Arrays) in eine variable Anzahl readings auflösen. In dem JSON ist aber keine Liste, nur Objekte.
Was geht ist dies:
single(jsonPath('$.data.SHPLG-1.url'), 'SHPLG-1'); -> "http://api.shelly.cloud/firmware/SHPLG-1_build.zip"
Wenn Du _alle_ willst dann musst ist der Weg tatsächlich expandjson
Vielen Dank für die schnelle und konkrete Antwort, herrmannj.
Ja, ich brauche alle für mein Vorhaben, und mit expandjson in Verbindung mit einem at funktioniert es auch.
Die Hoffnung war statt 3 devices mit diesem 1 auszukommen.
lg
Gernot
Der Vollständigkeit halber, die Lösung für den einzelnen Shelly Type:
Internals:
API_LAST_RES 1586231580.10278
API__LAST_MSG 200
CFGFN
DEF https://api.shelly.cloud/files/firmware
FUUID 5e8b5e98-f33f-8c20-5b85-7d9edf152285e1c2
NAME shellyfirmware
NEXT 2020-04-08 04:00:00
NOTIFYDEV global
NR 1148
NTFY_ORDER 50-shellyfirmware
SOURCE https://api.shelly.cloud/files/firmware (200)
STATE ???
SVN 21596 2020-04-04 20:03:11 UTC
TYPE JsonMod
CONFIG:
IN_REQUEST 0
SOURCE https://api.shelly.cloud/files/firmware
SECRET:
OLDREADINGS:
READINGS:
2020-04-07 05:53:00 SHPLG-1_url http://api.shelly.cloud/firmware/SHPLG-1_build.zip
2020-04-07 05:53:00 SHPLG-1_version 20200309-104119/v1.6.0@43056d58
Attributes:
interval 0 4 * * *
readingList single(jsonPath('$.data.SHPLG-1.url'), 'SHPLG-1_url');
single(jsonPath('$.data.SHPLG-1.version'), 'SHPLG-1_version');