NEWS
Wasserzähler - Version 2 - all-in-device
-
@pfried Vermutlich musst du wie ich die gültige PreValue-Zeit (PreValueAgeStartup=30min?) in der config.ini höher setzen. Wenn aus irgendwelchem Grund ein "Fehler" länger als 30min ausgegeben wird (z.B. rate too high oder negative rate) und dann der ESP automatisch rebootet, wird der Pre-Value-Wert nicht mehr "als gültig" gewertet.
Bei meinem Zähler ist es so, dass zum Beispiel die Ziffer 9 bereits erkannt wird, aber der Wert eigentlich immer noch 8 ist. Dieser sprunghafte Anstieg wird mit dem Parameter "MaxRateValue" abgefangen und kann bei mir gut und gerne und je nach Wasserverbrauch mehrere Stunden anstehen.
Meine aktuelle Einstellung in der config.ini ist "PreValueAgeStartup=1440", also ganze 24h! Vielleicht zu lange, habe aber noch keinen Nachteil gefunden...bis jetzt
-
@jomjol irgendwie läuft das Teil nach einem Reboot eine Zeit lang recht gut, dann geht wieder nichts mehr. Hast du ne Idee warum?
2020-10-22_01-33-34: ============================== Main Started ======================================= 2020-10-22_01-33-38: task_autodoFlow - next round 2020-10-22_01-33-38: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_01-33-44: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_01-34-15: FlowControll.doFlow - ClassFlowDigit 2020-10-22_01-34-32: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_01-35-29: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_01-35-29: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_01-35-29: sent publish successful in MQTTPublish, msg_id=41264, watermeter/readout, 598.2762 2020-10-22_01-35-29: task_autodoFlow - round done 2020-10-22_01-35-29: CPU Temperature: 56.7 2020-10-22_01-38-29: task_autodoFlow - next round 2020-10-22_01-38-29: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_01-38-35: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_01-39-06: FlowControll.doFlow - ClassFlowDigit 2020-10-22_01-39-23: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_01-40-20: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_01-40-20: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_01-40-20: sent publish successful in MQTTPublish, msg_id=47430, watermeter/readout, 598.2762 2020-10-22_01-40-20: task_autodoFlow - round done 2020-10-22_01-40-20: CPU Temperature: 56.1 2020-10-22_01-43-20: task_autodoFlow - next round 2020-10-22_01-43-20: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_01-43-26: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_01-43-57: FlowControll.doFlow - ClassFlowDigit 2020-10-22_01-44-15: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_01-45-11: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_01-45-11: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_01-45-11: sent publish successful in MQTTPublish, msg_id=28225, watermeter/readout, 598.2762 2020-10-22_01-45-12: task_autodoFlow - round done 2020-10-22_01-45-12: CPU Temperature: 56.7 2020-10-22_01-48-11: task_autodoFlow - next round 2020-10-22_01-48-12: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_01-48-17: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_01-48-48: FlowControll.doFlow - ClassFlowDigit 2020-10-22_01-49-05: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_01-50-02: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_01-50-03: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_01-50-03: sent publish successful in MQTTPublish, msg_id=3711, watermeter/readout, 598.2762 2020-10-22_01-50-03: task_autodoFlow - round done 2020-10-22_01-50-03: CPU Temperature: 57.8 2020-10-22_01-53-03: task_autodoFlow - next round 2020-10-22_01-53-03: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_01-53-08: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_01-53-40: FlowControll.doFlow - ClassFlowDigit 2020-10-22_01-53-57: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_01-54-54: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_01-54-54: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_01-54-54: sent publish successful in MQTTPublish, msg_id=2600, watermeter/readout, 598.2762 2020-10-22_01-54-54: task_autodoFlow - round done 2020-10-22_01-54-54: CPU Temperature: 53.3 2020-10-22_01-57-54: task_autodoFlow - next round 2020-10-22_01-57-54: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_01-57-59: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_01-58-30: FlowControll.doFlow - ClassFlowDigit 2020-10-22_01-58-48: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_01-59-44: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_01-59-44: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_01-59-45: sent publish successful in MQTTPublish, msg_id=8537, watermeter/readout, 598.2762 2020-10-22_01-59-45: task_autodoFlow - round done 2020-10-22_01-59-45: CPU Temperature: 58.3 2020-10-22_02-02-45: task_autodoFlow - next round 2020-10-22_02-02-45: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-02-50: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-03-21: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-03-39: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-04-35: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-04-35: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-04-35: sent publish successful in MQTTPublish, msg_id=28314, watermeter/readout, 598.2762 2020-10-22_02-04-35: task_autodoFlow - round done 2020-10-22_02-04-36: CPU Temperature: 53.3 2020-10-22_02-07-36: task_autodoFlow - next round 2020-10-22_02-07-36: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-07-41: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-08-12: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-08-30: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-09-26: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-09-26: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-09-27: sent publish successful in MQTTPublish, msg_id=48652, watermeter/readout, 598.2762 2020-10-22_02-09-27: task_autodoFlow - round done 2020-10-22_02-09-27: CPU Temperature: 58.3 2020-10-22_02-12-27: task_autodoFlow - next round 2020-10-22_02-12-27: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-12-32: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-13-03: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-13-21: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-14-17: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-14-17: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-14-18: sent publish successful in MQTTPublish, msg_id=21013, watermeter/readout, 598.2762 2020-10-22_02-14-18: task_autodoFlow - round done 2020-10-22_02-14-18: CPU Temperature: 58.3 2020-10-22_02-17-18: task_autodoFlow - next round 2020-10-22_02-17-18: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-17-23: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-17-55: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-18-12: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-19-08: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-19-09: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-19-09: sent publish successful in MQTTPublish, msg_id=16506, watermeter/readout, 598.2762 2020-10-22_02-19-09: task_autodoFlow - round done 2020-10-22_02-19-09: CPU Temperature: 58.3 2020-10-22_02-22-09: task_autodoFlow - next round 2020-10-22_02-22-09: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-22-15: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-22-46: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-23-04: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-24-00: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-24-00: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-24-00: sent publish successful in MQTTPublish, msg_id=63368, watermeter/readout, 598.2762 2020-10-22_02-24-00: task_autodoFlow - round done 2020-10-22_02-24-01: CPU Temperature: 58.3 2020-10-22_02-27-00: task_autodoFlow - next round 2020-10-22_02-27-00: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-27-06: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-27-37: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-27-55: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-28-51: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-28-51: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-28-51: sent publish successful in MQTTPublish, msg_id=51632, watermeter/readout, 598.2762 2020-10-22_02-28-51: task_autodoFlow - round done 2020-10-22_02-28-51: CPU Temperature: 53.3 2020-10-22_02-31-51: task_autodoFlow - next round 2020-10-22_02-31-51: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-31-57: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-32-28: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-32-46: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-33-43: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-33-43: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-33-43: sent publish successful in MQTTPublish, msg_id=57830, watermeter/readout, 598.2762 2020-10-22_02-33-43: task_autodoFlow - round done 2020-10-22_02-33-43: CPU Temperature: 57.8 2020-10-22_02-36-42: task_autodoFlow - next round 2020-10-22_02-36-42: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-36-48: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-37-19: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-37-40: ============================== Main Started ======================================= 2020-10-22_02-37-44: task_autodoFlow - next round 2020-10-22_02-37-44: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-37-50: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-38-21: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-38-39: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-39-35: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-39-35: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-39-36: sent publish successful in MQTTPublish, msg_id=64652, watermeter/readout, 598.2762 2020-10-22_02-39-36: task_autodoFlow - round done 2020-10-22_02-39-36: CPU Temperature: 53.3 2020-10-22_02-42-35: task_autodoFlow - next round 2020-10-22_02-42-35: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-42-41: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-43-12: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-43-30: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-44-26: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-44-26: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-44-27: sent publish successful in MQTTPublish, msg_id=1349, watermeter/readout, 598.2762 2020-10-22_02-44-27: task_autodoFlow - round done 2020-10-22_02-44-27: CPU Temperature: 56.1 2020-10-22_02-47-26: task_autodoFlow - next round 2020-10-22_02-47-26: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-47-32: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-48-03: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-48-20: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-49-17: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-49-17: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-49-17: sent publish successful in MQTTPublish, msg_id=46066, watermeter/readout, 598.2762 2020-10-22_02-49-17: task_autodoFlow - round done 2020-10-22_02-49-17: CPU Temperature: 53.3 2020-10-22_02-52-17: task_autodoFlow - next round 2020-10-22_02-52-17: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-52-23: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-52-54: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-53-12: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-54-09: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-54-09: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-54-09: sent publish successful in MQTTPublish, msg_id=29236, watermeter/readout, 598.2762 2020-10-22_02-54-09: task_autodoFlow - round done 2020-10-22_02-54-09: CPU Temperature: 56.1 2020-10-22_02-57-08: task_autodoFlow - next round 2020-10-22_02-57-08: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_02-57-14: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_02-57-45: FlowControll.doFlow - ClassFlowDigit 2020-10-22_02-58-03: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_02-59-00: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_02-59-00: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_02-59-00: sent publish successful in MQTTPublish, msg_id=56870, watermeter/readout, 598.2762 2020-10-22_02-59-00: task_autodoFlow - round done 2020-10-22_02-59-00: CPU Temperature: 53.3 2020-10-22_03-01-59: task_autodoFlow - next round 2020-10-22_03-02-00: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_03-02-05: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_03-02-37: FlowControll.doFlow - ClassFlowDigit 2020-10-22_03-02-54: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_03-03-51: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_03-03-51: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_03-03-52: sent publish successful in MQTTPublish, msg_id=27144, watermeter/readout, 598.2762 2020-10-22_03-03-52: task_autodoFlow - round done 2020-10-22_03-03-52: CPU Temperature: 53.3 2020-10-22_03-06-51: task_autodoFlow - next round 2020-10-22_03-06-51: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_03-06-56: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_03-07-28: FlowControll.doFlow - ClassFlowDigit 2020-10-22_03-07-45: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_03-08-42: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_03-08-42: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_03-08-42: sent publish successful in MQTTPublish, msg_id=57097, watermeter/readout, 598.2762 2020-10-22_03-08-42: task_autodoFlow - round done 2020-10-22_03-08-42: CPU Temperature: 53.3 2020-10-22_03-11-42: task_autodoFlow - next round 2020-10-22_03-11-42: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_03-11-47: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_03-12-18: FlowControll.doFlow - ClassFlowDigit 2020-10-22_03-12-36: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_03-13-33: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_03-13-33: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_03-13-33: sent publish successful in MQTTPublish, msg_id=41003, watermeter/readout, 598.2762 2020-10-22_03-13-33: task_autodoFlow - round done 2020-10-22_03-13-33: CPU Temperature: 54.4 2020-10-22_03-16-33: task_autodoFlow - next round 2020-10-22_03-16-33: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_03-16-38: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_03-17-10: FlowControll.doFlow - ClassFlowDigit 2020-10-22_03-17-28: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_03-18-24: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_03-18-25: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_03-18-25: sent publish successful in MQTTPublish, msg_id=51456, watermeter/readout, 598.2762 2020-10-22_03-18-25: task_autodoFlow - round done 2020-10-22_03-18-25: CPU Temperature: 53.3 2020-10-22_03-21-24: task_autodoFlow - next round 2020-10-22_03-21-24: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_03-21-29: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_03-25-53: FlowControll.doFlow - ClassFlowDigit 2020-10-22_03-25-53: ClassFlowDigit::doAlignAndCut not okay! 2020-10-22_03-25-53: Fehler im vorheriger Schritt - wird zum 1. Mal wiederholt 2020-10-22_03-25-53: FlowControll.doFlow - ClassFlowMakeImage 2020-10-22_03-25-58: FlowControll.doFlow - ClassFlowAlignment 2020-10-22_03-26-30: FlowControll.doFlow - ClassFlowDigit 2020-10-22_03-26-47: FlowControll.doFlow - ClassFlowAnalog 2020-10-22_03-27-44: FlowControll.doFlow - ClassFlowPostProcessing 2020-10-22_03-27-44: FlowControll.doFlow - ClassFlowMQTT 2020-10-22_03-27-45: sent publish successful in MQTTPublish, msg_id=56652, watermeter/readout, 598.2762 2020-10-22_03-27-45: task_autodoFlow - round done 2020-10-22_03-27-45: CPU Temperature: 53.3 2020-10-22_22-09-32: download_get_handler 2020-10-22_22-09-38: handler_wasserzaehler 2020-10-22_22-09-38: handler_wasserzaehler 2020-10-22_22-09-38: handler_prevalue 2020-10-22_22-09-50: download_get_handler 2020-10-23_10-40-02: handler_wasserzaehler 2020-10-23_10-40-02: handler_wasserzaehler 2020-10-23_10-40-02: handler_prevalue 2020-10-23_10-40-14: download_get_handler
-
@michaeljoos Hi Michael,
danke für die Erklärung - ist genau so.
Das Thema mit der "zu früh" erkannten Ziffer (also z.B. die 9), obwohl die Ziffer vorher noch keinen Nulldurchgang hatte, ist mit der neuesten Rolling abgefangen. -
@coyote Der Fehler ist mir neu! Sieht so aus, als ob die automatische Abfrageschleife komplett hängen geblieben ist. Hatte ich noch nie. Wie oft kommt das bei dir vor?
-
@jomjol hm okay, also seit die rolling drauf ist und ich auf mqtt umgestellt habe schon 3 mal. Läuft so seit 3 Tagen
-
Hallo, habe mich heute auch mal damit beschäftigt und muss ein ganz großes Lob aussprechen.
Bin zwar eher der Handwerker und weniger der Programmierer aber scheinbar hat bis auf ein paar Kleinigkeiten alles geklappt.
Mit dem flash_download_tool_v3.8.5 und der beschriebenen Vorgehensweise hatte ich anfangs keinen Erfolg.
Habe dann die 5V abgeklemmt und nur über die 3,3V (4wire) probiert.
Zuerst kamen dann Seitenweise immer ...._ und nach einiger Zeit hab ich dann abgebrochen.
Der Taster wie in der Anleitung hat scheinbar bei meinem CAM Modul auch nicht gewirkt.
Dann hab ich Anstecken nach dem Start versucht und siehe da er hat das Modul beschrieben und die Grundfunkton war da.
Als nächstes habe ich mir eine Dose mit 82mm Durchmesser besorgt und nach ein paar Versuchen auf 8,5cm gekürzt und mittig im Deckel ein 8mm Loch für die Kamera gebohrt. Das Objektiv der Kamera musste ich um einen Raster drehen und alles war Scharf. Mit einem 3mm Doppelseitigem Modellbau Klebeband wurde die Kamera dann am Stecker der Kamera fixiert.
Anbei ein paar Bilder da ich denke schneller und besser geht es auf die schnelle nicht. Sitzt bombenfest!!
Warum jetzt grad das N im letzten Bild kommt ist mir grad unklar, das hatte ich vorhin noch nicht.
Mal nachlesen ob das hier im Forum schon bekannt ist. Ev. hat hier ja jemand noch einen Tip für mich.Nochmal Danke an jomjol für das großartige Projekt
LG Horst -
@Hasont Hallo Horst,
großartige Halterung - schneller geht es wirklich nichtZu deiner Frage: das "N" kommt, weil der Zähler zwischen 5 und 6 steht. Normalerweise sollte er das automatisch anhand des vorherigen Wertes ersetzen (UsePreValue in der Config). Hast du das aktiv und auch die Zeit, die der PreValue gültig ist hoch genug gesetzt (eher 3-4h)?
Noch folgender Hinweis: ich würde versuchen, die Referenzen weiter auseinander zu ziehen, das verbessert die Toleranzen.#
Beste Grüße,
jomjol -
@jomjol ,
es war UsePreValue und seit dem alles bestens.
Man kann ja beim ersten mal auch nicht alles richtig machen;-)
Nächster Schritt wäre das in IOBrocker einzubinden. Ziel sollte es sein in der Urlaubsphase einen Wasserverbrauch außerhalb der Gießzeiten über Telegram zu melden und Notfalls den Haupthahn abzusperren. Hab ich mit China Kugelventil 1/2" schon
in Richtung Garten gemacht.
.
Wenn wir Zuhause sind wird über nen Umschalter das Gartenwasser fest zugeschaltet. Im Urlaub steuert der Raspi die Ventile und schaltet kurz vorher das Gartenwasser zu. Das 1.1/4" Kugelventil für die Hauptwasserleitung hab ich schon. In Verbindung mit deinem Wasserzähler macht mir das richtig Spass. Wenn jemand sowas schon gemacht hat dann wäre ich über ein entsprechendes Script ganz froh.
LG
Horst -
@jomjol möchte mich für die viele Arbeit von dir bedanken - habe das ganze bei mir installiert und gerade die erste MQTT Nachricht in iobroker mit dem Wasserstand bekommen.
Danke - sehr cool das ganze! -
Auch bei mir läuft seit gestern die Wasserzähler-Erkennung, nach einigen Anfangsschwierigkeiten mit unscharfen und zu hellen Bildern ganz gut
Mein Zähler hat auf dem letzten Zeiger eine halbrunde Metallplatte wo man einen Impulsgeber montieren könnte, deswegen wird dieser vierte Zeiger nie gut erkannt werden und ich lösche die ROI dort wieder.
Der dritte Zeiger leidet momentan unter den Reflektionen. Dabei habe ich schon 2 Schichten Papiertaschentuch über die LED geklebt um das Licht diffuser zu machen.In XGA (/capture_with_flashlight?quality=5&size=XGA) sieht das Foto noch viel klarer aus. Ist es sinnvoll die Erkennung auch auf XGA umzustellen oder wird dann die Rechenlast höher?
@jomjol gibt es einen Weg sich bei dir für dieses großartige Projekt erkenntlich zu zeigen?
-
@worbis
Bei den Reflexionen könnte auch ein schwarzer Kleber auf dem Glas helfen (siehe weiter oben in den Posts). Die Umstellung auf XGA müsste man 2 Dinge prüfen:- Speicherplatz - Man muss zweimal das Bild (unkomprimiert) im Speicher ablegen.
- Hauptrechenlast ist das Finden der Referenzstrukturen. Das hängt vom Suchfeld ab (aktuell 20x20). Bei höherer Auflösung müsste man es für den gleichen Bereich entsprechend vergrößern und das geht massiv auf die Rechenlast (quadratisch).
Am meisten freue ich mich über Likes, Weitersagen und Verbreitung des Projekts - je mehr Traffic in GitHub oder Thingiverse, desto besser :-). Natürlich trinke ich auch Kaffee oder Bier - aber das ist virtuell etwas schwierig
Vielen Dank für dein tolles Feedback und beste Grüße,
jomjol
-
hat schon jemand versucht mit der Camera "ums Eck" zu schauen, z.B. mit einem Spiegel? Würde gerne den Gaszähler auswerten, aber nach vorne hin habe ich überhaupt kein Platz. Würde mich über Erfahrungen freuen.
-
@watcherkb Ich kann mich erinnern, dass jemand bereits das mit dem "ums Eck" schauen realisiert hat. @jomjol hat dann auch was in die SW eingebaut um die "Spiegelung" des Bildes wieder zu beseitigen.
-
@Hasont Was für ein Script brauchst Du? Wir haben in dem Vorgänger Thread einige Scripte erarbeitet.
-
@jomjol einen Verbesserungsvorschlag um auch andere Sensoren gut ablesen zu können, wäre eine Option das jeder erkannter Wert (Ziffer oder Zeiger) in einer MQTT Nachricht verschickt wird. Entweder als eine Nachricht z.b. mit Strichpunkt getrennt oder als mehrere Nachrichten. Damit könnten auch Anzeigwerte erkannt werden wo die Berechnungslogik wie sie aktuell ist nicht gut funktioniert. Auch die Logik wie sich der Wert errechnet kann damit ausgelagert werden. Und am besten wäre es noch den confidence Wert aus dem Modell mitzuschicken. z.B.: Zahl 8, confidence 80%.
-
@pfried ja kann mich auch dran erinnern. Müsste im alten Thread gewesen sein.
-
Eine Sache ist mir noch aufgefallen:
mein ESP macht immer wieder spontane Reboots und verliert dabei scheinbar diepreValue
, denn nach einem solchen Reboot werden die Digitalzahlen statt569
als509
,559
oder599
erkannt, und dieser Rücksprung oder große Sprung nicht abgefangen.Wie kann ich hier unterstützen?
Soll ich einen Raspi + FTDI dranhängen und die seriellen Ausgaben protokollieren?
Wenn es einen Coredump/Stacktrace gibt, hilft das zur Analyse weiter?Version: master - v3.1.0 - 2020-10-26
-
@watcherkb sagte in Wasserzähler - Version 2 - all-in-device:
hat schon jemand versucht mit der Camera "ums Eck" zu schauen, z.B. mit einem Spiegel? Würde gerne den Gaszähler auswerten, aber nach vorne hin habe ich überhaupt kein Platz. Würde mich über Erfahrungen freuen.
Hi watchkerb,
der Parameter zum Spiegeln des Kamerabildes lautet:[Alignment] InitalMirror = true
Details siehe wiki: https://github.com/jomjol/AI-on-the-edge-device/wiki/Configuration-Parameter-Details
Gruß,
jomjol -
@stan23 sagte in Wasserzähler - Version 2 - all-in-device:
Eine Sache ist mir noch aufgefallen:
mein ESP macht immer wieder spontane Reboots und verliert dabei scheinbar diepreValue
, denn nach einem solchen Reboot werden die Digitalzahlen statt569
als509
,559
oder599
erkannt, und dieser Rücksprung oder große Sprung nicht abgefangen.Wie kann ich hier unterstützen?
Soll ich einen Raspi + FTDI dranhängen und die seriellen Ausgaben protokollieren?
Wenn es einen Coredump/Stacktrace gibt, hilft das zur Analyse weiter?Version: master - v3.1.0 - 2020-10-26
Das ist leider ein dauerhaftes Problem, welche teilweise auf die verwendeten Bildverarbeitungsbibliotheken zurück verfolgen kann.
Leider habe ich es nicht geschafft, einen Debugger an das ESP32-CAM Modul anzubinden, da aufgrund Kamera und SD-Card auch die Standart-Debugging Port belegt sind.Wenn sich dort jeman auskennt, wäre das sehr hilfreich!
@stan23: eine Zwischenlösung, um bei Auftretten des Fehlers nicht in die von dir benannten Probleme zu laufen ist, den Parameter
PreValueAgeStartup
auf einen sehr großen Wert zu setzen. Denn der steuert, wieviele Minuten der PreValue gut ist.
Ein kurzer Wert führt in folgender Situationen zu dem benannten Problem: Da gerade ein ungültiger Wert "N" gelesen wird, wird der PreValue nicht aktualisiert. Wenn kein Wasser gebraucht wird (z.B. Nacht) kann dies auch mehrere Stunden andauern. Nun startet der ESP32 irgendwann zufällig neu und viola - er verwendet den PreValue nicht und kann die Zahlen auch nicht korrigieren. Empfehlung: Parameter auf mehrere Stunden einstellen. -
Hilfe gesucht: Problem beim Druck des Kameradeckels 3d_AI-on-the-edge_Cover.stl.
Hallo,
Ich habe mich zum ersten Mal an einem 3D-Druck versucht ( Cura 4.7 , Conrad Monoprice Mini V2, Velleman PLA)Meine ersten Versuche habe ich mit dem Kameragehäuse gemacht.
Ich habe das Gehäuse (3b) und den Einsatz(3c) problemlos gedruckt bekommen.
Der Drucker scheitert aber immer am Deckel, weil die Software den Deckel auf 4 Beinchen stellt und die großen Zwischenräume nicht überbrückt werden konnten.
Gibt es eine Möglichkeit , den Deckel um 180° zu drehen und dann zu sclicen?Gruß Hike