Alternative Methode zum Auslesen von Zählern (Wasseruhr, Gaszähler etc)

Begonnen von eki, 02 November 2020, 17:25:39

Vorheriges Thema - Nächstes Thema

frober

Gezackt oder glatt ist, glaube ich, nicht das Problem.
Zuviel Kleber erhöht das Risiko, dass dieser ins Gewinde zieht. Bei mir es nur ein Tropfen oberflächlich.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

SusisStrolch

Kann man das Bild auch auf X- oder Y-Achse spiegeln?
Ich überlege das Modul für meinen Stromzähler zu verwenden, habe aber keine 10cm Freiraum.
Dachte an einen Spiegel mit 45• Winkel vorm Zähler.
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

eki

Spiegeln geht, beim Alignment des Referenzbildes gibt es eine Option "Mirror image", habe ich aber noch nicht ausprobiert.

Wetterhexe

Ich habe mich mal drüber gewagt und das nachgebaut ... war dank toller Dokus recht einfach. Das schwierigste war Befestigungen für Wasser- und Gaszähler zu bauen. Aber auch das ist mittlerweile erledigt. Die beiden cams verrichten seit zwei Tagen Probebetrieb, nach anfänglichen hoppala's läufts aber mittlerweile recht rund und zuverlässig.

Zum Thema spiegeln: ich habe das für den Gaszähler verwendet, da sitzt ein 45° Spiegel davor, die Kamera liest das Bild von oben - klappt wunderbar (siehe Bild).

Speziell beim Gaszähler hatte ich ein unerwartetes Problem: dort gibts ja keine analogen Rundskalen wie bei der Wasseruhr. Das setup weist sogar darauf hin, wenn man keine hat soll man alle ROI's dafür löschen. Das klappt jedoch nicht, weil der Assistent einen dann nicht weiter läßt. Hat das jemand vlt. schon gelöst und kann mir einen Hinweis geben? Im Moment arbeite ich mit einem workaround, funktioniert zwar, aber schön ists nicht.

eki

Kannst Du die Analog-ROIs nicht direkt in der Config löschen?

Wetterhexe

