[Modul] AI on the Edge Device (ESP32-CAM)

Hinweis:

Das Modul ist aktuell als BETA im Store. Somit muss der Suchbegriff genau so eingegeben werden:

AI on the Edge Device

SDK Version Version
License Check Style Run Tests
SpendenWunschliste

AI on the Edge Device

Einbinden von AI on the Edge Device Geräten in IPS.

Inhaltsverzeichnis

1. Funktionsumfang

  • Darstellen der empfangenen Werte
  • Darstellen des letzten Digitizer Bildes
  • Offline Überwachung des Gerätes

2. Voraussetzungen

3. Software-Installation

4. Einrichten der Instanzen in IP-Symcon

Unter ‚Instanz hinzufügen‘ kann das ‚AI on the Edge Device‘-Modul mithilfe des Schnellfilters gefunden werden.
Module
Nach der Installation über den Store, wird abgefragt ob eine Instanz von diesem Modul automatisch angelegt werden soll.

Weitere Informationen zum Hinzufügen von Instanzen in der Dokumentation der Instanzen

Konfigurationsseite: Symcon

Name Text Typ Beschreibung
Host string Der Host wird automatisch ermittelt (*1)
ApiKey API-Key string API-Key aus dem Gerät, sofern vergeben
ValueProfile Typ der Werte string Profil für die Variablen (Water.m3 oder Gas.m3)
EnablePreValue Aktiviere Vorheriger Wert bool Vorheriger Wert als Variable anlegen
EnableRawValue Aktiviere Rohwert bool Rohwert als Variable anlegen
EnableSnapshotImage Erstelle Snapshot Bild bool Snapshot Bild als Medien-Objekt abspeichern
EnableTimeoutVariable Aktiviere Offline Variable bool Offline Variable anlagen
EnableTimeoutInstanceStatus Aktiviere Instanz Fehlerzustand bool Instanz in Fehlerzustand setzen, wenn Gerät offline ist
Timeout Zeit bis Gerät als offline erkannt wird int Timeout wann das Gerät als Offline erkannt wird
DigitizeIntervall Intervall zum starten des Flow int Intervall in welchem digitalisiert werden soll (*2)

*(1) Siehe weiter unten.
*(2) Sollte nur benutzt werden, wenn der Auto-Timer im Gerät viel größer ist als die Timeout Erkennung.

Config

Konfigurationsseite: Ai on the Edge Device

Auf der Website des Ai on the Edge Device ist unter SettingsConfiguration der Abschnitt Webhook zu aktivieren.

In das Feld URI wird der angezeigte Webhook aus der zuvor in Symcon angelegten Instanz eingetragen.
Zeigt die Instanz mehrere URLs an, so ist die URL mit der IP-Adresse aus dem gleichen Subnetz wie dem Ai on the Edge Device einzutragen.
Der ApiKey muss identisch mit dem in der Symcon Instanz sein.
Unter Upload Image sollte Always augewählt werden, sofern das Bild in Symcon dargestellt werden soll.

Anschließend die Einstellungen speichern und das Gerät neu starten.

Config

Funktionstest: Symcon

Sobald das Gerät sich erfolgreich mit Symcon verbunden hat, wechselt die Instanz auf aktiv und das Feld Host wird mit dem Hostnamen des Gerätes aktualisiert.

Je nach Gerät und Dauer der Digitalisierung kann dies einige Minuten dauern.

Sonst siehe Fehlersuche.

5. Statusvariablen und Profile

Die Statusvariablen/Kategorien werden automatisch angelegt.
Das Löschen einzelner kann zu Fehlfunktionen führen.

Statusvariablen

Ident Name Typ Beschreibung
Timestamp Letzter Lauf int Datum und Uhrzeit vom letzten Lauf
Value Wert float Aktueller Wert
Error Fehler string Fehlermeldung vom Gerät
PreValue Vorheriger Wert float Vorheriger Wert
RawValue Rohwert string Rohwert der Digitalisierung
Offline Offline bool false wenn Gerät offline erkannt wurde

Profile

Name Typ
Gas.m3 float
Water.m3 float

6. Visualisierung

Die direkte Darstellung der Instanz und deren Statusvariablen ist möglich; es wird aber empfohlen mit Links zu arbeiten.
WebFront

7. PHP-Befehlsreferenz

bool AOTED_ReadValues(int $InstanzID);

Liest die aktuellen Werte aus und schreibt das Ergebnis in die Statusvariablen.
Liefert true bei Erfolg und false im Fehlerfall.

Beispiel:

AOTED_ReadValues(12345);


bool AOTED_LoadImage(int $InstanzID);

Liest das Bild der letzten Digitalisierung aus.
Liefert true bei Erfolg und false im Fehlerfall.

Beispiel:

AOTED_LoadImage(12345);


bool AOTED_StartFlow(int $InstanzID);

Sendet einen Start Flow Befehl an das Gerät und triggert somit das digitalisieren und auslesen der Werte.
Liefert true bei Erfolg und false im Fehlerfall.

Beispiel:

AOTED_StartFlow(12345);


8. Fehlersuche

  • Die Instanz wird nicht aktiv.
    • Prüfe ob der Webhook im Gerät korrekt eingerichtet wurde.
    • Vergleiche den API-Key in der Instanz und im Gerät.
    • Öffne den Webhook in einem Browser um zu testen ob Symcon erreichbar ist (anklicken).
    • Wurden entsprechend der eingestellten Minuten des Auto Timer vom Gerät gewartet? Das Gerät senden die Daten nur nach einem Flow.
  • Ich habe mehrere Geräte …
    • Lege pro Gerät eine Instanz in Symcon an. Beachte das die URL des Webhook sind unterscheiden werden.
  • Warum steht bei Host der falsche Name?
    • Der Hostname wird automatisch beim ersten Verbinden ermittelt. Sollte sich der Name ändern oder hier eine fest IP-Adresse gewünscht sein, so kann die Adresse über den Button Adresse überschreiben angepasst werden.
  • Die Buttons im Testcenter funktionieren nicht. Ich bekomme eine Fehlermeldung.
    • Dann enthält das Feld Host noch keine Adresse vom Gerät. Entweder warten bis die Instanz aktiv wird, oder manuell eine Adresse eintragen.
  • Hilfe es werden falsche Werte gelesen.
    • Das Modul kann nur die Empfangenen werte darstellen. Ein FAQ für Fehler beim erkennen sind auf der Seite von jomjol zu finden

9. Anhang

1. Changelog

siehe nächster Beitrag

2. Spenden

Die Library ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:

Wunschliste

10. Lizenz

IPS-Modul:
CC BY-NC-SA 4.0

Changelog

Version 1.00:

  • Beta Release für Symcon 7.1

Natürlich kann man die Geräte auch per MQTT einbinden, aber ich habe mich hier um die REST-API und Webhook gekümmert :wink:
Michael