NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2

Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074

Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117

NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs

[Hinweis] [V3.5.1] HTTP-Api text/plain Response weiter verarbeiten (Solar-Log 200)

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

Ersteller
kleinklausi
Reactions:
Beiträge: 23
Registriert: Sa Dez 03, 2022 12:21 pm
Wohnort: Karlsruhe
Hat sich bedankt: 13 Mal
Danksagung erhalten: 7 Mal

[V3.5.1] HTTP-Api text/plain Response weiter verarbeiten (Solar-Log 200)

#1

Beitrag von kleinklausi »

Hallo,

Ich bekomme über eine einfache HTTP Api beim Solar-Log 200 folgenden Text als Response:

Code: Alles auswählen

var Datum="11.02.23"
var Uhrzeit="15:51:09"
var Pac=385
var aPdc=new Array(266,140,0)
var curStatusCode = new Array(1)
curStatusCode[0]=4
var curFehlerCode = new Array(1)
curFehlerCode[0]=0
var PacArr= [[385]];
var PdcArr= [[266,140,0]];
var sStrWIFI = 0
var sStrGPRS = 0
var tBsent = 4992499
Hat jemand eine Idee wie man z.B. den Wert bei "Pac" extrahiert? Gibt es vielleicht eine regex oder ähnliches? Oder kann ich den gesamten Text an eine Logik schicken?

Vielen Dank und Grüße,
Moritz
Zuletzt geändert von Parsley am Fr Feb 02, 2024 9:51 am, insgesamt 1-mal geändert.
TWS 3500L ID:760, online, VPN und Reboot gerne nach Absprache; Wiregate248

MrWilson
Reactions:
Beiträge: 232
Registriert: Do Dez 27, 2018 2:19 pm
Wohnort: Borgsdorf
Hat sich bedankt: 44 Mal
Danksagung erhalten: 146 Mal

#2

Beitrag von MrWilson »

Hey Moritz, kannst du dir die Antwort als JSON schicken lassen?

Bild
Zuletzt geändert von MrWilson am Sa Feb 11, 2023 5:09 pm, insgesamt 1-mal geändert.
TWS 2500 ID: 341 + PBM ID: 463, VPN offen, Reboot nur nach Absprache

Ersteller
kleinklausi
Reactions:
Beiträge: 23
Registriert: Sa Dez 03, 2022 12:21 pm
Wohnort: Karlsruhe
Hat sich bedankt: 13 Mal
Danksagung erhalten: 7 Mal

#3

Beitrag von kleinklausi »

Hallo @MrWilson ,
leider kann die Firmware meines Solar-Logs noch kein JSON. Die API, wie Du sie oben zitierst, funktioniert bei meinem Gerät leider nicht.

Gibt es eine Möglichkeit den String weiterzuverarbeiten?

Grüße Moritz
TWS 3500L ID:760, online, VPN und Reboot gerne nach Absprache; Wiregate248

StefanW
Elaborated Networks
Reactions:
Beiträge: 9773
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7811 Mal
Kontaktdaten:

#4

Beitrag von StefanW »

Hallo Moritz,

bitte keine Versionnummern im Footer. Regeln und Begründung stehen in den Forenregeln

Merci

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
kleinklausi
Reactions:
Beiträge: 23
Registriert: Sa Dez 03, 2022 12:21 pm
Wohnort: Karlsruhe
Hat sich bedankt: 13 Mal
Danksagung erhalten: 7 Mal

#5

Beitrag von kleinklausi »

StefanW hat geschrieben: Sa Feb 11, 2023 6:28 pm bitte keine Versionnummern im Footer
Danke, und erledigt :)
TWS 3500L ID:760, online, VPN und Reboot gerne nach Absprache; Wiregate248

StefanW
Elaborated Networks
Reactions:
Beiträge: 9773
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4879 Mal
Danksagung erhalten: 7811 Mal
Kontaktdaten:

#6

Beitrag von StefanW »

Hi Moritz,
kleinklausi hat geschrieben: Sa Feb 11, 2023 4:04 pmHat jemand eine Idee wie man z.B. den Wert bei "Pac" extrahiert? Gibt es vielleicht eine regex oder ähnliches? Oder kann ich den gesamten Text an eine Logik schicken?
ich habe ein wenig darüber gebrütet, aber keine gute Idee.

