Liquid-Check in Homey einbinden

Hallo liebe Homey-Profis,
vielleicht könnt ihr mir weiterhelfen - wäre euch sehr dankbar …

Aktuell nutze ich zur Füllstandskontrolle einer Regentonne den Liquid-Check von SI-Elektronik. Hierbei kann das Gerät z. B. auch bei einem gewissen Pegelstand eine URL aufrufen (Verknüpfung von Homey-Flows mit Local API App - funktioniert soweit prima). Nun habe ich gesehen, dass es im Rahmen der Powerfox-Einbindung (hier der Foren-Beitrag dazu) die Device Capabilities App gibt, um die per API abgerufenen Werte als Gerät in Homey anzuzeigen. Der Liquid-Check hat auch die Möglichkeit per URL/API die Werte abzurufen (hier die Dokumentation dazu). Könntet ihr mir dabei bitte behilflich sein, ein Homey Flow zur Abfrage der Werte “Inhalt” und “Pegelstand” per AVD (Advanced Virtual Device) abzufragen/anzuzeigen (im Prinzip wie in dem Powerfox-Thread). Den Flow würde ich hinbekommen, aber bei der Device-Capabilities-App bin ich raus. Ein ganz großes Dankeschön an die Experten :slight_smile:

Als erstes musst Du ein Blanko-AVD erstellen:
Geräte → + → Neues Gerät → Device Capabilities → Advanced Virtual Device → Verbinden → Creating an empty AVD → Icon auswählen oder hochladen

Anschließend mit einem langen Tap ins erstellte AVD gehen → :gear: → Wartung → Reparatur versuchen, und dann folgende Einstellungen vornehmen und 2 Nummernfelder erstellen:

Wenn einige Felder oder gesetzte Haken unklar sind, einfach mal auf das i-Icon tippen. Allerdings sind diese nicht immer hilfreich bzw. eindeutig. Ich hatte damals die Übersetzung gemacht obwohl ich noch nicht genau wusste welche Felder, Drop-Down Felder und Haken welche Funktionen haben. Sollte ich vielleicht mal überarbeiten… :wink:

Ergebnis:

IMG_2342

1 Like

Danke dir für deine Rückmeldung. Das AVD habe ich entsprechend deiner Anleitung erstellt. Nun fehlt natürlich noch der dazugehörige Flow. Meinen Entwurf habe ich einmal angefügt. Dabei habe ich “Werte_LC” als Variable extra angelegt. In der zuerst verlinkten Powerfox-Anleitung musste keine extra Variable angelegt werden - woran liegts? Passt das aus deiner Sicht so oder müsste etwas angepasst werden? Ihr habt da deutlich mehr Expertise :wink: Nochmals ganz herzlichen Dank für die Unterstützung.

In der Powerfox-Anleitung wird keine Variable verwendet, weil die von der API abgefragten Werte direkt in das AVD geschrieben werden.
Was die HTTP-GET und die Parse Logik-Karten betrifft, habe ich ehrlich gesagt keine Ahnung von, dabei hatte mich @RonnyW tatkräftig unterstützt (Vielen Dank noch mal dafür!).
Wenn ich beide Flows aber mal vergleiche, also den vom Powerfox und Deiner, dann sind in Deinem Flow einige Fehler drin:

Das Tag Antwort bezieht sich auf die HTTP-Anfrage. Die Antwort sind also die Daten, die aus der HTTP-GET Anfrage stammen. Und Parse bedeutet untersuchen. Die Daten sollen also in dem hinterlegten Pfad auf ein Nummern-Tag untersucht werden.
Das Tag Ergebnis ist der Nummernwert, der aus der untersuchten Antwort stammt. Dieser Wert wird dann in das AVD geschrieben.
(So erkläre ich mir das zumindest)

Und der Header muss lt. API-Doku ja folgende Infos enthalten:

Ohne Header gibt es ja keine Adressierung zu Deinem Liquid-Check. Wie das letztlich eingetragen werden muss, weiß ich allerdings nicht genau, aber vermutlich ungefähr so, wie es auf der 2. Seite der API beschrieben ist:

Ich gehe mal davon aus, dass “header” weggelassen werden kann. Außerdem ist es um eine sofortige URL-Abfrage, z.B. über einen Browser. Deshalb wird “StartMeasure” vermutlich genutzt anstelle von “Response”. Ich würde es mal so testen:

namespace:Gerätename,name:Response,messageid:Seriennummer,payloadVersion:1

Gerätename = Der Name, den Du in der App oder auf der Webseite von Liquid-Check vergeben hast (nicht der Name, dem Du dem Gerät in Homey vergeben hast!)

Danke dir für die Infos. Die Anpassungen im Flow bezüglich “Antwort” und “Ergebnis” habe ich vorgenommen. Ob die Werte per URL und den Header-Einstellungen abgerufen werden können, werde ich später mal versuchen. Melde mich wieder :wink:

Habe nun mit dem Flow verschiedene Varianten der JSON-Abfrage durchgetestet. Letztlich funktioniert es nun mit den folgenden Einstellungen:

Danke für die Unterstützung :slight_smile:

Gerne!

Warum funktioniert das denn ohne Header? Ist das eine lokale Abfrage innerhalb Deines Netzwerkes?

Ja genau - “http://liquid-check” ist innerhalb des Netzwerks erreichbar - ähnlich zum bekannten Prinzip “fritz.box”. Für den Liquid-Check kann zwar eine Cloud-Verbindung zum Hersteller eingerichtet werden, diese dient jedoch nur der Statistik/Warnungen. Ansonsten ist das Gerät nur innerhalb des Netzwerks ansprechbar bzw. alternativ via VPN.

Viele Grüße :slight_smile:

1 Like