Insider Preview 4 veröffentlicht

Bild

Wir haben gestern Nacht die Insider Preview 4 zur Version 4.8 veröffentlicht
Erneut überarbeiteter Logik Katalog - jetzt mit Unterkategorien, neuen Titeln, Icons und Beschreibungen für eine nochmals verbesserter Übersicht
Vier neue Logiken für Verschlussüberwachung, Boolesche Logiken, JSON Aggregator. Damit sind es nun 103 verfügbare Logik-Module
Visualisierung des Logik Kerns ("Visualize") mit besserer Anzeige, Bedienung und Online-Hilfe
Verbesserte Mouse-Over im Logik Editor für klarere Information
Viele Bugfixes


Release Notes: https://elabnet.atlassian.net/wiki/x/AYA60w

AKTION: Wir haben noch viele tolle Updates und 150 Videos (und 800 Wiki Seiten) geplant. Bitte unterstütze uns mit einem Software-Wartungsvertrag, damit wir dieses alles erreichen können. Und damit Dein Server weiterhin Updates, Upgrades und Support erhält. Jetzt in der Aktion schenken wir Dir den Insider Club mit derselben Laufzeit wie der am längsten laufende aktive Wartungsvertrag dazu - bei sofortigem Laufzeitbeginn. Damit profitierst Du auch von einer vorzeitigen Verlängerung. Alle Infos: https://elabnet.atlassian.net/wiki/x/GQB8z

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

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
Antworten

Ersteller
MoseP
Beiträge: 11
Registriert: Di Mär 07, 2023 8:15 am
Hat sich bedankt: 29 Mal
Danksagung erhalten: 14 Mal

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

#1

Beitrag 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é
TWS 3500M ID:947, VPN offen, Reboot erlaubt

StefanW
Elaborated Networks
Elaborated Networks
Beiträge: 11034
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5433 Mal
Danksagung erhalten: 9316 Mal
Kontaktdaten:

#2

Beitrag 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
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.

ms20de
Elaborated Networks
Elaborated Networks
Beiträge: 1354
Registriert: Sa Aug 11, 2018 9:14 pm
Hat sich bedankt: 411 Mal
Danksagung erhalten: 847 Mal

#3

Beitrag 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
[ Timberwolf Entwicklung ]

TWS 2400 ID:102 VPN offen, Reboot auf Nachfrage
TWS 3500 ID:695 VPN offen, Bitte kein Reboot ohne Absprache

SchateMuhl
Beiträge: 507
Registriert: Mi Nov 23, 2022 9:31 pm
Wohnort: Werther bei Nordhausen
Hat sich bedankt: 137 Mal
Danksagung erhalten: 194 Mal
Kontaktdaten:

#4

Beitrag 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:
Grüße
Andreas

TWS 3500M ID:992 /XL ID:1198 , VPN offen, Reboot nach Absprache
- KNX mit TWS, 1Home, ENO Gateway, ETS
- PV Anlagen AC gekoppelt mit Fronius IG 40/60 und Symo 10KW
- 96kWh LiFePo mit 3 x MultiPlus 48/8000 und DC PV Anlagen über MPPT
Antworten

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