Insider Preview IP 1 zur V 4.8 - veröffentlicht

Verehrte Nutzer des Timberwolf Servers. Wir haben die IP1 zur nächsten Hauptversion 4.8 für alle Modelle des Timberwolf Servers freigegeben.

Bild

Diese neue Version enthält eine neue Funktion zum selektiven Löschen von Datenpunkten in ein oder mehreren Zeitserien sowie 16 Verbesserungen und wichtige Fehlerkorrekturen


Insbesondere die neuen Funktionen zum selektiven Löschen in Zeitserien sind sehr wichtig, weil damit erstmals ein Bereinigen sowie ein Kürzen von Zeitserien möglich wird. Damit kann massiv Speicherplatz reduziert werden, womit auch Backup / Restore kürzer wird. Zudem können damit Datenschutzanforderungen umgesetzt werden.

Foren Diskussion: viewtopic.php?t=6070

Release Notes im Wiki: https://elabnet.atlassian.net/wiki/x/AYCEyw


WICHTIG: Dies ist die eine neue Insider Preview im Zyklus 4.8. Mit Installation der letzten Hauptversion 4.5 wurde der Bezug für Insider Versionen zurückgesetzt. Mitglieder im Insider Club müssen daher in der Systemaktualisierung erst den Bezug von Insider Versionen wieder freischalten, damit das Update angezeigt wird.

[Beantwortet] [V4.5 IP5] Welcher Selektor für ein verschachteltes JSON Element?

Wissen, Planung & Diskussion zur Unterstützung von Rest-API & Webabfragen im Timberwolf Server.
Stellt uns hier Eure Projekte und Ideen vor.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
Doscre
Beiträge: 7
Registriert: Mi Dez 23, 2020 5:12 pm
Hat sich bedankt: 1 Mal
Danksagung erhalten: 6 Mal

[V4.5 IP5] Welcher Selektor für ein verschachteltes JSON Element?

#1

Beitrag von Doscre »

Hi zusammen,

ich habe folgende Struktur als JSON und würde gerne darin das verschachtele Element Measurement Value aufrufen. Wie sieht dazu der Pfad (Selektor) aus, er schmeißt immer einen invalid path.

result.robotTasks.items[3].capturedLists.Pool Measurements[0].Measurement Value geht nicht.

Code: Alles auswählen

{
    "result": {
        "robotTasks": {
            "totalCount": 1,
            "pageNumber": 1,
            "hasMore": false,
            "items": [
                {
                    "id": "0",
                    "capturedLists": {
                        "Pool Measurements": [
                            {
                                "_STATUS": "CHANGED",
                                "Position": "1",
                                "Measurement Type": "pH [pH]",
                                "Measurement Value": "7.2"
                            }
                        ]
                    }
                }
            ]
        }
    }
}
Danke.

VG
Zuletzt geändert von StefanW am Mo Mai 05, 2025 3:38 pm, insgesamt 1-mal geändert.
TWS 2500 ID:465 (VPN offen, Reboot nach Rücksprache)

gbglace
Beiträge: 4148
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1455 Mal
Danksagung erhalten: 1955 Mal

#2

Beitrag von gbglace »

Naja da Du in dem JSON nur ein Item hast in dem Array, sollte das dann items[0] sein halt das erste.

Wenn es MQTT ist. Ich schaue mir bei MQTT sowas gern im MQTT Explorer an und da kann man sich dann auch den Pfad der einzelnen Elemente angeben lassen.
Zuletzt geändert von gbglace am Mo Mai 05, 2025 1:20 pm, insgesamt 1-mal geändert.
Grüße Göran
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU

Marino
Beiträge: 537
Registriert: Fr Jul 24, 2020 6:44 am
Wohnort: Hamburg
Hat sich bedankt: 211 Mal
Danksagung erhalten: 194 Mal

#3

Beitrag von Marino »

Warum hast Du items[3]? In Deinem Code gibt es das nicht.

Das müsste dann schon eher an items[0] abgefragt werden.

Code: Alles auswählen

result.robotTasks.items[0].capturedLists.Pool Measurements.[0].Measurement Value
Ich glaube aber, die Leerzeichen sind schwerwiegender.

Statt Pool Measurement müsstest Du wohl mal probieren, wie das Leerzeichen mit erkannt wird.
["Pool Measurements"]
'Pool Measurements'
"Pool Measurements"
z.B.

Welche Syntax genau gebraucht wird, kann ich leider nicht sagen.

PS: Bitte ergänze Deine Signatur entsprechend Forenregeln (blauer Kasten oben)
Zuletzt geändert von Marino am Mo Mai 05, 2025 1:25 pm, insgesamt 1-mal geändert.
Viele Grüße
Nils


TWS 3500XL ID:1080 (VPN offen, Reboot nach Rücksprache)
Benutzeravatar

micha79
Beiträge: 20
Registriert: Di Jul 30, 2024 7:42 pm
Hat sich bedankt: 37 Mal
Danksagung erhalten: 8 Mal

#4

Beitrag von micha79 »

Ich nutze dafür gerne den JSON Path Finder: https://jsonpathfinder.com

Demnach wäre es, wie Marino schon schreibt,

Code: Alles auswählen

x.result.robotTasks.items[0].capturedLists["Pool Measurements"][0]["Measurement Value"]
In der TWS-Umgebung entfällt das "x." zu Beginn normalerweise.

