AI-on-the-Edge ablösen durch KI?

Hi zusammen,

Lange lief es wunderbar mit AI-on-the-Edge um den wasserzähler zu tracken.
Aber immer wieder gibt es phasenweise massiv Probleme mit Zahlen wie 6,9,0,8,3

Mein Plan ist es jetzt per KI das Bild der Kamera auszuwerten.
Dazu zb mit Claude, Gemini etc in HA auf die URL der Live-esp Cam zugreifen und dann den Stand auszuwerten.

Jemand so eine Umsetzung schon gemacht?
Wenn ja, wie würde man damit anfangen?

ist das ein digitaler Zähler? Lässt sich der nicht besser anders auswerten? (per Funk, WMBUS etc.)

Das wäre dann wesentlich sinnvoller als KI drauf zu werden.

2 „Gefällt mir“

Jop, leider gibt der Betreiber den PIN nicht heraus…

Die Umsetzung hängt sehr davon ab, wie technisch aufwendig Du es gestalten willst und kannst.

Um es extrem simpel zu halten … Ich weiß, dass ChatGPT (und vermutlich die anderen entsprechend) inzwischen auch im Browser deutlich mehr agentisch werden. Damit kann man auch direkt wiederkehrende Aufgaben einrichten …

In einem ersten Schritt wäre es also möglich der KI zu sagen die URL im Intervall X abzurufen, die Zahl auszulesen und (nur) diese an Dein gewünschtes Ziel zu übermitteln …

E-Mail, API, Webhook… Das liegt dann wieder bei Dir.

Genau so kann man natürlich automatisiert direkt gegen die KI API arbeiten … Wahlweise auch das vorherige Ergebnis, Zeitpunkt und durchschnittlichen Verbrauch mit senden, um Fehler zu erkennen.

Die massiven Probleme habe ich auch. Schade, die Anwendung nennt sich „AI“ on the Edge. Eine wirkliche AI hängt aber aus meiner Sicht nicht dahinter, da geht heute wesentlich mehr…

Die Ausrichtung der Kamera, die Festlegung der Digits, das ist alles Millimeterarbeit. Sobald es eine Erschütterung gibt, ist alles verstellt. Eine KI sollte heute in der Lage sein, ein einziges Bild mit den entsprechenden Werten zu interpretieren und in einen Zahlenwert zu übersetzen. Ohne das ganze Gefummel…

Den Ansatz, chatGPT oder andere Modelle mit der Interpretation und Umwandlung der Rohdaten zu beauftragen, finde ich gut. Nur das wird mit kostenlosen und regelmäßigen Abfragen im Minutenbereich nicht darstellbar sein. Genau so die Fragestellung wie die Abfrage innerhalb der gesicherten Umgebung stattfindet → das müsste sich alles lokal am HA Server abspielen, um halbwegs sicher zu sein.

Ähnlich wie bei dem SFML-Projekt, was komplett lokal läuft, müsste sowas gebaut werden :slight_smile:

Du sprichst von LLM … Das Feld ist dann doch mal deutlich weiter …

1 „Gefällt mir“

Um zu häufige Anfragen zu umgehen reicht es mir alle 15 min oder gar 30min.

Habe es jetzt mit Gemini so weit, dass ein Bild der Kamera ausgewertet wird und mir auf eine variable schreiben kann.

Leider krieg ich die ESP32 cam vom AIONTHEEDGE Projekt nicht als generic cam in HA.

Konnte jetzt einen kleinen Workaroud machen.

Mit dem Link unten kommt man beim AIontheedge Projekt auf das geschossene rohbild.

192.168.178.132/img_tmp/alg.jpg

Man muss natürlich seine eigene Ip nehmen.

Diesen Link kann man dann als generic cam I’m HA eintragen und erhält dann das Bild als Kamera Standbild.

Damit kann gemini KI dann das kamerabild auswerten und den Zählerstand ausgeben.
So wird quasi AIontheedge nurnoch genutzt um ein rohbild zu fotografieren, in HA liegt dieses als generic cam vor und wird dann ausgewertet

Du weißt schon, dass das gegen den EU Data Act verstößt. Zählerdaten müssen zugänglich sein, da persönliche Daten!

Sind doch zugänglich - das Display ist nicht versteckt.

Es geht um den PIN um den Zähler per Funk auszulesen….

Kannst du noch mal erklären, wie du dann mit Gemini weiter im HA vorgegangen bist?

Wie oft sind diese Abfragen möglich und wie genau bildest du das ab?

Ich lese mich gerade in das Thema ein, mein digitaler Zähler ist nämlich heute gekommen. Soweit ich es bisher verstanden habe gibt es auch ohne den Pin zumindest abgespeckt Daten zu empfangen. LoRaWAN oder wM-Bus, bei einem von beiden hatte ich gelesen das es auch ohne Pin Daten gibt.

Ganz so einfach würde ich das nicht abschmettern. Eine digitale Wasseruhr erfasst ggf. Viel mehr als nur den Verbrauch. Wenn alle Daten dem Nutzer zur Verfügung stehen müssen, dann muss es auch Wege zur Nutzung geben.

1 „Gefällt mir“

Das weiss ich schon, ist im Data Act genau definiert was zur Verfügung gestellt werden muss!

Das ist natürlich nicht ausreichend und auch nicht so vorgesehen.

Ohne PIN geht üblicherweise nichts.

Hört sich interessant an. Mich ärgert AIontheEdge auch mit den ungenauen Werten. Immer wieder nachjustiert, trotzdem.

Ich frag mal die KI, wie sie mit dem genannten Ansatz mit der IP auf das Bild zuzugreifen dann weiter arbeiten kann. Da wäre ich sogar so frei, meinen Bild-Zählerstand OpenAI und Co zu schicken (aber sonst nix​:nerd_face:)

