NEWS
Wasserzähler - Version 2 - all-in-device
-
@Mikewolf Hi, hier die STL Dateien. Diese sind nochmals etwas modifiziert worden, 2mm breiter und 2mm höher in der Hoffnung das es besser passt. Auch die Auflage für den ESP ist geändert worden. Schau mal ob Du damit etwas wirst und berichte dann bitte!
-
@Hasont Aus dem von Dir genannten Problem habe ich nur die ersten beiden Stellen nach dem Komma genommen da es recht unwahrscheinlich ist das das Bild immer dann gemacht wird wenn an der letzten Stellen die richtig zu sehen ist. Mit den 2 Stellen klappt es bei mir bestens!
-
@MichMein
Hallo Michael, danke dafür.
Funktioniert jetzt auch mit Parser.
Was wäre das denn für ein Vorteil auf mqtt umzustellen?
Dein Gaszähler sieht ja echt gut aus.LG
Horst -
@MichMein sagte in Wasserzähler - Version 2 - all-in-device:
@Hasont Aus dem von Dir genannten Problem habe ich nur die ersten beiden Stellen nach dem Komma genommen da es recht unwahrscheinlich ist das das Bild immer dann gemacht wird wenn an der letzten Stellen die richtig zu sehen ist. Mit den 2 Stellen klappt es bei mir bestens!
Ich nehme auch nur 2 Stellen und er zeigts im RAW ja auch an. Trotzdem macht er 6 Stellen nach dem Komma.
Denke jomjol hat ja schon ne Idee uns man braucht es ja nicht wirklich.Horst
-
@Hasont Hi, Dankr für die Blumen.
Ich habe keine Ahnung ob es da Vorteile gibt. Für mich war es die einzige Möglichkeit die ich kannte und habe es daher genutzt. Ansonsten hätte ich mich erst weiterbilden müssen -
@MichMein leider nein, da muss ich was eigenes designen. Den Deckel kopiere ich mir aber gerne
Danke -
@watcherkb schade, gerne doch. Viel Erfolg
-
@MichMein Hallo Dateien im Druck,später wenn fertig werde ich berichten Danke für die bereitstellung der files
frage : mit welchen Pogramm Arbeitest Du um so etwas zu kreieren .DAnke
mikewolf -
@Mikewolf ich bin sehr gespannt. Ich lasse arbeiten daher weiß ich nicht genau. Das kann ich dir aber am Montag sagen mit welchem Programm mein Kollege das macht.
-
Also trat jetzt ein anderes Problem auf. Mehrmals am Tag wird ein bedeutungsloser Wert generiert und weitergegeben, sodass er in InfluxDB geschrieben wird, wo ich nach der Erkennung die Daten bearbeiten muss. Hier sende ich einen Auszug aus dem Protokoll von 3 Werten, wenn der mittlere falsch erkannt wird und dann wieder richtig. Ich sende auch Konfigurationsnachbearbeitung.
Vielleicht habe ich etwas falsch eingestellt, aber ich weiß nicht was. Bitte sehen Sie irgendwo einen Fehler?[PostProcessing]
DecimalShift = 0
PreValueUse = True
PreValueAgeStartup = 30
AllowNegativeRates = False
MaxRateValue = 0.1
ErrorMessage = True
CheckDigitIncreaseConsistency = False2020-11-28_16-37-55: task_autodoFlow - next round
2020-11-28_16-37-55: FlowControll.doFlow - ClassFlowMakeImage
2020-11-28_16-38-00: FlowControll.doFlow - ClassFlowAlignment
2020-11-28_16-39-03: FlowControll.doFlow - ClassFlowDigit
2020-11-28_16-39-08: handler_wasserzaehler
2020-11-28_16-39-09: handler_wasserzaehler
2020-11-28_16-39-09: handler_prevalue
2020-11-28_16-39-20: FlowControll.doFlow - ClassFlowAnalog
2020-11-28_16-39-46: FlowControll.doFlow - ClassFlowPostProcessing
2020-11-28_16-39-46: FlowControll.doFlow - ClassFlowMQTT
2020-11-28_16-39-46: sent publish successful in MQTTPublish, msg_id=50761, watermeter/readout, 631.0377
2020-11-28_16-39-46: task_autodoFlow - round done
2020-11-28_16-39-46: CPU Temperature: 57.22020-11-28_16-42-46: task_autodoFlow - next round
2020-11-28_16-42-46: FlowControll.doFlow - ClassFlowMakeImage
2020-11-28_16-42-51: FlowControll.doFlow - ClassFlowAlignment
2020-11-28_16-43-54: FlowControll.doFlow - ClassFlowDigit
2020-11-28_16-44-08: handler_wasserzaehler
2020-11-28_16-44-08: handler_wasserzaehler
2020-11-28_16-44-08: handler_prevalue
2020-11-28_16-44-09: FlowControll.doFlow - ClassFlowAnalog
2020-11-28_16-44-35: FlowControll.doFlow - ClassFlowPostProcessing
2020-11-28_16-44-35: FlowControll.doFlow - ClassFlowMQTT
2020-11-28_16-44-35: sent publish successful in MQTTPublish, msg_id=2756, watermeter/readout, 639.0385
2020-11-28_16-44-35: task_autodoFlow - round done
2020-11-28_16-44-35: CPU Temperature: 57.22020-11-28_16-47-37: task_autodoFlow - next round
2020-11-28_16-47-37: FlowControll.doFlow - ClassFlowMakeImage
2020-11-28_16-47-42: FlowControll.doFlow - ClassFlowAlignment
2020-11-28_16-48-45: FlowControll.doFlow - ClassFlowDigit
2020-11-28_16-49-02: FlowControll.doFlow - ClassFlowAnalog
2020-11-28_16-49-08: handler_wasserzaehler
2020-11-28_16-49-09: handler_wasserzaehler
2020-11-28_16-49-09: handler_prevalue
2020-11-28_16-49-30: FlowControll.doFlow - ClassFlowPostProcessing
2020-11-28_16-49-30: FlowControll.doFlow - ClassFlowMQTT
2020-11-28_16-49-30: sent publish successful in MQTTPublish, msg_id=53367, watermeter/readout, 631.0389
2020-11-28_16-49-31: task_autodoFlow - round done
2020-11-28_16-49-31: CPU Temperature: 53.3 -
So Wasserzähler und Gaszähler am laufen !! Super perfekt !!
hatte am Anfang auch meine kleinen Problmechen
öfters die Ini speichern , und das nach jeden Schritt ,
Bilder mehremals eingestellte und ne Menge Neustarts und dem ESP zeit geben !!!
Dann funktioniert s !!
Super Anleitung, super STL vorlagen 3 DAumen hoch !!! -
@Jezinka sagte in Wasserzähler - Version 2 - all-in-device:
Also trat jetzt ein anderes Problem auf. Mehrmals am Tag wird ein bedeutungsloser Wert generiert und weitergegeben, sodass er in InfluxDB geschrieben wird, wo ich nach der Erkennung die Daten bearbeiten muss. Hier sende ich einen Auszug aus dem Protokoll von 3 Werten, wenn der mittlere falsch erkannt wird und dann wieder richtig. Ich sende auch Konfigurationsnachbearbeitung.
Vielleicht habe ich etwas falsch eingestellt, aber ich weiß nicht was. Bitte sehen Sie irgendwo einen Fehler?[PostProcessing]
DecimalShift = 0
PreValueUse = True
PreValueAgeStartup = 30
AllowNegativeRates = False
MaxRateValue = 0.1
ErrorMessage = True
CheckDigitIncreaseConsistency = False2020-11-28_16-37-55: task_autodoFlow - next round
2020-11-28_16-37-55: FlowControll.doFlow - ClassFlowMakeImage
2020-11-28_16-38-00: FlowControll.doFlow - ClassFlowAlignment
2020-11-28_16-39-03: FlowControll.doFlow - ClassFlowDigit
2020-11-28_16-39-08: handler_wasserzaehler
2020-11-28_16-39-09: handler_wasserzaehler
2020-11-28_16-39-09: handler_prevalue
2020-11-28_16-39-20: FlowControll.doFlow - ClassFlowAnalog
2020-11-28_16-39-46: FlowControll.doFlow - ClassFlowPostProcessing
2020-11-28_16-39-46: FlowControll.doFlow - ClassFlowMQTT
2020-11-28_16-39-46: sent publish successful in MQTTPublish, msg_id=50761, watermeter/readout, 631.0377
2020-11-28_16-39-46: task_autodoFlow - round done
2020-11-28_16-39-46: CPU Temperature: 57.22020-11-28_16-42-46: task_autodoFlow - next round
2020-11-28_16-42-46: FlowControll.doFlow - ClassFlowMakeImage
2020-11-28_16-42-51: FlowControll.doFlow - ClassFlowAlignment
2020-11-28_16-43-54: FlowControll.doFlow - ClassFlowDigit
2020-11-28_16-44-08: handler_wasserzaehler
2020-11-28_16-44-08: handler_wasserzaehler
2020-11-28_16-44-08: handler_prevalue
2020-11-28_16-44-09: FlowControll.doFlow - ClassFlowAnalog
2020-11-28_16-44-35: FlowControll.doFlow - ClassFlowPostProcessing
2020-11-28_16-44-35: FlowControll.doFlow - ClassFlowMQTT
2020-11-28_16-44-35: sent publish successful in MQTTPublish, msg_id=2756, watermeter/readout, 639.0385
2020-11-28_16-44-35: task_autodoFlow - round done
2020-11-28_16-44-35: CPU Temperature: 57.22020-11-28_16-47-37: task_autodoFlow - next round
2020-11-28_16-47-37: FlowControll.doFlow - ClassFlowMakeImage
2020-11-28_16-47-42: FlowControll.doFlow - ClassFlowAlignment
2020-11-28_16-48-45: FlowControll.doFlow - ClassFlowDigit
2020-11-28_16-49-02: FlowControll.doFlow - ClassFlowAnalog
2020-11-28_16-49-08: handler_wasserzaehler
2020-11-28_16-49-09: handler_wasserzaehler
2020-11-28_16-49-09: handler_prevalue
2020-11-28_16-49-30: FlowControll.doFlow - ClassFlowPostProcessing
2020-11-28_16-49-30: FlowControll.doFlow - ClassFlowMQTT
2020-11-28_16-49-30: sent publish successful in MQTTPublish, msg_id=53367, watermeter/readout, 631.0389
2020-11-28_16-49-31: task_autodoFlow - round done
2020-11-28_16-49-31: CPU Temperature: 53.3Welche Version verwendest du genau? Normalerweise sollte das nicht vorkommen, da die MaxRate das verhindert sollte. Leider gab es bis vor kurzem noch einen Bug dabei. Erst der Branch rolling vom 19.11.20 behebt diesen Fehler und mit der neuesten Rolling wurde auch noch ein anderer Bug in diesem Umfeld beseitigt.
Zusätzlich empfehle ich den ParameterCheckDigitIncreaseConsistency
auftrue
zu setzen. Das prüft dann nochmals auch auf Nulldurchgänge.
Beste Grüße,
jomjol -
Hallo @Jezinka,
BITTE BITTE nicht siezen, das fühlt sich komisch an. Siezen müssen mich nur meine Kinder und meine Frau
Aber nun zum Thema, mehr als das was @jomjol geschrieben hat fällt mir auch nicht ein.Was ich aber generell sagen muss, wenn die Abtastrate relativ gering ist (z.B. 5 Minuten) und die Heizung ordentlich am Gashahn zieht könnte das „MaxRateValue“ mit 0.1 zu klein sein und der ESP meldet Fehler.
-
Hi @Mikewolf,
das macht doch nen ordentlichen Eindruck und das wichtigste ist das es funktioniert!
Hast Du den Reedkontakt zusätzlich noch dran gelassen? -
-
@jomjol
Danke für die Antwort. Ich benutze die Version: master - v4.0.0 - 2020-11-15
Also werde ich versuchen, den Parameter, über den Sie schreiben, zu ändern und den rollenden Zweig zu finden und zu aktualisieren.
Grüße Jirka -
@MichMein said in Wasserzähler - Version 2 - all-in-device:
MaxRateValue
Was genau ist der Parameter: verantwortlich? Wie wirkt sich eine Parameteränderung aus?
Grüße Jirka -
@Jezinka sagte in Wasserzähler - Version 2 - all-in-device:
@MichMein said in Wasserzähler - Version 2 - all-in-device:
MaxRateValue
Was genau ist der Parameter: verantwortlich? Wie wirkt sich eine Parameteränderung aus?
Grüße JirkaDieser Parameter prüft zwischen zwei Durchläufen wie groß der Unterschied ist. Wenn der Unterschied größer als 0.1 ist wird das neue Ergebnis verworfen, so verstehe ich es zumindest. Bitte @jomjol um Korrektur wenn das falsch sein sollte.
-
@MichMein sagte in Wasserzähler - Version 2 - all-in-device:
@Jezinka sagte in Wasserzähler - Version 2 - all-in-device:
@MichMein said in Wasserzähler - Version 2 - all-in-device:
MaxRateValue
Was genau ist der Parameter: verantwortlich? Wie wirkt sich eine Parameteränderung aus?
Grüße JirkaDieser Parameter prüft zwischen zwei Durchläufen wie groß der Unterschied ist. Wenn der Unterschied größer als 0.1 ist wird das neue Ergebnis verworfen, so verstehe ich es zumindest. Bitte @jomjol um Korrektur wenn das falsch sein sollte.
Ja, genau so ist es korrekt. Der Wert sichert ab, wenn z.B. eine Ziffer so falsch erkannt wird, dass es gleich um mehrere m³ springt weil z.B. eine "1" fälschlicherweise als "7" erkannt wurde (631m³ --> 637m³). Bei mir lese ich alle 5 Minuten ab, rein technisch kann ich dort nicht mehr als 100l verbrauchen --> eine Veränderung von größer als 0.1m³ ist sicher eine Fehlmessung.
Gruß,
jomjol -
Hey Leute, irgendwie bin ich zu dämlich den ESP32 zu flashen:
Ich schließe den ESP32 im Downloadmodus an und klicke auf "Start" ohne die Häckchen in den drei Dateien:
[2020-11-29 12:23:58,776][EspDownloadPanel_ESP32_spi][downloadSubPanelTool.py][line:266][INFO]: EFUSE_MODE: 1 [2020-11-29 12:23:58,776][EspDownloadPanel_ESP32_spi][downloadSubPanelTool.py][line:267][INFO]: EFUSE_ERR_HALT: 1 [2020-11-29 12:23:58,996][EspDownloadPanel_ESP32_spi(1)][Panel_MacAddr.py][line:97][INFO]: init finished [2020-11-29 12:23:59,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:654][INFO]: ================ [2020-11-29 12:23:59,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:655][INFO]: LOAD PATH CONF: [2020-11-29 12:23:59,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:656][INFO]: spi_1 [2020-11-29 12:23:59,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:657][INFO]: ================ [2020-11-29 12:23:59,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:376][INFO]: test baudrate: 921600 [2020-11-29 12:23:59,226][EspDownloadPanel_ESP32_hspi][downloadSubPanelTool.py][line:266][INFO]: EFUSE_MODE: 1 [2020-11-29 12:23:59,226][EspDownloadPanel_ESP32_hspi][downloadSubPanelTool.py][line:267][INFO]: EFUSE_ERR_HALT: 1 [2020-11-29 12:23:59,436][EspDownloadPanel_ESP32_hspi(1)][Panel_MacAddr.py][line:97][INFO]: init finished [2020-11-29 12:23:59,466][EspDownloadPanel_ESP32_hspi(1)][download_panel_info.py][line:654][INFO]: ================ [2020-11-29 12:23:59,466][EspDownloadPanel_ESP32_hspi(1)][download_panel_info.py][line:655][INFO]: LOAD PATH CONF: [2020-11-29 12:23:59,466][EspDownloadPanel_ESP32_hspi(1)][download_panel_info.py][line:656][INFO]: hspi_1 [2020-11-29 12:23:59,466][EspDownloadPanel_ESP32_hspi(1)][download_panel_info.py][line:657][INFO]: ================ [2020-11-29 12:23:59,470][EspDownloadPanel_ESP32_hspi(1)][download_panel_info.py][line:376][INFO]: test baudrate: 115200 [2020-11-29 12:23:59,486][EspDownloadFrame][EspDownloadFrame.py][line:107][INFO]: get selection: 0 [2020-11-29 12:23:59,486][EspDownloadFrame][EspDownloadFrame.py][line:109][INFO]: notebook select 0 [2020-11-29 12:24:04,506][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:400][INFO]: ************ [2020-11-29 12:24:04,506][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:401][INFO]: check_res: (True, []) [2020-11-29 12:24:04,506][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:402][INFO]: is running : False [2020-11-29 12:24:04,506][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:403][INFO]: ************ [2020-11-29 12:24:04,506][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:494][INFO]: ********************* [2020-11-29 12:24:04,506][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:495][INFO]: pic path: ./RESOURCE/IDLE_S.bmp [2020-11-29 12:24:04,506][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:496][INFO]: *********************** [2020-11-29 12:24:04,526][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:434][INFO]: TEST!!!! [2020-11-29 12:24:04,526][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:435][INFO]: SELF.COMSTR: COM6 [2020-11-29 12:24:04,526][EspDownloadThread][download_panel_info.py][line:788][INFO]: test running: False ====== CONNECT BAUD: 115200 ============ [2020-11-29 12:24:04,756][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:494][INFO]: ********************* [2020-11-29 12:24:04,756][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:495][INFO]: pic path: ./RESOURCE/SYNC_S.bmp [2020-11-29 12:24:04,756][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:496][INFO]: *********************** .[2020-11-29 12:24:05,165][ESP8266Loader_spi[1]][espDownloader.py][line:1538][INFO]: Disabling the rom console... Efuse CONSOLE_DEBUG_DISABLE is already burned. Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. [2020-11-29 12:24:06,075][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:494][INFO]: ********************* [2020-11-29 12:24:06,075][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:495][INFO]: pic path: ./RESOURCE/DOWNLOAD_S.bmp [2020-11-29 12:24:06,075][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:496][INFO]: *********************** is stub and send flash finish [2020-11-29 12:24:08,196][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:494][INFO]: ********************* [2020-11-29 12:24:08,196][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:495][INFO]: pic path: ./RESOURCE/FINISH_S.bmp [2020-11-29 12:24:08,196][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:496][INFO]: ***********************
Wähle ich dann die drei Kästchen an und klicke erneut auf Start:
is stub and send flash finish [2020-11-29 12:24:08,196][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:494][INFO]: ********************* [2020-11-29 12:24:08,196][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:495][INFO]: pic path: ./RESOURCE/FINISH_S.bmp [2020-11-29 12:24:08,196][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:496][INFO]: *********************** test offset : 4096 0x1000 case ok test offset : 32768 0x8000 case ok test offset : 65536 0x10000 case ok test offset : 4096 0x1000 case ok test offset : 32768 0x8000 case ok test offset : 65536 0x10000 case ok [2020-11-29 12:25:32,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:400][INFO]: ************ [2020-11-29 12:25:32,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:401][INFO]: check_res: (True, [[u'C:\\Users\\Schmidt-Ren\\Desktop\\Wasserz\xe4hler\\AI-on-the-edge-device-master\\firmware\\bootloader.bin', 4096], [u'C:\\Users\\Schmidt-Ren\\Desktop\\Wasserz\xe4hler\\AI-on-the-edge-device-master\\firmware\\partitions.bin', 32768], [u'C:\\Users\\Schmidt-Ren\\Desktop\\Wasserz\xe4hler\\AI-on-the-edge-device-master\\firmware\\firmware.bin', 65536]]) [2020-11-29 12:25:32,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:402][INFO]: is running : False [2020-11-29 12:25:32,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:403][INFO]: ************ [2020-11-29 12:25:32,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:494][INFO]: ********************* [2020-11-29 12:25:32,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:495][INFO]: pic path: ./RESOURCE/IDLE_S.bmp [2020-11-29 12:25:32,026][EspDownloadPanel_ESP32_spi(1)][download_panel_info.py][line:496][INFO]: *********************** Traceback (most recent call last): File "download_panel_info.py", line 448, in OnButton_StartButton File "download_panel_info.py", line 421, in start_func File "download_panel_info.py", line 703, in flash_config UnicodeDecodeError: 'gb2312' codec can't decode bytes in position 36-37: illegal multibyte sequence
Habe jetzt schon alles probiert und komme echt nicht weiter. Was mache ich falsch?
Danke für eure Hilfe!