KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[Beantwortet] [V4.0.1] AL-KO Robolinho API mit Timberwolf?

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
hans4711
Reactions:
Beiträge: 124
Registriert: Mi Nov 08, 2023 4:24 pm
Hat sich bedankt: 40 Mal
Danksagung erhalten: 65 Mal

[V4.0.1] AL-KO Robolinho API mit Timberwolf?

#1

Beitrag von hans4711 »

Hallo Zusammen,
ich habe einen Rasenroboter AL-KO Robolinho 1300w seit heute am Laufen. Er bietet eine Rest-Api für die Steuerung und für Statusabfragen. Mit Rest-Api kenne ich mich leider gar nicht aus, durch etwas Testen habe ich schon mal bei anderen Geräten einfache URIs z.b. zum Abholen von Daten hinbekommen. Vielleicht gibt es hier jemanden der zumindest mal auf das verlinkte Dokument schauen kann ob das mit dem Timberwolf möglich ist, da kommen bei Abfragen mit Token usw. große Datenmengen zurück.
Als Automatisierung könnte ich mir z.b. vorstellen das wenn die Terassentüre offen ist der Roboter stoppt weil dann Kinder im Garten sein könnten. Oder einen externen Regenmengenmesser der bei zu großen Niederschlagswerten den Roboter stoppt.

https://sikysikov.github.io/alko-api/
3500 XL ID:1339

Ersteller
hans4711
Reactions:
Beiträge: 124
Registriert: Mi Nov 08, 2023 4:24 pm
Hat sich bedankt: 40 Mal
Danksagung erhalten: 65 Mal

#2

Beitrag von hans4711 »

Ich möchte das Thema nochmal hochschieben. Vielleicht hat jemand eine Info dazu. Vielen Dank und viele Grüße
3500 XL ID:1339

Sun1453
Reactions:
Beiträge: 2216
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 1978 Mal
Danksagung erhalten: 885 Mal

#3

Beitrag von Sun1453 »

Also die Get Anfragen werden auf jeden Fall gehen, weil das unterstützt der TWS auch mit Bearer Token als Auth. Die Methode PATCH wird aber nicht unterstützt.

Aktuell nur GET, PUT, POST.
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 |

AndererStefan
Reactions:
Beiträge: 262
Registriert: Sa Mär 02, 2024 11:04 am
Hat sich bedankt: 138 Mal
Danksagung erhalten: 161 Mal

#4

Beitrag von AndererStefan »

Hi, die Schwierigkeiten werden bei der Übergabe / Vorbereitung von dynamischen Inhalten sein. Die Logiken unterstützen derzeit [4.0.1] nur Strings mit maximal 15 (?) Zeichen.

Ich bin da für meine Anwendung an die Grenze gestoßen und anschließend auf Nodered ausgewichen.

VG Stefan
Zuletzt geändert von AndererStefan am Mi Jul 24, 2024 12:14 pm, insgesamt 1-mal geändert.
TWS 3500XL ID:1486, VPN aktiv, Reboot nach Rücksprache

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

#5

Beitrag von StefanW »

Hi Stefan,
AndererStefan hat geschrieben: Mi Jul 24, 2024 12:12 pmHi, die Schwierigkeiten werden bei der Übergabe / Vorbereitung von dynamischen Inhalten sein. Die Logiken unterstützen derzeit [4.0.1] nur Strings mit maximal 15 (?) Zeichen.
Das sollte eigentlich nicht sein, da die neue Logik Engine aus der V4 auch mit Strings von mehreren KB arbeiten kann, aber manche Module haben wohl voreingestellte Limits, die es so nicht braucht, bzw. die vom Nutzer änderbar sein sollten.

Wird zeitnah überarbeitet

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.

Sun1453
Reactions:
Beiträge: 2216
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 1978 Mal
Danksagung erhalten: 885 Mal

#6

Beitrag von Sun1453 »

Hier mal eine kurze Anleitung:

1. HTTP-API Server hinzufügen

Daten:
Bezeichnung - Beliebig
Hostadresse - https:// | api.al-ko.com/v1/iot/ <-- https:// aus Dropdown wählen und Adresse dahinter
Validierung - aktiviert <-- nur bei Problemen deaktivieren
Autorisierung - Bearer Token
Wert - den Token

Button "Server hinzufügen" drücken

2. Ressource hinzufügen

Bezeichnung - beliebig
Ressource URI - /things/<thingname>
Request Method - Get
Auslöser Intervall - Beliebig oder aus - Für Test natürlich 1 Minute um zu schauen wie die Verarbeitung ist.
HTTP Weiterleitungen folgen - Aus
Response Content-Type - application/json

3. Objekt zur HTTP Anfrage hinzufügen
Bezeichnung - beliebig
Lokation - URI
Selektor - thingname <-- wie oben damit Thinkname ersetzt wird. Der Wert kommt dann aus Objekt System vom TWS z.B. von einer Logik mit senden von String
Format - String