Da eigentlich alle Welt solche Informationen in einer handhabbaren Datenstruktur schickt, zumeist JSON, haben wir eine entsprechende JSON Zerlegung in Objekte eingebaut, die sehr gut funktioniert.

Einen universellen Textparser haben wir nicht. Es gibt zwar seit IP2 zur V4 neue Text-Logik-Module, die können auch mit großen Strings umgehen, aber hier kann man nach einzelnen Substrings suchen, nicht jedoch den Wert nach einem Substring extrahieren. Ich kann das beim nächsten Entwicklermeeting ansprechen, aber es gibt hier kaum Nachfrage.

Ist es für Dich nicht machbar, ein Update für den Solarlog zu bekommen?

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

Ersteller
kleinklausi
Reactions:
Beiträge: 23
Registriert: Sa Dez 03, 2022 12:21 pm
Wohnort: Karlsruhe
Hat sich bedankt: 13 Mal
Danksagung erhalten: 7 Mal

#7

Beitrag von kleinklausi »

Hallo Stefan,
Vielen Dank! Wäre toll wenn man den Response durch ein RegEx schicken könnte. Aber ich verstehe, dass JSON schon mittlerweile Standard ist.
Habe tatsächlich gestern beim Hersteller ein Ticket aufgemacht ob es noch ein Update gibt. Das Gerät ist schon älter und die Firmware Updates sind leider nicht auf der Homepage gelistet.

Grüße Moritz
TWS 3500L ID:760, online, VPN und Reboot gerne nach Absprache; Wiregate248

olicat
Reactions:
Beiträge: 41
Registriert: Di Jan 22, 2019 8:09 am
Hat sich bedankt: 8 Mal
Danksagung erhalten: 18 Mal

#8

Beitrag von olicat »

Hi!

Es gibt aber noch zig andere gute Gruende fuer einen universellen Text-Parser.
Schon allein fuer die Interaktion etwa mit Loxone waere der durchaus schon jetzt sehr hilfreich.
Und auch bei eingehenden UDP-Nachrichten waere das sinnvoll. Oder wenn man Anfragen als http-Server verarbeiten will.
Ich bin also (auch) ein Nachfrager ...

Oliver
TWS 3500L #644 / VPN aktiv / Reboot erlaubt
Benutzeravatar

Parsley
Reactions:
Beiträge: 541
Registriert: Di Okt 09, 2018 7:27 am
Wohnort: 490..
Hat sich bedankt: 606 Mal
Danksagung erhalten: 365 Mal

#9

Beitrag von Parsley »

Hi Stefan
StefanW hat geschrieben: Sa Feb 11, 2023 8:31 pm aber es gibt hier kaum Nachfrage.
Dazu habe ich eine mehrteilige Frage:

Die Nutzung der Logiken ist für viele gewöhnungsbedürftig, aber wer sich darauf einlässt kann auch ohne studiert zu haben tolle Logiken meistern. Demgegenüber sind RegEx eine ganz andere Hausnummer an (möglicher) Komplexität. Würden sich PCRE überhaupt (A)technisch sinnvoll in einem Logikbaustein umsetzen lassen? (Input(s) -> Eigener RegEx Code vom User -> Output(s))
Die Logic Engine ist hoch optimiert was den Resourcenbedarf angeht und das begrüße ich sehr. Wäre es mit (B)wenig Entwicklungsaufwand möglich beispielsweise eine (C)bestehende RegEx-library als einen neuen Logikblock zu anzubieten, (D)ohne dabei zu große Abstriche bei der Performance im Vergleich zu anderen Logikbausteinen zu machen?

Grundsätzlich kann ich mir nämlich gut vorstellen, dass so ein RegEx Baustein ein sehr mächtiges Werkzeug sein kann, das viele tolle neue (Custom)Logiken ermöglichen würde. Sofern es eine "low hanging fruit" ist, sollte Elabnet so einen Logikbaustein durchaus anbieten. ;) :D

Nachfrager++; // ;)
Gruß Parsley


Timberwolf Server 3500L #657 (VPN offen, reboot nach Absprache)

KFloo
Reactions:
Beiträge: 82
Registriert: Di Jan 04, 2022 10:14 pm
Hat sich bedankt: 51 Mal
Danksagung erhalten: 49 Mal

#10

Beitrag von KFloo »

Würde ebenfalls Interesse anmelden 😉
Vg, Florian. (TWS 3500M #708, VPN geschlossen)
Antworten

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