JSON-APIs auswerten

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

stefanr
Beiträge: 45
Registriert: 03.02.2019, 19:42
Danksagung erhalten: 1 Mal

Re: JSON-APIs auswerten

Beitrag von stefanr » 01.04.2023, 16:45

Das Schreiben in eine Systemvariable funktioniert einwandfrei.
Jetzt würde ich gerne in CUxD Gerät schreiben, damit ich die Messwerte meiner OpenDTU auch in einem Diagramm anzeigen lassen kann. Was für eine Art CuxD-Gerät solte ich dafür am besten anlegen?
(Oder falls man doch eine Systemvariable in einem Diagramm abbilden kann - vielleicht habe ich nur übersehen wie das geht?)

Grüße
Stefan

Benutzeravatar
Baxxy
Beiträge: 10646
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 596 Mal
Danksagung erhalten: 2180 Mal

Re: JSON-APIs auswerten

Beitrag von Baxxy » 01.04.2023, 17:07

Wenn du den CCU-Historian nutzt kannst du alles aufzeichnen und brauchst keine extra Geräte dafür.

SysVars über die interne Diagrammfunktion geht nicht (und wird es auch wohl nie).

Um was für Daten der OpenDTU geht es genau?

stefanr
Beiträge: 45
Registriert: 03.02.2019, 19:42
Danksagung erhalten: 1 Mal

Re: JSON-APIs auswerten

Beitrag von stefanr » 01.04.2023, 18:50

Aktuell lese ich nur total power aus um die momentane Leistung zu haben.

hflath
Beiträge: 1
Registriert: 23.12.2021, 22:36
System: CCU und Access Point

Re: JSON-APIs auswerten

Beitrag von hflath » 07.06.2023, 22:42

dein skript funktioniert super. besteht die Möglichkeit die Daten auch mit 3 Kommastellen auszugeben? 12345,123

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: JSON-APIs auswerten

Beitrag von MichaelN » 07.06.2023, 23:35

Mir ist gerade nicht bewusst, dass ich da eine Rundung eingebaut habe. Sicher, daß die Daten mit mehr Nachkommastellen geliefert werden?
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
Baxxy
Beiträge: 10646
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 596 Mal
Danksagung erhalten: 2180 Mal

Re: JSON-APIs auswerten

Beitrag von Baxxy » 08.06.2023, 00:09

Der Output folgt dem Input:

Code: Alles auswählen

------------------------------- Scriptausgabe -------------------------------
=== HTTP-Request OK === {
  "Nachkommastellen": "1234.5678",
}

=== nach Replace === '  "Nachkommastellen": "1234.5678",}'
=== nach Aufbereitung === '  Nachkommastellen: 1234.5678,}'
=== Output V1.11 ===
JSON_Nachkommastellen = '1234.5678'
Vielleicht durch die SysVars verwundert da diese immer nur max 2 Nachkommastellen in der WebUI anzeigen.

Benutzeravatar
Henke
Beiträge: 1498
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 133 Mal
Danksagung erhalten: 302 Mal

Re: JSON-APIs auswerten

Beitrag von Henke » 22.06.2023, 21:06

Eine alternative Idee JSON Daten zu erlangen.
Dürfte kompatibel zur Original CCU und Rasberymatic sein.

Code: Alles auswählen

string json = '
{
  "Vorname": "Ronald",
  "Nachname": "Reagan",
  "Geburtsdatum": "1911-02-06",
  "Nationalitaet": "US-amerikanisch",
  "Partei":
  {
    "Name": "Republican Party",
    "Synonyme": ["Republikaner", "Grand Old Party", "GOP"],
    "Hauptsitz": "Washington/D.C.",
    "Gründungsdatum": "1854-03-20",
    "Gründungsort": "Ripon"
  },
  "Amt": "US-Präsident",
  "Hobbys": ["Reiten", "Golfen", "Lesen"],
  "verheiratet": true,
  "Kinder": [
    {
      "Vorname": "Michael",
      "Nachname": "Reagan"    },
   {
      "Vorname": "Patti",
      "Nachname": "Davis"    },
   {
      "Vorname": "Ron",
      "Nachname": "Reagon"    }]
}';

string stdout; string stderr;
system.Exec( "node -e 'console.log( " # json # ".Vorname );'",&stdout,&stderr);
if (stderr) { Write(stderr); quit; }
WriteLine( "Vorname: " + stdout);
system.Exec( "node -e 'console.log( " # json # ".Kinder[1].Nachname );'",&stdout,&stderr);
if (stderr) { Write(stderr); quit; }
WriteLine( "Nachname des 2. Kindes: " + stdout);   

MichaelN
Beiträge: 9561
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: JSON-APIs auswerten

Beitrag von MichaelN » 24.06.2023, 11:10

Das ist erstaunlich einfach.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: JSON-APIs auswerten

Beitrag von Fonzo » 25.06.2023, 07:53

MichaelN hat geschrieben:
24.06.2023, 11:10
Das ist erstaunlich einfach.
Ich persönlich hatte nie den Eindruck, dass es Dir darum geht, es möglichst einfach zu haben, wenn Du für Deinen Ansatz extra CUxD nachträglich installieren musst.
JSON kann man im einfachsten Fall auf einer CCU3 auch mit JSON.parse auslesen und aus dem Array dann mit find das Objekt der Wahl finden.

Beispiel:

Code: Alles auswählen

var url = 'https://dummyjson.com/products';

// Benutze das HTTP- oder HTTPS-Modul je nach URL.
var httpx = (url.indexOf('https://') === 0) ? require('https') : require('http');

var req = httpx.get(url, function(response) {
    console.log('Antwort erhalten.', response.statusCode);
    
    var responseData = '';
    response.on('data', function(chunk) {
        responseData += chunk;
    });

    response.on('end', function() {
        var jsonData = JSON.parse(responseData);
        
        const product = jsonData.products.find(item => item.id === 6);
        console.log('Title:', product.title);
        console.log('Description:', product.description);
        
    });
    
});
req.on('error', function(err) {
    console.error(err);
});
Das Javascript kann im von eQ-3 standardmäßig auf der CCU3 vorinstalliertem NEO Server ausgeführt werden.

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: JSON-APIs auswerten

Beitrag von Black » 25.06.2023, 09:00

Da war er wieder, der verzweifelt gesuchte Advertising Nagel von unserem Fonzo für sein Produktplacement.

Wenn man für die Problemstellung für eine JSon Auswertung eins nicht braucht, dann ist es deine expliziete Werbelösung.

Ausserdem heisst das Unterforum: "Projektvorstellungen" und nicht "Fonzo´s erfolgreich gekaperte Threads für sein Produktplacement"

Nix für ungut, war halt wie immer deine übliche Werbenummer,

Black

DIe Kosten und Bloatwarefreien Lösungsansätze dazu haben @MichaelN und @Henke ja schon geschrieben
Die Lösung von @Henke funktioniert natürlich auch, wenn man ein Bloatwarefreies System hat, da Node seitens EQ3 installiert ist und auch nach Entfernung nicht benötigter Software selbstredend funktional ist.
Zuletzt geändert von Black am 25.06.2023, 10:44, insgesamt 1-mal geändert.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Antworten

Zurück zu „Projektvorstellungen“