Seite 1 von 2

[V3.0] HTTP-API Webabfragen Sammlung

Verfasst: Mo Okt 18, 2021 10:56 am
von KNXMane
Hallo Zusammen

Ich finde das Thema HTTP-API Webabfragen in der V3.0 interessant und mich würde mal interessieren, was es da so alles interessantes gibt. Ich habe bei mir schon mal openweather eingebunden. Vielleicht könnten wir hier ja ein Sammelthread mit Beschreibung für interessate Webabfragen starten.
Mich würde zum Beispiel interessieren, wie und ob ich Daten von meiner Junkers Gastherme, die über das MBLan am Netz hängt, abfragen kann.

Markus

Re: V3.0: HTTP-API Webabfragen Sammlung

Verfasst: Mo Okt 18, 2021 11:08 am
von FabKNX
ich habe damit gerade die

Daten von meinem Fronius Wechselrichter eingesammelt.

/solar_api/v1/GetPowerFlowRealtimeData.fcgi/

Bild

Re: V3.0: HTTP-API Webabfragen Sammlung

Verfasst: Mo Okt 18, 2021 11:41 am
von Dragonos2000
Hallo zusammen

Wetterdienst YR.no


Bild

Re: V3.0: HTTP-API Webabfragen Sammlung

Verfasst: Mo Okt 18, 2021 11:44 am
von Dragonos2000
Hallo zusammen,

Wetterdienst Weatherbit

weatherbit2.JPG

Re: [V3.0] HTTP-API Webabfragen Sammlung

Verfasst: Mo Okt 18, 2021 2:33 pm
von zitterfritz
Moinsen,

hat schon jemand die Anbindung an Netatmo hinbekommen?

LG
Heiko

Re: [V3.0] HTTP-API Webabfragen Sammlung

Verfasst: Mo Okt 18, 2021 3:13 pm
von Smarty
Hallo zusammen,

Hier sieht man eine Abfrage für die API von sonnen:

status_sonnenbatterie10.png

Re: [V3.0] HTTP-API Webabfragen Sammlung

Verfasst: Mo Okt 18, 2021 4:48 pm
von StefanW
Hallo zusammen,

danke für den Thread und die tollen Beispiele.

Weil das irgendwann mal viele werden, wäre es toll, wenn man das, um was es geht, ein wenig hervorhebt.

Ich habe mir erlaubt, das bei den obigen Threads zu machen und würde mir wünschen, dass ihr das entsprechend ebenso ausführt (Fett und Groß mit Size 150).

Merci

Re: [V3.0] HTTP-API Webabfragen Sammlung

Verfasst: Mo Okt 18, 2021 9:54 pm
von Hiele
HERE Routing und Verkehrsdaten:

Kurz vorab zu Erklärung
Es wird ein Developer Konto bei here.com benötigt (kostenfrei bis 250k Aufrufe/Monat) Ich schaffe so im Schnitt, da ich die Verkehrsdaten nur zwischen 7:30 – 9:00 Uhr alle 5 min hole, auf nicht einmal 2% :dance: -> Bebilderte Anleitung unter https://github.com/BuZZy1337/ioBroker. ... /README.md

Achtet bitte darauf, wenn ihr Screenshots bei Fragen zu diesem Thema von eurem TWS hier postet, dass euer privater API Key in der URL ist und vorher unkenntlich zu machen ist!

Alles wichtige zu dieser Abfrage findet ihr (wenn ihr dann bei HERE angemeldet seid) unter: https://developer.here.com/documentatio ... s/via.html

Natürlich könnt ihr hier x verschiedene Arten der http Abfragen euch bauen. Aber jetzt erstmal was ich nutze.
1. Ich lasse mir meine Route von zu Hause berechnen
2. Diese mit und ohne Verkehrsdaten
3. 2 weitere Alternativen mit Angabe über welche Hauptwege (Autobahn, Landstr. etc.)
4. Angabe über Distanz, Dauer mit Verkehr und ohne (Basetime)

