Seite 1 von 1

JSON Script

Verfasst: 29.07.2020, 08:33
von surfer01
Hallo,

ich bin mehr der CCU-Nutzer, als Programmierer, wurschtel mich meist so durch, um diverse Sachen umzusetzen.
Nun habe ich ein Problem, wo ich trotz vielem suchens nicht weiter komme.

Ich möchte mit einem JSON-Script, den momentanen Wert der Solaranlage aus dem Solar.Log 500 auslesen, um damit z.b. einen Verbraucher zu schalten, wenn die Stromerzeugung z.b. >500 W ist.
Die Scripte zum auslesen habe ich in dem Handbuch des Solar Log 500, aber wo müssen sie hin?
Wenn ich eine Variable erstelle, kann ich keinen Code eingeben und im Programm erstellen höchstens bei einer DANN .
Was muss also wohin und welche Schritte sind notwendig, damit es funktioniert?
Brauche ich dazu Hilfsprogramme, wie CUx-Daemon oder ähnliches?
Über eure Hilfe wäre ich sehr dankbar.
LG
JSON.png

Re: JSON Script

Verfasst: 29.07.2020, 09:41
von MichaelN
Die CCU kann kein JavaScript. Du wirst die Auswertung also in Homematic-Skript umesetzen müssen.
Prinzip ist so:
WEBUI-Programm, das auf einen Auslöser reagiert oder periodisch per Zeitmodul ausgelöst wird
DANN Skript

Dieses Skript sendet den HTTP Befehl, empfängt die JSON-Daten, zerlegt es und schiebt die Daten in die gewünschten Systemvariablen

Re: JSON Script

Verfasst: 29.07.2020, 13:23
von Fonzo
MichaelN hat geschrieben:
29.07.2020, 09:41
Die CCU kann kein JavaScript.
Hängt von der CCU ab, bei einer CCU3 ist der NEO Server vorinstalliert, da ist Javascript die Standardsprache für Skripte.
Dazu muss man, wenn man das nutzten will, einfach ein

Code: Alles auswählen

var http = require('https');
setzten und dann wenn man die Daten abgeholt hat auf die Daten zugreifen über JSON.parse()

Re: JSON Script

Verfasst: 29.07.2020, 13:26
von MichaelN
Das hört sich interessant an, kannte ich auch noch nicht. Kannst Du das mal näher ausführen?
Wenn ich dem schon nicht folgen kann, der TO wahrscheinlich dann auch nicht.

Re: JSON Script

Verfasst: 29.07.2020, 14:16
von Fonzo
MichaelN hat geschrieben:
29.07.2020, 13:26
Das hört sich interessant an, kannte ich auch noch nicht. Kannst Du das mal näher ausführen?
Javascript ist die Standardsprache, die auf der CCU3 für Prozesse benutzt wird, die durch den vorinstallierten NEO Server ausgeführt werden.
Macht aber nur Sinn wenn man z.B. NEO bzw. den NEO Server nutzt, dann kann man auf die Skript Console aus dem NEO Creator zugreifen und da normal mit Javascript auf der CCU3 arbeiten.

Da Skripte sich aber an fortgeschrittene Nutzer wendet, und man in der Regel für normale Dinge auch ohne Skripte auskommt, gibt es in der Hinsicht kaum Dokumention. Ein Beispiel wie man Javascript nutzten kann ist z.B. in einem Online Video zu Skripten erläutert.

Wenn es nur um das Auslesen von JSON geht und dem Anzeigen der Werte in NEO kann man das auch mit einem normalen HTTP Request in NEO lösen.

MichaelN hat geschrieben:
29.07.2020, 13:26
Wenn ich dem schon nicht folgen kann, der TO wahrscheinlich dann auch nicht.
Das mag sein, die Dokumention ist in der Hinsicht zu Skripten kaum vorhanden, daher richtet sich das wohl an Nutzer, die wissen was sie im Detail tun, bzw. sich mit Javascript bereits auskennen.

Re: JSON Script

Verfasst: 31.07.2020, 09:59
von Black
gerade für Solarlog gibt es hier im Forum sehr viele Lösungen, die auf einer CCU nativ ohne die wie immer beworbene Zusatzsoftware laufen.

Ein JSON lässt sich, wenn man nur ein paar Werte beötigt, auch über HMScript auswerten, eine raspberrymatik bringt dafür standartmäßig schon jq (https://stedolan.github.io/jq/manual/) mit.

Gruss, Black

Re: JSON Script

Verfasst: 01.08.2020, 08:32
von surfer01
Also ich habe eine CCU2 (momentan noch) und habe sehr viel hier das Forum durchforstet, aber es gibt halt immer nur Bruchstücke, die ich nicht in ein Ganzes bekomme.