NEWS
Wasserzähler - Version 2 - all-in-device
-
@sebastian-kemmerling schau mal hier: https://forum.iobroker.net/topic/36622/wasserzähler-version-2-all-in-device/475?_=1610638577120
Ich habe auch nicht viel Platz nach vorne, deswegen mit Spiegel gearbeitet. Läuft gut bisher
-
@homecineplexx said in Wasserzähler - Version 2 - all-in-device:
@michmein said in Wasserzähler - Version 2 - all-in-device:
nnst dann in den Objekten unter Info sehen wer sich per mqtt verbunden hat.
ja funktioniert jetzt plötzlich.
sag, ich hab im GIT gesehen, dass es schon eine 6.0 Version gibt. die hab ich nun geflasht. Da gibts ja für MQTT nun das LWT? wird das nicht auch geschickt bei connected bzw wann kommt das dann?Das LWT wird beim Anmelden am MQTT-Broker gesetzt.
-
@jomjol und alle
Hallo, ich weiß jetzt nicht ob das hier im Thread richtig aufgehoben ist aber wenn nicht könnte man ja einen getrennten Link dazu aufmachen.
Nachdem ja jetzt auch die GPIOs angesteuert werden können (bau mir da nächste Woche ein Relais dazu) würde ich gerne ein Blockly aufbauen das den Zählerstand überwacht und bei außergewöhnlichem Wasserverbrauch ein Telegram sendet und die Wasserversorgung abstellt. Ein Ventil dazu habe ich schon verbaut.
Ev. hat ja jemand hier ein paar Tips wie man das mit Blockly lösen könnte.
Die Anforderung wäre z.B. für einen definierten Zeitraum (Urlaub) die Wasseruhr im 5 minuten Takt abzufragen und eine Wasserentnahme über z.B. 10l zu melden. Weiter solle es möglich sein eine bestimmte Zeit (z.B. während der Gartenbewässerung) davon auszunehmen. Sollte nach drei Durchgängen kein Feedback über VIS oder Telegram kommen würde das Relais anziehen (oder besser noch abfallen) um die Wasserversorgung ganz zu trennen. Auch hier käme dann ein Telegram welches "Wasser abgeschaltet) meldet.
Ev. hat ja einer ne Idee oder gar ein Blockly dazu.
Wenn es nicht in dieses Thema passt bitte sagt Bescheid dann versuche ich hier ein neues Thema einzustellen.
Bin auch grad dabe meine Bewässerung mit 4 Ventile und zwei getrennte Zeitzonen entsprechend zu erweitern.
Einige Vorlagen stammen hier auch schon aus dem IOBroker Forum.
Der Garten muss ja nur bei Trockenheit bewässert werden und im Carport aber täglich daher zwei Zeitzonen.
Weiter gibt es vor dem Haus eine Möglichkeit für meine Nachbarn auch Wasser auf Tastendruck für 4 Minuten zu entnehmen. Neu wird sein, dass ich die entnommene Wassermenge oben links dann auch Anzeige. Das würde mir z.B. eine Leckage an den Ventilen aufzeigen. Dank Jomjol ist das ja jetzt alles möglich
Daher nochmal vielen Dank an Jomjol für die tolle Idee und die Unterstützung hier im Forum.LG Horst
-
@jomjol im sorry for my english. do you have any tutorial or setup sample for communicate MQTT to thingsboard platform. i have try to setup more than 3 days but there is no data appears on my thingsboard dashboard. thanks
Rumot
-
Hi @rumot-satu,
unfortunately I do not have any experience with thingboard and I am not an experienced MQTT user. But you need to know, that the ESP32 is only a very simple MQTT-client. It needs a MQTT broker, to which it connect. To this broker the data is send regulary. You cannot connect an other client direct to the ESP32.
If all is not working, maybe you can read out the watermeter value from the html-page directly. If you use: http://IP-ADRESS/wasserzaehler.html you will get the plain number. -
@jomjol und alle
Hallo, wie im Thread 805 schon angedeutet hab ich jetzt ein Umschaltrelais dazugebaut.
Funktioniert einwandfrei mit den Url-Befeht [IP-Adresse]/GPIO?GPIO=12&Status=high (oder low)Es fehlt noch der 220V Anschluss den man dann aber auch gegen Berührung absichern müsste!
Hier Infos zum Nachbau
Da es den GPIO Befehl nur beim Rolling in der Version 6 gibt hätte ich die Bitte das im Master zu übernehmen.LG
Horst -
@hasont Hi Horst,
gut zu wissen, dass das Schalten der GPIOs bei dir funktioniert. Bei den 220V bin ich aber raus, das ist mir zu gefährlich.
Ich schieße die neue Master in den nächsten 1-2 Wochen, wenn noch ein paar mehr Rückmeldungen zu Fehler kommen (oder auch nicht :-)):
Gruß,
jomjol -
Hi, habe gestern gleich die neuste Image per OTA auf den ESP geflasht (5.0.0 => 6.1.0) - hat soweit alles gut funktioniert. Heute wollte ich das Kabel der Spannungsversorgung gegen ein längeres tauschen und habe den ESP daher kurzzeitig spannungslos gehabt. Jetzt startet er nicht mehr.
Das gleiche Verhalten hatte ich auch als ich beim letzten mal per OTA geflasht hatte (5.0.0 => 6.0.0) - damals hatte ich noch ein Kabel angelötet und hatte vermutet, dass es damit zu tun hatte...=> Habt ihr das Verhalten auch, dass nach einem OTA-Update der ESP nach einem Spannungsausfall nicht mehr startet/reagiert (kein Blinken, keine Erreichbarkeit über WLAN)?
Update: Habe jetzt beim neu-flashen festgestellt, dass der ESP nach dem flashen mit 6.1.0 und 6.0.0 nicht reagiert (kein Blinken und keine Verbindung ins Netzwerk). Nur mit der 5.0.0 reagiert der ESP nach dem flashen. Gibt es ggf. irgendwelche Hardware-Abhängigkeiten, dass die V6 bei dem ESP gar nicht funktioniert?
-
@arie Eigentlich habe ich damit keine Probleme. Du hast vermutlich sowohl die Firmware und auch die html upgedated?
-
@arie
Ich hatte ähnliche Probleme und habe mich heute früh entschlossen alles komplett neu aufzusetzen, SD Karte in den PC und festgestellt das die komplett mit logs und Bildern voll war! Also formatiert, alles frisch drauf und neu eingerichtet. Habe in dem Zusammenhang auch gesehen das die config.ini jetzt bedeutend mehr Settings aufweist und man diese jetzt per default grafisch vornehmen kann. Ich hatte zwar 6.1 bereits drauf, aber der ganze neue Summs war bei mir nie sichtbar. Da scheint einiges keim OTA Upate nicht rüberzukommen. Aber jetzt funzt das Ding erstmal wieder mit 6.1
Vielleicht solltest Du auch überlegen das DIng einfach mal platt zu machen und neu aufzusetzen -
@spaceduck
Bei Updates musst Du selber kontrollieren was sich in der Config geändert hat und diese Dinge eigenständig in Deiner Config auf dem ESP nachtragen! -
Hallo Liebe IO Brocker Community,
Erstmal danke an den Entwickler für dieses tolle Projekt.
Ich habe soweit (auch schon den 2th) ESP32-Cam geflascht, dieses klappte auch alles ohne Probleme, die Daten aus SD-Card habe ich auf eine 8GB ScanDisk Industrial Gepackt (Natrülich ins Root verzeichnis) gepackt.
=> SD als FAT32 formatiert
=> Sie wurde bereits mehrmals formatiert und neu bespielt
Update(Hatte noch eine 32 GB rumliegen, eine Partion mit 8Gb erstellt und probiert, selbes problem)Leider passiert rein garnichts.
Über die Serielle Schnittstelle fand ich nun folgendes Heraus:
[0;32mI (4259) connect_wlan_main: Initializing SD card[0m [0;31mE (4279) sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107[0m [0;31mE (4279) connect_wlan_main: Failed to initialize the card (263). Make sure SD card lines have pull-up resistors in place.[0m
Und
File is locked: /sdcard/wlan.ini - wait for 1
Hat jemand eine Lösung für mich.
Danke für euere Mühe.Acer90
P.S.
Hier noch ein ganzer Auszug:
rst:0x8 (TG1WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:4 load:0x3fff0034,len:7140 load:0x40078000,len:13856 load:0x40080400,len:4052 entry 0x40080688 [0;32mI (58) boot: ESP-IDF 3.40100.200827 2nd stage bootloader[0m [0;32mI (58) boot: compile time 19:51:06[0m [0;32mI (58) boot: chip revision: 1[0m [0;32mI (62) boot_comm: chip revision: 1, min. bootloader chip revision: 0[0m [0;32mI (69) boot.esp32: SPI Speed : 40MHz[0m [0;32mI (74) boot.esp32: SPI Mode : DIO[0m [0;32mI (78) boot.esp32: SPI Flash Size : 4MB[0m [0;33mW (83) boot.esp32: PRO CPU has been reset by WDT.[0m [0;33mW (88) boot.esp32: WDT reset info: PRO CPU PC=0x400803c0[0m [0;33mW (94) boot.esp32: WDT reset info: APP CPU PC=0x4008e7db[0m [0;32mI (100) boot: Enabling RNG early entropy source...[0m [0;32mI (106) boot: Partition Table:[0m [0;32mI (109) boot: ## Label Usage Type ST Offset Length[0m [0;32mI (117) boot: 0 nvs WiFi data 01 02 00009000 00004000[0m [0;32mI (124) boot: 1 otadata OTA data 01 00 0000d000 00002000[0m [0;32mI (132) boot: 2 phy_init RF data 01 01 0000f000 00001000[0m [0;32mI (139) boot: 3 ota_0 OTA app 00 10 00010000 001db000[0m [0;32mI (147) boot: 4 ota_1 OTA app 00 11 001f0000 001db000[0m [0;32mI (154) boot: End of partition table[0m [0;32mI (159) boot_comm: chip revision: 1, min. application chip revision: 0[0m [0;32mI (166) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x4c730 (313136) map[0m [0;32mI (310) esp_image: segment 1: paddr=0x0005c758 vaddr=0x3ffb0000 size=0x038c0 ( 14528) load[0m [0;32mI (318) esp_image: segment 2: paddr=0x00060020 vaddr=0x400d0020 size=0x15f514 (1438996) map[0m [0;32mI (940) esp_image: segment 3: paddr=0x001bf53c vaddr=0x3ffb38c0 size=0x01860 ( 6240) load[0m [0;32mI (944) esp_image: segment 4: paddr=0x001c0da4 vaddr=0x40080000 size=0x00404 ( 1028) load[0m [0;32mI (948) esp_image: segment 5: paddr=0x001c11b0 vaddr=0x40080404 size=0x1ee54 (126548) load[0m [0;32mI (1035) boot: Loaded app from partition at offset 0x10000[0m [0;32mI (1036) boot: Disabling RNG early entropy source...[0m [0;32mI (1036) psram: This chip is ESP32-D0WD[0m [0;32mI (1042) spiram: Found 64MBit SPI RAM device[0m [0;32mI (1045) spiram: SPI RAM mode: flash 40m sram 40m[0m [0;32mI (1051) spiram: PSRAM initialized, cache is in low/high (2-core) mode.[0m [0;32mI (1058) cpu_start: Pro cpu up.[0m [0;32mI (1062) cpu_start: Application information:[0m [0;32mI (1067) cpu_start: Project name: esp32cam-server-only[0m [0;32mI (1073) cpu_start: App version: 0.0.9.3[0m [0;32mI (1078) cpu_start: Compile time: Jan 20 2021 19:48:33[0m [0;32mI (1084) cpu_start: ELF file SHA256: b9ffc04c8ab59a15...[0m [0;32mI (1090) cpu_start: ESP-IDF: 3.40100.200827[0m [0;32mI (1096) cpu_start: Starting app cpu, entry point is 0x40081c30[0m [0;32mI (0) cpu_start: App cpu up.[0m [0;32mI (1988) spiram: SPI SRAM memory test OK[0m [0;32mI (1988) heap_init: Initializing. RAM available for dynamic allocation:[0m [0;32mI (1989) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM[0m [0;32mI (1995) heap_init: At 3FFC2AC8 len 0001D538 (117 KiB): DRAM[0m [0;32mI (2001) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM[0m [0;32mI (2007) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM[0m [0;32mI (2014) heap_init: At 4009F258 len 00000DA8 (3 KiB): IRAM[0m [0;32mI (2020) cpu_start: Pro cpu start user code[0m [0;32mI (2025) spiram: Adding pool of 4096K of external SPI memory to heap allocator[0m [0;32mI (2050) spi_flash: detected chip: generic[0m [0;32mI (2051) spi_flash: flash io: dio[0m [0;32mI (2051) cpu_start: Starting scheduler on PRO CPU.[0m [0;32mI (0) cpu_start: Starting scheduler on APP CPU.[0m [0;32mI (2059) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations[0m Do Reset Camera [0;32mI (2069) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 [0m Init Camera [0;32mI (4079) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4079) gpio: GPIO[18]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4079) gpio: GPIO[19]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4089) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4099) gpio: GPIO[22]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4109) gpio: GPIO[23]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4119) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4129) gpio: GPIO[34]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4139) gpio: GPIO[35]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4149) gpio: GPIO[36]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4159) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4169) sccb: pin_sda 26 pin_scl 27 [0m [0;32mI (4169) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 [0m [0;32mI (4319) camera: Detected OV2640 camera[0m [0;32mI (4319) camera: Allocating 1 frame buffers (150 KB total)[0m [0;32mI (4339) camera: Allocating 150 KB frame buffer in OnBoard RAM[0m [0;32mI (4909) connect_wlan_main: Initializing SD card[0m [0;31mE (4929) sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107[0m [0;31mE (4929) connect_wlan_main: Failed to initialize the card (263). Make sure SD card lines have pull-up resistors in place.[0m [0;32mI (4939) server_ota: Start CheckOTAUpdateCheck ...[0m Start CheckOTAUpdateCheck ... [0;32mI (4959) server_ota: SHA-256 for the partition table: : 9d4a2809ae90fb20709a8ca3dd3ac3462e1e73286bcd31b689060c91de06fa3a[0m [0;32mI (5019) server_ota: SHA-256 for bootloader: : 15f52f58b38b015f8d77a7fd637080c32b397905d47e4ca1bf5bbf1c6abe34bf[0m [0;32mI (5749) server_ota: SHA-256 for current firmware: : 9e85de4055be332de6ebd46bca00b10d3bbdb260efcb2c79c0f0bfc418eeb3da[0m CheckOTAUpdate Partition: ESP_OK File is locked: /sdcard/wlan.ini - wait for 1 Logfile opened:
UPDATE: die dritte SD Karte hat funktionert
-
@acer90 Manchmal ist es echt zum Verzweifeln mit den SD-Cards ..... diese Erfahrung haben die meisten von uns auch schon machen müssen .....
-
Ich lese hier schon ein Weilchen mit - super Projekt! Danke dafür!
Ich habe endlich die Muße, das Projekt nachzubauen, scheitere jedoch an der Installation.
Ich nutze unter Linux das esptool (wie in de Installationsbeschreibung unter 1.)
Flash löschen klappt.
Beim write_flash erhalte ich die Fehlermeldung:esptool write_flash: error: argument <address> <filename>: Detected overlap at address: 0x8000 for file: partition.bin
Hmm ... scheinbar hatte hier diesen Fehler noch keiner (zumindest hat meine Suche im Forum und auf Github nichts ergeben).
Ich habe dann die Variante mit Python3 von WernerS aus Beitrag 80 probiert:python3 esptool.py write_flash: error: argument <address> <filename>: Detected overlap at address: 0x8000 for file: partition.bin
... mit den aktuellsten esptool.py von espressif (von github) - da bekomme ich aber einen Syntax Error im esptool.py
Dann habe ich testweise einen Sketch in der Arduino IDE auf den ESP hochgeladen - das hat geklappt.
Danach habe ich einen anderen ESP32-CAM ausprobiert und alles wiederholt - gleiches Problem.Kann jemand bei der Problemlösung helfen?
-
@rennigel
Hallo, hab schon 5 Stück mit esptool geflasht und aufs erste mal hat es leider nie geklappt.
Scheinbar sind die ESP32-CAM auch nicht alle gleich.
Ich verbinde dabei den GPIO 0 fest mit Masse und drücke die Reset Taste am ESP32-CAM selbst vor Programm Start und lasse dann los.
Vorher setze ich die Haken bei den drei Dateien nochmal neu. Manchmal Starte ich auch das esptool neu.
Also nicht verzeifeln.
Die Taste Combine ist auch aus, oder?
Ich hab jetzt ein ESP32-CAM Modul mit USB Schnittstelle gekauft und damit ging es sofort.
Das Modul ist da ja nur aufgesteckt und ich hab Interessehalber auch gleich ein zweites ESP32 geflasht. -
@hasont sagte in Wasserzähler - Version 2 - all-in-device:
@rennigel
Hallo, hab schon 5 Stück mit esptool geflasht und aufs erste mal hat es leider nie geklappt.
Scheinbar sind die ESP32-CAM auch nicht alle gleich.
Ich verbinde dabei den GPIO 0 fest mit Masse und drücke die Reset Taste am ESP32-CAM selbst vor Programm Start und lasse dann los.
Vorher setze ich die Haken bei den drei Dateien nochmal neu. Manchmal Starte ich auch das esptool neu.
Also nicht verzeifeln!
Die Taste Combine ist auch aus, oder? > Die Meldung mit den Overlap kenne ich so nicht.
Ich hab jetzt ein ESP32-CAM Modul mit USB Schnittstelle gekauft und damit ging es sofort.
Das Modul ist da ja nur aufgesteckt und ich hab Interessehalber auch gleich ein zweites ESP32 geflasht. -
@hasont
Danke für Deine Antwort!
GPIO 0 habe ich mit GND gebrückt und vor Flash-Erase und -Write dücke auch jeweils einmal die Reset Taste.
Ich starte das Flashen aber von der Kommandozeile, somit sind da keine Haken zu setzen. Ich bin strikt nach jomjols Antleitung vorgegangen.Ich fürchtete auch schon, dass es kleine Unterschiede zwischen den Modulen gibt - in diesem Falle müsste der Unterschied ja gemäß der Fehlermeldung in der Speicheraufteilung sein ...? Und mit Speicheradressierung kenne ich mich leider so gar nicht aus, aber vielleicht hat ja jemand mit tieferen Programmierkenntnissen als ich einen Tipp.
In der Zwischenzeit folge ich Deinem Rat, es einfach nochmal und nochmal zu probieren (auch wenn das nicht sehr motivierend ist ).
-
@rennigel
Die Reset Taste Drücke ich kurz vor dem Flash und lass die erst kurz nach dem Flashbeginn los.
Dass die Taste Combine aus sein muss hast du gesehen? -
@hasont
Jetzt stehe ich auf dem Schlauch ... wo ist die Combine Taste?
Am ESP32?
Oder im esptool?
Wenn letzteres, wie gesagt, ich starte esptool über Command Line, da habe ich keine GUI und somit auch keine Combine Taste ...Was mir noch auffiel: Während beim erase_flash erstmal im Terminal einige Rückmeldungen kommen ("esptool.py V3.0 ... Found 1 Serial Port ... Serial poer /dev/ttyUSB0 .... Connecting ...." usw.) bevor der eigentliche Löschvorgang startet, kommt beim write_flash die o.g. Fehlermeldung nahezu unmittelbar nach dem Drücken der Enter-Taste. Wie es scheint also bevor überhaupt eine Verbindung zum ESP aufgebaut wurde.
Nochwas: Wenn ich den flash-Befehl testweise verkürzeesptool write_flash 0x01000 bootloader.bin
oder auch
esptool write_flash 0x08000 partitions.bin
läuft der Prozess durch, eine einzelne bin-Datei wird also geschrieben, mehrere scheinbar nicht.
Und das "Combine" klingt so als hätte was mit mehreren Dateien zu tun ... -
@rennigel
Ich verwende da das ESP32 Tool und da sieht es am Bild in der Mitte so aus als wäre Combine an.
Über Command Line hab ich noch nichts gemacht.