Viele Grüße
Micha
TWS 3500XL, ID 1583, Support-VPN und Reboot nach Absprache

Ersteller
Doscre
Beiträge: 7
Registriert: Mi Dez 23, 2020 5:12 pm
Hat sich bedankt: 1 Mal
Danksagung erhalten: 6 Mal

#5

Beitrag von Doscre »

Hi, Danke für die schnellen Antworten.

Ich habe jetzt verschiedenste Varianten durch. Bis zur capturedLists Ebene funktioniert es. Die Ebenen darunter können irgendwie nicht adressiert werden. Any Ideas woran das noch liegen könnte?

result.robotTasks.items[0].capturedLists[Pool Measurements][0]."Measurement Value"
result.robotTasks.items[0].capturedLists[Pool Measurements][0].Measurement Value
result.robotTasks.items[0].capturedLists[Pool Measurements][0].[Measurement Value]

result.robotTasks.items[0].capturedLists["Pool Measurements“][0].“Measurement Value"
result.robotTasks.items[0].capturedLists["Pool Measurements“][0].Measurement Value
result.robotTasks.items[0].capturedLists["Pool Measurements“][0].[Measurement Value]

result.robotTasks.items[0].capturedLists["Pool Measurements"][0]["Measurement Value"]
result.robotTasks.items[0].capturedLists["Pool Measurements"][0][Measurement Value]
result.robotTasks.items[0].capturedLists["Pool Measurements"][0]Measurement Value

result.robotTasks.items[0].capturedLists['Pool Measurements'][0].“Measurement Value"
result.robotTasks.items[0].capturedLists['Pool Measurements'][0].Measurement Value
result.robotTasks.items[0].capturedLists['Pool Measurements'][0].[Measurement Value]

result.robotTasks.items[0].capturedLists['Pool Measurements'][0]“Measurement Value"
result.robotTasks.items[0].capturedLists['Pool Measurements'][0][Measurement Value]
result.robotTasks.items[0].capturedLists['Pool Measurements'][0]Measurement Value

VG
TWS 2500 ID:465 (VPN offen, Reboot nach Rücksprache)
Benutzeravatar

micha79
Beiträge: 20
Registriert: Di Jul 30, 2024 7:42 pm
Hat sich bedankt: 37 Mal
Danksagung erhalten: 8 Mal

#6

Beitrag von micha79 »

Schau mal hier in der Doku: https://elabnet.atlassian.net/wiki/spac ... I+REST-API

Mit ein bisschen Rumprobieren hat es meist schnell geklappt.

Viel Erfolg!
TWS 3500XL, ID 1583, Support-VPN und Reboot nach Absprache

Ersteller
Doscre
Beiträge: 7
Registriert: Mi Dez 23, 2020 5:12 pm
Hat sich bedankt: 1 Mal
Danksagung erhalten: 6 Mal

#7

Beitrag von Doscre »

Hi zusammen,

Thread kann geschlossen werden.

Leerzeichnen müssen in "" excaped werden und man muss darauf achten, Arrays in Klammern und Objekte mit Punkte zu verarbeiten.

Danke an alle für den Support.

VG
TWS 2500 ID:465 (VPN offen, Reboot nach Rücksprache)

Sun1453
Beiträge: 2309
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 2123 Mal
Danksagung erhalten: 915 Mal

#8

Beitrag von Sun1453 »

@Doscre Kannst Du bitte für die anderen Nutzer noch die korrekten Selektoren posten. Danke Dir.
Gruß Michael

Timberwolf 950 QL #344 | Mit Internetanbindung | VPN Offen | Reboot nach Absprache | PROD Server
Timberwolf 2500 #602 | VPN offen | TEST Server | Reboot nach Absprache |

Ersteller
Doscre
Beiträge: 7
Registriert: Mi Dez 23, 2020 5:12 pm
Hat sich bedankt: 1 Mal
Danksagung erhalten: 6 Mal

#9

Beitrag von Doscre »

Hi,

ergänzend noch die Selektoren:

result.robotTasks.items[0].capturedLists."Pool Measurements"[0]."Measurement Value"

Objekte mit . getrennt, Arrays mit [] Sonderzeichen in ""

Abfrage Bayrol Automatic CL über Browse AI.

VG
Zuletzt geändert von Doscre am Do Mai 08, 2025 10:08 am, insgesamt 1-mal geändert.
TWS 2500 ID:465 (VPN offen, Reboot nach Rücksprache)

SchateMuhl
Beiträge: 484
Registriert: Mi Nov 23, 2022 9:31 pm
Wohnort: Werther bei Nordhausen
Hat sich bedankt: 132 Mal
Danksagung erhalten: 185 Mal
Kontaktdaten:

#10

Beitrag von SchateMuhl »

@Doscre Hi, Ich lese gerade das du die Bayrol Automatic CL ausliest, kannst du mir schreiben wie du das machst, es gibt dich keine API dafür oder ?
Grüße
Andreas

TWS 3500M ID:992 /XL ID:1198 , VPN offen, Reboot nach Absprache
- KNX mit TWS, 1Home, ENO Gateway, ETS
- PV Anlagen AC gekoppelt mit Fronius IG 40/60 und Symo 10KW
- 96kWh LiFePo mit 3 x MultiPlus 48/8000 und DC PV Anlagen über MPPT
Antworten

Zurück zu „HTTP-API, REST & Web-Abfragen“