Daraus kann ich schnell sehen, bzw. errechnen, welchen Weg ich nehmen sollte und wieviel Verzögerungen gerade anstehen.
Beispiel: 31km über Autobahn A100 & A115 31 Min. üblich 28 Min. ODER 17km über L77 und B1 bzw. 19km Goerzallee & A103 alles mit Zeitangaben. Da ich die Strecken kenne, kann ich mit einem Blick morgens schon sehen wie ich am besten ins Büro komme und ob mal wieder Schulanfang oder Ferien sind ;)

So nun zum technischen:
1. Über Subsysteme legst du ein neues an (wenn nicht vorhanden). Ich habe meins „HTTP-API Interface extern“ genannt.
2. Über den Ressourcen Manager wechsle ich ggf. in das passende Subsystem im Reiter oben.
3. Dort füge ich einen neuen http-API Server hinzu mit folgenden Daten:

Bezeichnung: HERE (oder wie ihr wollt)
https://route.ls.hereapi.com
Autorisierung: KEINE <- Wird über den API Key per GET erledigt
Server Zertifikat: Kein Haken


4. Neue Ressource hinzufügen:
a) Bezeichung: HERE Route (ober was euch passt)
b) Ressource URI: /routing/7.2/calculateroute.json?apiKey=<HIER EUREN APIKEY>&waypoint0=geo!<GEODATEN START>&waypoint1=geo!<GEODATEN ZIEL>&mode=fastest;car;traffic:enabled&alternatives=2&routeattributes=labels
c) GET
d) Trigger: erstmal auf 10 Minuten (Rest nachher)

<HIER EUREN APIKEY> = Ersetzt diesen Teil (also auch < > die Klammer müssen weg sein) mit eurem API Key von der HERE Seite.

<GEODATEN START> & <GEODATEN ZIEL> = Ersetzt diese mit euren Daten wie folgt:

Googlemaps aufrufen und Adresse eingeben. Dann in der Karte rechte Maustaste auf den roten Marker (Howto: https://de.wikihow.com/Marker-in-Google-Maps-setzen) und mit links auf die Zahlen (Geodaten 1. Zeile tippen -> werden dann in die Zwischenablage gepackt.
Diese dann im Link einfügen und das eine Leerzeichen nach dem komma zwischen den Zahlen löschen:

z.B. 52.50350415248919, 13.279196331721325 -> 52.50350415248919,13.279196331721325

Beispiel:
/routing/7.2/calculateroute.json?apiKey=LKnCB3245iuj1djz6t6SHp9iHS1QMD3er2oKd_asQTl8&waypoint0=geo!48.02643308223957,12.038227620825444&waypoint1=geo!52.50350415248919,13.279196331721325&mode=fastest;car;traffic:enabled&alternatives=2&routeattributes=labels

Dann sollte auch schon die JSON Daten bei euch aufschlagen.


Folgende Daten ziehe ich mir aus dem JSON – Feld Selektor:

1. Distanz: response.route[0].summary.distance (Meter / INT)
2. Zeit mit Verkehr: response.route[0].summary.trafficTime (Sekunden / INT)
3. Zeit ohne Verkehr: response.route[0].summary.baseTime (Sekunden / INT)
4. Routen Label A: response.route[0].label[0] (Text / Straßenangabe über…)
5. Routen Label B: response.route[0].label[1]


Wenn ihr jetzt wie ich, zwei alternative Routen berechnen lasst, müsst ihr die 0 von route[0] durch 1 bzw. 2 etc. ersetzten um die Daten der anderen Routen zu bekommen.

Über eine Logik könnt ihr jetzt die Sekunden in Minuten umrechnen und ggf. nur bei starker Abweichung, also üblich sind es 30 Min. aber HERE ermittelt 45 Minuten, entsprechende Infos ausgeben lassen, das man früher losfahren sollte. Oder die Daten mit km, Zeit & Steckeninfo Angaben auf die VISU packen.
Ihr findet auf der DEV Seite von HERE diverse Möglichkeiten, alle habe ich nicht durch, nur diese war mir pers. die passende.

Es geht auch ohne Alternativen:
https://router.hereapi.com/v8/routes?tr ... oKd_asQTl8

Selektor für Fahrzeitmit Verkehr: routes[0].sections[0].summary.duration
Selektor für Distanz: routes[0].sections[0].summary.length

Fazit: Ich bekomme alle meine Daten die ich benötige, muss aber zur Zeit zu oft triggern (alle 5 Min.) und habe damit unnötig Traffic und CPU Last. Wenn ich es raushabe, wie ich den Trigger nur bei Auslösung nur durch Objektänderung hinbekomme, würde ich zu den gewünschten Zeiten einfach ein dafür passendes Objekt triggern. Also z.B. zwischen 7-9 Uhr.

Bild

Braucht ihr noch Bilder oder habt Fragen, einfach melden :-)

