Seite 1 von 1

[V4.8 IP4] FYTA Pflanzensensoren mit HTTP-Client

Verfasst: Fr Dez 26, 2025 5:51 pm
von MoseP
Hallo zusammen

Ich habe die Feiertage genutzt, um meine FYTA-Pflanzensensoren auf den Timberwolf zu bringen. Grundsätzlich gibt es dazu die Varianten IFTTT und FYTA Public API. Da im IFTTT nur Warnungen verschickt werden, aber keine Statusdaten verfügbar sind, habe ich mich für die HTTP-Integration entschieden. Perplexity hat mir bei der Ersteinrichtung und dem repetitiven Anlegen der einzelnen Sensordaten geholfen.

Einrichtung des HTTP-Client
  1. HTTP-Client-Subsystem "FYTA" anlegen.
  2. Im Ressourcen-Manager "Neuen HTTP-API Server hinzufügen"
  3. Autorisierung "Bearer Token", Hostadresse "https://web.fyta.de" Port 443
  4. Als Wert den Token eintragen, den man auf der FYTA-Seite web.fyta.de unter "API Token" generieren kann.
  5. Validierung Server-Zertifikat aktivieren
Ich habe zwei Varianten im Einsatz:
Bild
A) Gesamtliste der Pflanzen und ihrer Zustände über /api/user-plant
  1. Ressource hinzufügen: Ressource "/api/user-plant", Request-Methode GET, Auslöser-Intervall 30 Minuten, Response Content-Type "application/json"
    Bild
  2. Hiermit entsteht die Gesamtliste aller Pflanzen, die man mittels "Empfangene und gesendete Rohaten anzeigen" anschauen kann.
    Die Werte jeder einzelnen Pflanze lassen sich mit "Auswertung HTTP-Antwort hinzufügen" als Ressource erstellen.
  3. Die Identifikation der Pflanze erfolgt entweder über die Reihenfolge im json (Selektor: .plants[0] und fortlaufend [1], [2], ...) oder über die eindeutige ID (Selektor: .plants[id=12345]). Ich empfehle die Pflanzen-ID (Achtung: "id" aus der Gesamtliste, nicht "plant_id"), da diese auch beim Austausch von Sensoren erhalten bleibt.
  4. Nun können die erwünschten Werte für jede Pflanze einzeln erstellt werden. Leider ist die API-Dokumentation unvollständig, es gibt noch einige weitere Datenfelder, z. B. "isBadge" zeigt, ob es eine Meldung für die Pflanze in der App gibt (und "noOfbadge" die Anzahl der Meldungen), umgekehrt zeigt "isDoingGreat", dass alles ok ist. Im Gegensatz zur Dokumentation zeigt bei mir .plant.status immer "2", egal ob die Pflanze Warnungen hat oder nicht. Die Felder "notification" geben leider nicht an, ob es einen Hinweis gibt, sondern konfiguriert, ob der Sensor entsprechende Hinweise ausgeben soll oder nicht.
B) Detaildaten zu jeder einzelnen Pflanze
Ich wollte eine Detailseite erstellen, auf der ich alle Daten zu einer Pflanze anzeigen lassen, kann, z. B. auch die letzte Düngung oder ob die Batterie des Sensors bald leer ist. Dafür wollte ich nicht jedes eizelne Element für jede Pflanze erstellen, sondern habe es mit einem dynamischen Aufruf erstellt, der in der VISU als Detailseite mit Auswahlmöglichkeit der Pflanze realisiert ist.
  1. Ressource hinzufügen: Ressource "/api/user-plant/<id>", Request-Methode GET, kein Auslöser-Intervall (Auslösung erfolgt über den Aufruf des Objekts), Response Content-Type "application/json"
    Bild
  2. Ein "Objekt zur HTTP Abfrage hinzufügen" mit der Information: Lokation "URI", Format "Ganzzahl (INT)", Selektor "id", Auslöser "Wertänderung löst Abfrage mit Übergabe NUR des aktuellen Objektwerts DIESER Transaktion aus"
  3. Passende Datenfelder entsprechend Codierung im json anlegen, z. B.
    • .plant.nickname
    • .plant.fertilisation.last_fertilised_at
    • .plant.measurements.nutrients.status
  4. Diese Felder können dann der Detailübersicht in der VISU zugeordnet werden (siehe Beispiel unten).
Umsetzung in der VISU
In der VISU habe ich ein Info-Schaltfläche erstellt, die in der Detailansicht alle entsprechenden Datenfelder enthält. Zur Auswahl habe ich bei "Basiskonfiguration - Wertaussendung" die verschiedenen Pflanzen-IDs ("id" in JSON) mit ihrem Namen hinterlegt. So erhalte ich eine Seite mit allen Pflanzen zur Auswahl, durch die ich durchtippen kann:
Bild

Die Anzeigewerte habe ich entsprechend Dokumentation übersetzt, z. B. für den Düngerwert:
Bild

Auf der VISU-Seite selbst habe ich auch noch für jede Pflanze ein eigenes Symbol mit den beiden Werten "Wasser" und "Dünger" (aus der Gesamtliste A) als zwei Werte auf der Kachel erstellt, damit ich auf einen Blick sehen kann, ob es allen Pflanzen gut geht.

Als zukünftige Verbesserung wäre es schön, wenn ich einen Array aus den Pflanzen-IDs (Gesamtliste) erstellen könnte und diesen dynamisch in der VISU anzeigen lassen kann. Derzeit sind alle Pflanzen "hard-coded" in der VISU als Werte hinterlegt. Im Idealfall könnte ich auch die Symbole nur einmal erstellen und mit "ID+1" von einem zum nächsten Symbol die Pflanzen der Reihe nach abfragen, ohne dass der Wert überschrieben wird (wie in der dynamischen Abfrage B oben).

Viel Spass beim Nachbauen!
André

Re: [V4.8 IP4] FYTA Pflanzensensoren mit HTTP-Client

Verfasst: Fr Dez 26, 2025 6:20 pm
von StefanW
Hi André,

eine phantastische Lösung, ganz toll!

Info zu den FYTA Pflanzensensoren hier: https://fyta.de/pages/fyta-system

Danke schön für die Beschreibung

lg

Stefan

Re: [V4.8 IP4] FYTA Pflanzensensoren mit HTTP-Client

Verfasst: Sa Dez 27, 2025 3:42 pm
von ms20de
Hallo André,

kreative Idee mit den dynamischen Durchschalten zwischen den Pflanzen auf der Detailseite.
Danke für die Beschreibung.

Viele Grüße,
Matthias

Re: [V4.8 IP4] FYTA Pflanzensensoren mit HTTP-Client

Verfasst: Sa Dez 27, 2025 5:26 pm
von SchateMuhl
Hallo André

Cool was du da gebaut hast, ich habe auch einige Fyta Sensoren und logge die Daten schon über den TWS, aber deine VISU werde ich mal nachbauen.
Danke für das teilen. :clap: