NEWS
Wasserzähler - Selfmade
-
@pfried das ist wohl die neue Logik dass der Zählerstand niemals kleiner werden darf. Dadurch dass der Stand 400.9779 größer ist (auch wenn er falsch interpretiert wurde), ist jetzt dein richtiger Wert falsch (weil kleiner). Probier mal mit http://deineIP:3000/setPreValue.html?value=00400.5251 den alten richtigen Wert zu setzen.
-
@jomjol wie kann ich sicher sein dass ich die aktuellste Version von dir habe bzw. was muss ich tun um den neuen Stand zu bekommen? Achtung ich verwende nicht dein Docker-Image...
Wollte nämlich vorhin den Anfangsstand über http://192.168.1.38:3000/setPreValue.html?value=00089.8694 setzen, bekomme aber als Antwort: Die Website ist nicht erreichbar
-
@watcherkb Danke für Deine Aufklärung. Ich habe darauf nochmals in die config.ini geschaut, da kann man auch negative Werte zulassen, damit korrigiert der Wasserzähler auch nach unten, aber jetzt hupfen die Werte lustig rauf und runter .....
Eine Frage an Dich, kennst Du Dich mit dem Parser aus? Wenn ja, wie kann ich zu einer Zahl kommen? Jetzt bekomme ich mit:
[N|0-9][N|0-9][N|0-9][N|0-9][N|0-9]\D\d\d\d\d
Immer einen Wert z.b.: 00400 5515
Also ohne ein Komma dazwischen.
Liebe Grüße
Paul -
@pfried deine 5 Zahlen (m3) sehen anders aus als die von @jomjol aber ähnlich den meinen. Ich sammle schon ein Stück (0,1,2,3,4,8,9) habe ich schon. Sobald ich alle Zahlen zusammen habe, schicke ich die Grafiken jomjol und hoffe, dass dann die Erkennung besser klappt. Die analogen Zeiger werden bei mir recht gut erkannt.
-
@pfried kenne mich nicht aus, aber schau mal hier. Da wird es per Blockly umgerechnet.
https://forum.iobroker.net/topic/23577/wasserzähler-selfmade/230 -
@watcherkb Meinst Du das Programm was in dem Beitrag angeführt wird. Wenn Ja, wo setzt man das ein?
-
@Knallochse Ok, versuche die Zahlen 5, 6 und 7 zu bekommen. Wir haben in unserer Straße alle dieselben Wasserzähler.
-
@pfried das musst du im Blockly importieren (nur den Inhalt der txt).
-
@pfried, @watcherkb
Hallo Paul, hallo watcherkb,die Zeiger eurer Wasseruhr sehen anders aus, wie bei mir. Damit ist klar, dass die neuronale Bilderkennung damit erstmal nicht zurecht kommt, da sie darauf nicht trainiert ist. D.h. man muss das neuronale Netz darauf trainieren. Wenn ihr Background in Python und Keras/Tensorflow habt, dann könnt ihr das selber tun. Dazu müsst ihr pro Zeiger ca. 100 Bilder mit dem richtigen Wert labeln, möglichst gleich verteilt auf die unterschiedlichen Werte (ja es ist Arbeit!):
Die Anleitung findet ihr hier:
- https://github.com/jomjol/neural-network-analog-needle-readout
- https://github.com/jomjol/neural-network-analog-needle-readout/tree/master/Train-CNN_Analog-Needle-Readout
- https://github.com/jomjol/neural-network-analog-needle-readout/blob/master/Train-CNN_Analog-Needle-Readout/CNN_Version2.md
Ich kann euch da unterstützen und das Training in meinem System probieren, wenn ihr mir die Bilder von den Zeigern schickt.
-
@watcherkb Die aktuelle Version ist bei mir eigentlich nur im Docker mit der Version "rolling", da ich es so in meinem System direkt verwende. Den letzen veröffentlichten Code findest du aber jeweils in Github:
setPreValue ist dort eigentlich auch implementiert. Lass mal die "0" am Anfang weg (... value=89.8694).
-
@jomjol ok danke für die Aufklärung.
Ich habe mir nochmal den mster angeschaut und keine Unterschiede zu meinem Stand gefunden. Trotzdem kann ich setPreValue nicht ausführen. Gleicher Fehler.Ich habe aber alles nochmal neu ausgerichtet und eingestellt. Erkennung ist schon besser geworden. Ich beobachte weiter.
Hab ich das richtig verstanden dass ich die neuen Werte nur über den Parser-Adapter triggern kann oder habe ich irgendwas übersehen? Würde z.B. alle 5 Minuten auswerten lassen.
-
@watcherkb Kommisch mit dem setPreValue. Muss ich nochmal schauen, ob der hochgeladene Code tatsächlich der letzte Stand ist.
Ja und du hast Recht, das Timming wird über die Abfrage selbst, also z.B. Parser-Adapter getriggert.
-
@jomjol Kann man das logging gänzlich ausschalten?.... ich habe gerade eben 157000 Dateien gelöscht
Ich starte den Parser alle 15 Sekunden, hatte vor einem Monat einen Wasserrohrbruch im Haus, deshalb meine Anstrengungen bzgl Wasserzähler (da sind in 5 Minuten bereits einige tausend Liter ausgetreten) -
@pfried Ja kannst du. Du musst in Config.ini die Location für die Logfiles auskommentieren (LogImageLocation in [Imagesource], [Digital_Digit], [Analog_Counter]) mittels "#" auskommentieren.
ACHTUNG: es gab noch einen Fehler im Code, so dass er dann nicht gestartet ist. Ist im neueste Rolling und code korrigiert.
-
@jomjol @watcherkb Kann man diese Sprünge im Auslesen durch trainieren wegbekommen?
Derzeit läuft ohn: AllowNegativeRates=True
-
Hallo Zusammen
ich verfolge das Projekt jetzt schon länger, hab auch schon die CAM am laufen.
Da ich keine Erfahrung mit Docker hab, halte ich mich mit der weiteren Installation erst mal zurück.Nachdem es anscheinend jetzt aber auch mit einem PI geht hab ich aber trotzdem schon mal eine Frage.
Ich verwende einen PI 3 mit ioBroker als zweite Instanz drauf. Der Haupt-ioBroker-Server (Rock64 4Gb) läuft im Keller und somit zu weit weg von den BLE-Sensoren.
Aus dem PI 3 läuft nur der SMA und der BLE Adapter.Wird es möglich sein die Wasseruhr-Funktion hier noch parallel auf dem PI3 laufen zu lassen oder brauch ich dafür einen zusätzlichen PI?
Gruß Peer
-
@pfried probier mal bei ErrorReturn=OldValue
-
@jomjol
Never Change a running system...
Habe nun mein System auf die letzte Version gebracht und bei Start via:Python3 wasseruhr.py
kommt nun:
Ich habe aber sonst nichts geändert....
-
Update: Habe nochmals alle Steps von der Github Seite:
https://github.com/jomjol/water-meter-system-complete/tree/Raspberry-V3
durchgeführt. Alle Pakete waren bereits installiert ..... Fehlerbild wie oben beschrieben.
-
@pfried Fehler in ReadAnalogNeedle (&ReadDigitalDigits) - einfach zu viele Versionen aktuell. Die erste Zeile "import keras" muss auskommentiert werden --> "#import keras".
Ich habe eine aktualisierte Version hochgeladen. Hoffe es funktioniert jetzt