VG Hiele

Re: [V3.0] HTTP-API Webabfragen Sammlung

Verfasst: Di Okt 19, 2021 8:33 am
von StefanW
Hallo Hiele,

Wow, sehr schöne Anwendung und toll beschrieben.

==> An alle: Davon bitte mehr. Ein Forum lebt davon, dass ALLE beitragen


Kurze Rückmeldung:
Hiele hat geschrieben: Mo Okt 18, 2021 9:54 pmAchtet bitte darauf, wenn ihr Screenshots bei Fragen zu diesem Thema von eurem TWS hier postet, dass euer privater API Key in der URL ist und vorher unkenntlich zu machen ist!
Richtig. Wobei man den API-Key nur dann sehen kann, wenn man den Datenmonitor ausklappt, ansonsten wird nur der Platzhalter angezeigt.


Hiele hat geschrieben: Mo Okt 18, 2021 9:54 pmWenn ich es raushabe, wie ich den Trigger nur bei Auslösung nur durch Objektänderung hinbekomme, würde ich zu den gewünschten Zeiten einfach ein dafür passendes Objekt triggern. Also z.B. zwischen 7-9 Uhr.
Das ist ganz einfach:

1. Den zeitlichen Auslöser bei der Ressource abschalten

2. Ein Abfrageobjekt einrichten und dort den Auslöser für die ganze Transaktionsgruppe einstellen

Habe eben dem Video sehr detaillierte Kapitelmarkierungen hinzugefügt. Das gesuchte wird unter https://youtu.be/S8_F7WD2aQM?t=2930 beschrieben.


lg

Stefan

Re: [V3.0] HTTP-API Webabfragen Sammlung

Verfasst: Mi Jan 12, 2022 9:49 pm
von adimaster
Hi,

ein weiteres Bsp.
Tankerkönig - Sprit-Preise abrufen
Aufrufe/min: nicht angegeben

API-Beschreibung
Tankerkönig

Bsp.-Anwendungen
  • Sprit-Preise der Wunschtankstelle ermitteln
  • "Status" Wunschtankstelle feststellen (offen/zu)
Vorgehensweise beim Anbieter
  • API-Key beantragen (unter obigen Link)
  • Wunschtankstellen mittels "API-Methode 1 - Umkreissuche" nach dem auf der Homepage beschriebenen Bsp. identifizieren
"ausführliche" Vorgehensweise auf dem Timberwolf
► Text zeigen
Ausblick
z. B. Ermittlung der Tagestiefpreise mittels Logik
(sollte halbwegs einfach sein, wenn immer mit dem niedrigsten Wert verglichen und mit einem Trigger zu einer bestimmten Tageszeit der Wert in eine Zeitserie geschrieben wird ... falls jmd. bereits eine Logik angelegt hat, die solch eine ähnliche Funktion erfüllt, bitte gerne anhängen :D )

Grüße
Adi