#125
Zitat von: eki am 21 Dezember 2020, 08:37:26
Kannst Du die Analog-ROIs nicht direkt in der Config löschen?
doch, aber dann läuft die Erkennung gar nicht los :(
Ich hab einige Varianten versucht ... die komplette analog section löschen, die section Überschrift lassen und nur die ROI Definitionen löschen, die Zählerdefinition rein/raus ... hat leider alles nicht geholfen


Wetterhexe

Zitat von: eki am 21 Dezember 2020, 14:47:25
Vielleicht hilf das ja: https://github.com/jomjol/AI-on-the-edge-device/issues/72
danke für den link ... ganz versteh ich die Lösung allerdings nicht :'(
naja ich werd nochmal ein bischen experimentieren, vlt. klappts doch irgendwie. Für den Moment lebe ich ganz gut mit dem workaround

jomjol

  Hallo wetterhexe, hallo eki,

ich bin der Autor des Wasserzaehlers. Ich habe auch schon an anderer Stelle gelesen, dass es für Gaszähler eine einfache Möglichkeit zum Abschalten der analogen Zeiger geben sollte. Ich habe mir selbst mal einen Issue in GitHub erzeugt, damit das nicht verloren geht:
https://github.com/jomjol/AI-on-the-edge-device/issues/74

Momentan arbeite ich gerade an einem anderen Thema, daher komme ich nicht kurzfristig dazu.

Beste Grüße,
  jomjol

CQuadrat

Mal an die Hardware-Experten hier:

Gibt es etwas Vergleichbares auch mit LAN-Anschluss?
Oder lässt sich an den ESP auch irgendwie ein (kabelgebundener) LAN-Anschluss anbinden?
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

McShire

Zitat von: jomjol am 03 November 2020, 22:29:29
Hi,
ich bin der Autor des "AI-on-the-edge" devices. Ich freue mich sehr, wenn es weitere Verbreitung findet.

Folgender Hinweis noch zu den "N": es gibt eine eingebaute Logik, die bei diesen undefinierten Zwischenwerten das "N" durch einen plausibiliserten Wert aus der vorher gültigen Auswertung ersetzt. Dieser Wert wird als "PreValue" auf die SD-Karte abgespeichert und übersteht daher auch einen Reboot. Gleichzeit ist auch eine Logik integriert, die auf Konsiszenzen prüft. Eigentlich bedarf es daher keines externen Scripts.
Stehe für Rückfragen und Details zur Konfiguration gerne zur Verfügung.
Beste Grüße,
  jomjol

Hallo jomjol,

ich habe mir das benötigte Material besorgt und möchte nun den Wasserzaehler gerne nachbauen.
Leider bin ich in der github Struktur unerfahren und auch in FHEM in dieser Tiefe nicht sehr bewandert,
habe aber schon einiges in FHEM auf dem Raspi3B gemacht (Selbstbau CULs für MAX!, Homematic, Signalduino, mit AsksinPP einiges
Rolladensteuerung, Entertain mi MR401, und ein paar andere). Und einiges auf dem ESP32 NodeMCU mit der ArduinoIDE auch programmiert.

Zur Software für den Wasserzähler brauche ich jedoch eine Menge Unterstützung, da ich vieles nicht weiß oder nicht verstehe.
Das fängt schon bei den Vorbereitungen an.
Woher bekomme ich das Image, dass ich auf die SD-Card übertragen muss, ich nehme an mit einem Windows Image Writer?
Woher bekomme ich den Code, den ich in den ESP32 flashen muss?
Kann ich das auch über die ArduinoIDE machen (PlatformIO habe ich nicht und kann ich auch nicht bedienen), Zur Not kann ich
Esspressif installieren und verwenden.
Gibt es eine Anleitung, die ich als Laie verstehe oder darf ich Dich mit den einzelne Fragen, so naiv diese auch klingen, jeweils um Rat fragen?

Viele Grüße
Werner

McShire

Hallo jomjol,
ich habe jetzt mal platformIO installiert.
Da muss ich noch viel üben, aber ich glaube damit könnte ich mich anfreunden. Ist doch viel professioneller als Arduino IDE und Espressive.
Viele Grüße
Werner

Frank_Huber

Morgen Werner,
Auf der Wiki Seite im Github ist die Installation detailliert erklärt.
Inkl fertiger bin Dateien.
Grüße
Frank

Accureve

Hallo und danke auch an Jomjol!

ich nutze zum Auslesen ein HTTPMOD - hier die RAW-Definition:
defmod Wasserzaehler HTTPMOD http://x.x.x.x/setPreValue.html 180
attr Wasserzaehler userattr reading01Name reading01Regex
attr Wasserzaehler oldreadings Zaehlerwert
attr Wasserzaehler reading01Name Zaehlerwert
attr Wasserzaehler reading01Regex ([0-9\.]+)HTTP
attr Wasserzaehler stateFormat {sprintf("Zählerwert %.4f m³ / Diff %.1f l", ReadingsVal("Wasserzaehler","Zaehlerwert",0), (ReadingsVal("Wasserzaehler","Zaehlerwert",0) - ReadingsVal("Wasserzaehler","alterWert",0))*1000 )}
attr Wasserzaehler timeout 30
attr Wasserzaehler userReadings alterWert { OldReadingsVal("Wasserzaehler","Zaehlerwert",0) }


Ich habe bei meiner Linse keinen Kleber entfernt - mit einer Spitzzange habe ich die Linse mit anfänglichem größeren Widerstand um die empfohlene Vierteldrehung gegen den Uhrzeigersinn drehen können (https://www.amazon.de/gp/product/B081L95PQ6).

@CQuadrat: LAN-Anbindung sollte funktionieren - hier eine Idee: https://www.arduinoforum.de/arduino-Thread-ESP32-Ethernet?pid=55284#pid55284
@McShire: Am besten die Anleitung durcharbeiten - klappt ganz gut :-) https://github.com/jomjol/AI-on-the-edge-device/wiki
3 Anmerkungen zur Installation:

  • Einfache Schaltung für Erstdownload (Alternativ zur Anleitung von Jomjol): https://www.fambach.net/esp32-cam-modul/
  • Falls das Gerät nicht erkannt wird: Im Gerätemanager prüfen -> Installation der benötigten Treiber ggf. über Windows Update (Optionale Updates)
  • Falls keine Verbindung möglich ist -> Neustart mit angehängter USB-TTL/UART-Schnittstelle

@Wetterhexe: Führe die Konfiguration durch - die überflüssigen ROIs kannst du nach der Initalkonfiguration löschen (Webseite -> "Configuration" -> "Regions of interest (ROI)" -> "Analog ROIs" -> "Delete ROI"). Alternativ auch über die config.ini (Webseite -> "Configuration" -> "Edit Configuration" -> "Expertenmodus" -> "Edit Config.ini direct")

Gruß

Wetterhexe

Zitat von: Accureve am 03 Januar 2021, 22:55:58
@Wetterhexe: Führe die Konfiguration durch - die überflüssigen ROIs kannst du nach der Initalkonfiguration löschen (Webseite -> "Configuration" -> "Regions of interest (ROI)" -> "Analog ROIs" -> "Delete ROI"). Alternativ auch über die config.ini (Webseite -> "Configuration" -> "Edit Configuration" -> "Expertenmodus" -> "Edit Config.ini direct")
ich hab schon geschrieben daß das nicht funktioniert (mit v5.0.0) ... hier: https://forum.fhem.de/index.php/topic,115506.msg1112802.html#msg1112802

Seit kurzem gibts ja v6.0.0, die das angeblich kann ... werd ich mir mal ansehen