4. Logikmodul - Text im Intervall Senden
Eingang - Thinkname (als String)
Intervall in Sekunden - Wert oder 0 (0 ist dabei deaktiviert)
Trigger - Quelle Zeitschaltuhr , Tage beliebig, Type Zeitpunkt, Zeit (optional wenn man zu bestimmen Zeitpunkten etwas prüfen möchte.

Ausgang - Verbindung zum Objekt in Punkt 3

Anschließend noch die entsprechenden Auswertungen zu den Daten bauen.

Dabei helfen diese Dienste:
https://jsonpath.com/ oder https://jsonpathfinder.com/

Man kann den erhaltenenen JSON ja oben durch aufklappen der Response kopieren und dann die Selektoren finden.
Zuletzt geändert von Sun1453 am Mi Jul 24, 2024 1:08 pm, insgesamt 1-mal geändert.
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 |

AndererStefan
Reactions:
Beiträge: 262
Registriert: Sa Mär 02, 2024 11:04 am
Hat sich bedankt: 138 Mal
Danksagung erhalten: 161 Mal

#7

Beitrag von AndererStefan »

StefanW hat geschrieben: Mi Jul 24, 2024 12:17 pm Das sollte eigentlich nicht sein, da die neue Logik Engine aus der V4 auch mit Strings von mehreren KB arbeiten kann, aber manche Module haben wohl voreingestellte Limits, die es so nicht braucht, bzw. die vom Nutzer änderbar sein sollten.
N‘Abend,

um das noch zu vervollständigen: ganz konkret ist es in meinem Fall die Funktion „Prüfe String Include CIS“, die nach 15 Zeichen abschneidet. Die API (Homematic CCU2) bei mir liefert nur einen langen Textstring (xml ähnlich), kein direktverwertbares json. (viewtopic.php?f=82&t=5253&p=56798&hilit=http#p56798)

Aber mit Nodered im Timberwolf-Container klappts auch gut, da gibts sogar einen Baustein der direkt mit der Homematic CCU2 reden kann.

Sorry für soviel OT, aber ich wollte den Exkurs inhaltlich abschließen.

VG Stefan
TWS 3500XL ID:1486, VPN aktiv, Reboot nach Rücksprache

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

#8

Beitrag von StefanW »

Hi Stefan,
AndererStefan hat geschrieben: Mi Jul 24, 2024 9:55 pmum das noch zu vervollständigen: ganz konkret ist es in meinem Fall die Funktion „Prüfe String Include CIS“, die nach 15 Zeichen abschneidet.
Nur um das zu komplettieren: Diese Funktion unterstützt standardmäßig 64 Zeichen (steht auch in der Doku). Man kann diese einfach erweitern, in dem man den Logik-Code aus der Beschreibung kopiert, dann eine Custom Logik anlegt, dort komplett den kopierten Logikcode einfügt und aus den dort im Code stehenden zweimal "64" einfach nur 1024 macht und das abspeichert. Schon hat man die Funktion auch mit 1 kB.

AndererStefan hat geschrieben: Mi Jul 24, 2024 9:55 pmDie API (Homematic CCU2) bei mir liefert nur einen langen Textstring (xml ähnlich), kein direktverwertbares json.
Mit V 4.1 kommt ein neues Logikmodul für Regular Expression, dieses kann auch XML oder XML-ähnliche Strings auswerten (erheblich umfassender als "rüfe String Include CIS")

AndererStefan hat geschrieben: Mi Jul 24, 2024 9:55 pmAber mit Nodered im Timberwolf-Container klappts auch gut, da gibts sogar einen Baustein der direkt mit der Homematic CCU2 reden kann.
Anfragen danach sind selten, evt. sehen wir uns das mal an.


So, nun wieder OnTopic (wobei diese neuen Module auch hier für die API des AL-KO hilfreich sein können).


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
hans4711
Reactions:
Beiträge: 124
Registriert: Mi Nov 08, 2023 4:24 pm
Hat sich bedankt: 40 Mal
Danksagung erhalten: 65 Mal

#9

Beitrag von hans4711 »

@Sun1453 Vielen Dank für die Anleitung. Ich habe schon mal begonnen. Ich habe neben dem Client Secret (vermutlich ist das der Bearer Token) noch einen Benutzername und Passwort. Wo gebe ich diese Kombi dann ein? Ich kann nur einen Token eintragen habe aber keine Felder für Benutzername und Passwort.

Vielen Dank und viele Grüße
3500 XL ID:1339

Sun1453
Reactions:
Beiträge: 2216
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 1978 Mal
Danksagung erhalten: 885 Mal

#10

Beitrag von Sun1453 »

Also entweder bearer Token oder Benutzername und Passwort. Also mit dem Bearer Token sollte die Authentifikation schon klappen.

Alternativ kannst du auch Auth mit Benutzer und Passwort probieren. Zusammen gibts nicht so wie ich die Schnittstellen kenne.
Zuletzt geändert von Sun1453 am Sa Aug 10, 2024 1:00 pm, insgesamt 1-mal geändert.
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 |
Antworten

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