Gruss

Josch

Hallo zusammen

Mich hats lange kalt gelassen, aber die doch immer wieder falschen Werte nerven schon ganz schön.

Ich habe die Kamera so positioniert gehabt, dass sie von unten fotografiert hat, da ich nicht mit zusätzlichem Licht arbeiten wollte und weil es sonst reflektionen gabe. Polfilter hat geholfen, aber nicht gut genug. Und dann hat man mit schräger Kamera erst recht Theater mit den Zahlen, da der unterste Teil nicht sichtbar ist. Ich hatte 2 AI on the Edge, 1x Gas und 1x Wasser.
Die KI Variante ist meines Erachtens eine Super Idee, aber das wollte ich so nicht umsetzen.

Die Technischen Betriebe haben eine Fernablesung. Da ist der M-Bus fix verkabelt. Kein wM-Bus. Und dann habe ich die KI mal etwas zu Hilfe genommen.

Kurz: Ich lese via eines ESP32 den M-Bus aus und stelle die Zahlen in HA via MQTT rein. Fertig. Zuverlässig. Sauber. Kein Theater mehr.

Dafür wurden von der KI 4 Dateien gemacht, die ich via esphome kompiliert und geflasht habe.
(Ja, schon wieder hat die KI ein Programm für mich gemacht, was funktioniert, und ich so nie im Leben hingekriegt hätte, und das in der kurzen Zeit.)

Es ist etwas komplizierter mit den Modulen. Da ich einen M-Bus Slave genommen habe um am M-Bus zu “sniffen” und dann damit auch pollen wollte, da war das Modul nicht geeignet für. So musste ein M-Bus Master her.
Aber da der Elektrozähler der Technischen Werke schon der Master ist, geht es nicht, 2 Master zu haben. Die Werke pollen um Mitternacht. (Weiss ich vom “sniffen”)
Somit habe ich ein 2 Poliges Relais, welches um 23.45 - 00:15 zieht und den M-Bus der Werke schaltet, und sonst ist stromlos und immer mein Bus aktiv. Ich polle minütlich.
Ach ja, der Master muss mit 36V gespiesen werden. Ich habe ein Netzteil mitbestellt, aber dann mal versucht, ob das auch geht, indem ich den M-Bus der Werke als Speisung nehmen kann. Das geht in meinem Fall. Der Bus der Werke hat wohl nur 25V. Aber eben, es geht.

[22:36:38.664][D][mbus:504]: 68 1B 1B 68 08 01 72 19 10 70 14 E6 1E 3C 07 86

[22:36:38.664][D][mbus:504]: 00 00 00 0C 78 19 10 70 14 0C 13 89 25 23 01 17

[22:36:38.664][D][mbus:504]: 16

[22:36:38.664][I][mbus:314]: Frame #2: L=27 C=0x08 Adr=1 CI=0x72 CS=OK

[22:36:38.664][I][mbus:333]: ↑ RSP_UD ← Slave 1

[22:36:38.671][I][mbus:343]: Serial: 14701019

[22:36:38.677][I][mbus:351]: Hersteller: GWF | Medium: Wasser | Status: 0x00

[22:36:38.687][D][mbus:441]: DIF=0x0C VIF=0x78 val=14701019

[22:36:38.688][I][mbus:411]: >>> WASSER: 1232.589 m3

[22:36:38.692][I][mbus:287]: ✓ Daten von Adresse 1

[22:36:38.722][I][mbus:160]: NKE → Adr 3

[22:36:38.861][I][mbus:273]: Frame #3: ACK ← Slave (0xE5)

[22:36:38.865][I][mbus:276]: ACK erhalten — sende REQ_UD2

[22:36:38.872][I][mbus:177]: REQ_UD2 → Adr 3

[22:36:39.171][D][mbus:504]: 68 1B 1B 68 08 03 72 53 14 01 21 E6 1E 36 03 86

[22:36:39.172][D][mbus:504]: 00 00 00 0C 78 53 14 01 21 0C 14 89 90 62 01 72

[22:36:39.172][D][mbus:504]: 16

[22:36:39.172][I][mbus:314]: Frame #4: L=27 C=0x08 Adr=3 CI=0x72 CS=OK

[22:36:39.172][I][mbus:333]: ↑ RSP_UD ← Slave 3

[22:36:39.172][I][mbus:343]: Serial: 21011453

[22:36:39.172][I][mbus:351]: Hersteller: GWF | Medium: Gas | Status: 0x00

[22:36:39.178][D][mbus:441]: DIF=0x0C VIF=0x78 val=21011453

[22:36:39.178][I][mbus:420]: >>> GAS: 6290.890 m3

[22:36:39.178][I][mbus:287]: ✓ Daten von Adresse 3

[22:36:39.197][I][mbus:200]: Poll abgeschlossen

[22:36:39.225][I][mbus:201]: Wasser: 1232.589 m3

[22:36:39.225][I][mbus:202]: Gas: 6290.890 m3

So müsste das gehen.
Läuft seit heute Abend.

Ich hoffe, es hilft jemandem weiter. Wenn die M-Bus geräte ohne Fernablesung verbaut sind, dann braucht man das Relais nicht, dann baut man sich einfach selbst einen Master und dann pollt man wie man will.

Komponenten:
M-Bus: MIKROE-3880, M-Bus Master Click (Distrelec.ch)
ESP32: ESP32-Dev Kit mit USB C (Braucht UART (RX/TX), GPIO für Relais) (Distrelec.ch)
Relais: SunFounder TS0010D (von Digikey.ch)
Netzteil 36V für den M-Bus: TRE36A360-01E03 VI (von Digikey.ch)