HTTPMOD und Synology

Begonnen von uwirt, 28 Juni 2022, 11:20:58

Vorheriges Thema - Nächstes Thema

uwirt

Guten Tag,

Ich möchte eine JSON-Datei welche auf einer Synology liegt mittels HTTPMOD auslesen.

Hat jemand dabei Erfahrung. Vielleicht kann man die WEBAPI-Funktion der Synology dazu benutzen.

Besten Dank
FHEM / Ubuntu / fitlet2
HomeMatic: CCU3|HmIP-STHD|HmIP-PCBS|HmIP-PCBS2|HmIP-PCBS-BAT|HM-WDC7000|HM-WDS100-C6-O|HM-WDS40|HM-LC-Sw1-FM|HM-LC-RGBW-WM|HM-ES-PMSw1-Pl|HM-ES-TX-WM
NAS: DS218+|DS209j|DS216+II|DS412+
Devices: Panasonic Webcams|Withings|Gardena Smart|Tuya

yersinia

Zitat von: uwirt am 28 Juni 2022, 11:20:58Ich möchte eine JSON-Datei welche auf einer Synology
Da du keine weiteren Details lieferst, wie du an die JSON-Datei rankommst, und ich JSON lese, schlage einfach mal JsonMod als potentielle Alternative vor.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

uwirt

Das mit dem JsonMod Modul liest sich gut - hat denn jemand schon Erfahrung in der Einbindung einer Synlogy mit diesem Modul?
FHEM / Ubuntu / fitlet2
HomeMatic: CCU3|HmIP-STHD|HmIP-PCBS|HmIP-PCBS2|HmIP-PCBS-BAT|HM-WDC7000|HM-WDS100-C6-O|HM-WDS40|HM-LC-Sw1-FM|HM-LC-RGBW-WM|HM-ES-PMSw1-Pl|HM-ES-TX-WM
NAS: DS218+|DS209j|DS216+II|DS412+
Devices: Panasonic Webcams|Withings|Gardena Smart|Tuya

DS_Starter

Was ist denn die Ursprungsapplikation des JSON auf der Synology ? Ich frage weil es schon einige Module für Synology Applikationen gibt die allgemein JSON liefern und mit den vorhandenen Modulen ausgelesen werden.
Vllt. magst du etwas mehr dazu beschreiben.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

uwirt

Ich lasse mir von mehreren Raspberry Pi's von einem anderen Netzwerk aus Daten zu deren Zustand über JSON-Dateien auf die Synology senden. Ziel ist es z.B. die Temperaturverläufe graphisch darzustellen (über Cacti/RRDTool). Eine solche JSON-Datei sieht wie folgt aus:

{"date":"2022-06-28T07:42:30+00:00","boot": "2022-06-27 11:29:59","powerLed": "255","load":" 09:42:30 up 22:12,  2 users,  load average: 0.44, 0.45, 0.45","temp":"temp=81.8'C","freq":"frequency(48)=1500345728","volt":"volt=0.8438V","throttled":"throttled=0x80000"}

Die JSON-Dateien sollen dann via FHEM von der Synology kopiert, die Werte zugeordnet und danach mit Cacti visuell dargestellt werden.
FHEM / Ubuntu / fitlet2
HomeMatic: CCU3|HmIP-STHD|HmIP-PCBS|HmIP-PCBS2|HmIP-PCBS-BAT|HM-WDC7000|HM-WDS100-C6-O|HM-WDS40|HM-LC-Sw1-FM|HM-LC-RGBW-WM|HM-ES-PMSw1-Pl|HM-ES-TX-WM
NAS: DS218+|DS209j|DS216+II|DS412+
Devices: Panasonic Webcams|Withings|Gardena Smart|Tuya

DS_Starter

Ok. Dann ist es ein anderer Anwendungsfall als ich vermutete.

Du kannst die Daten ja bereits mit SSFile von der Synology abholen.
Vermutlich würde es dir helfen wenn SSFile den Inhalt eines empfangenen Files, sofern der Inhalt JSON ist, in einem Reading darstellt. Dann könntest du sehr einfach das Modul expandJSON (http://fhem.de/commandref.html#expandJSON) benutzen um den JSON-String zu dekodieren und Einzelreadings zuzuorden ?

Das wäre jetzt ein Featurerequest  ;)
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

uwirt

Ja - das wäre praktisch als zusätzliches Feature. Das mit SSFile funktioniert bereits und ich werde die Dateien dann regelmässig mittels AT auf den FHEM-Server kopieren. Den Rest erledigt dann HTTPMOD.

Besten dank für die Unterstützung.
FHEM / Ubuntu / fitlet2
HomeMatic: CCU3|HmIP-STHD|HmIP-PCBS|HmIP-PCBS2|HmIP-PCBS-BAT|HM-WDC7000|HM-WDS100-C6-O|HM-WDS40|HM-LC-Sw1-FM|HM-LC-RGBW-WM|HM-ES-PMSw1-Pl|HM-ES-TX-WM
NAS: DS218+|DS209j|DS216+II|DS412+
Devices: Panasonic Webcams|Withings|Gardena Smart|Tuya

yersinia

Wenn die Werte als JSON vorliegen und du diese direkt von der Synology vom FHEM server aus lesen kannst, brauchst du diese ggf gar nicht auf den FHEM-Server runterladen und per AT verarbeiten müssen. Wenn du das JSON-File erreichst, kannst du auch ein JsonMod Device dafür nutzen:
defmod JMTest JsonMod http://your.synology.adress/path/to/json.file
attr JMTest interval 0 */1 * * *
attr JMTest readingList complete();;

Viele Wege führen nach Rom.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

uwirt

Das geht im Prinzip ganz bestimmt - nur leider kann ich die JSON-Datei auf der Synology nur über user/passwort erreichen. Dafür habe ich hier im Forum leider noch keinen brauchbaren Hinweis dazu gefunden wie man das machen müsste. Deshalb über das Modul SSFile.
FHEM / Ubuntu / fitlet2
HomeMatic: CCU3|HmIP-STHD|HmIP-PCBS|HmIP-PCBS2|HmIP-PCBS-BAT|HM-WDC7000|HM-WDS100-C6-O|HM-WDS40|HM-LC-Sw1-FM|HM-LC-RGBW-WM|HM-ES-PMSw1-Pl|HM-ES-TX-WM
NAS: DS218+|DS209j|DS216+II|DS412+
Devices: Panasonic Webcams|Withings|Gardena Smart|Tuya

yersinia

Je nachdem wie die Anmeldung geschieht kannst du mit secret arbeiten. Oder als header (analog zu httpmod) mitgeben. Oder direkt in der Url aufrufen:
defmod JMTest JsonMod http://user:password@your.synology.adress/path/to/json.file
Ich weiss leider nicht, wie fhem sich an der Synology anmeldet.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl