@eisbaeeer Danke für den Upload der letzten Version. Klappt jetzt bei mir auch mit dem Compilieren.
Viele Grüße
Karlheinz
NEWS
Latest posts made by khkissel
-
RE: Ferraris Zähler mit TCRT5000 und esp8266
-
RE: Ferraris Zähler mit TCRT5000 und esp8266
@viruz Hab Tasmota auf dem D1 mini installiert. Anbindung des RPR220 an Ground, 5V und D1. Relay_i an GPIO2 und Switch an GPIO5 definiert. Siehe folgende Vorlage:
{"NAME":"D1_mini_RPR220","GPIO":[1,0,256,1,1,160,0,1,1,1,1,1,1,1],"FLAG":0,"BASE":18}
MQTT mit den entsprechenden Definitionen angeklinkt. Dann noch folgende Einstellungen in der Tasmota-Konsole, damit auch der Zustand des Switches über MQTT weitergereicht wird:
Backlog Switchmode 1; PowerOnState 0; Setoption0 0; Setoption63 0 Rule1 on Switch1#state do Publish stat/DVES_00941B/ElektroZaehler %value% endon on Switch1#state do POWER %value% endon Rule1 1
Bin mir aber momentan nicht sicher, ob alle Setoptions benötigt werden. Aber es fuktioniert:
12:11:09.107 RUL: SWITCH1#STATE performs "Publish stat/DVES_00941B/ElektroZaehler 1" 12:11:09.113 MQT: stat/DVES_00941B/ElektroZaehler = 1 12:11:09.124 RUL: SWITCH1#STATE performs "POWER 1" 12:11:09.130 MQT: stat/DVES_00941B/RESULT = {"POWER":"on"} 12:11:09.133 MQT: stat/DVES_00941B/POWER = on 12:11:14.244 RUL: SWITCH1#STATE performs "Publish stat/DVES_00941B/ElektroZaehler 0" 12:11:14.251 MQT: stat/DVES_00941B/ElektroZaehler = 0 12:11:14.261 RUL: SWITCH1#STATE performs "POWER 0" 12:11:14.270 MQT: stat/DVES_00941B/RESULT = {"POWER":"off"} 12:11:14.275 MQT: stat/DVES_00941B/POWER = off
In FHEM wird jetzt jeder Impuls gezählt. Dazu gibt es im entsprechenden Device die Attribut-Definitionen
readinglist stat/DVES_00941B/ElektroZaehler:.* StromZaehler userReadings StromCounter monotonic { ReadingsNum($name, "StromZaehler", 0) }, StromVerbrauchHeutekWh {sprintf("%.1f",ReadingsNum($name,"StromVerbrauch_Tag",0)/75)}, StromKostenHeuteEuro {sprintf("%.2f",ReadingsNum($name,"StromVerbrauchHeutekWh",0)*0.208072)}
monotonic bedeutet, das der Zähler StromCounter immer um 1 höchgezählt wird, wenn StromZaehler auf 1 steht.
So läuft es bei mir seit Tagen mit ganz geringen Abweichungen, die aber daher kommen, dass mein MQ-Broker manchmal über das WLAN nicht erreicht werden kann. Ist aber selten. Da nun alle Impulse in FHEM ankommen,
kann ich alles andere weiterberechnen und verarbeiten.
Viele Grüße
Karlheinz -
RE: Ferraris Zähler mit TCRT5000 und esp8266
@eisbaeeer Danke dir für die schnelle Antwort. Allerdings hat das Programm bei mir leider eine für mich nicht nachvollziehbare Ungenauigkeit bei der Impulserkennung und da ich bereits meinen Gaszähler über einen Reedkontakt auslese, war eine Umstellung Tasmota eine einfache Sache. Jetzt bekomme ich die Impulse vom D1 Mini mit dem RPR220 über MQTT direkt und kann sie problemlos weiterverarbeiten und alle benötigten Werte in FHEM berechnen. Trotzdem nochmal ein Kompliment für deine Arbeit.
Viele Grüße
Karlheinz
P.S. Falls jemand an den Tasmota- und FHEM-Definitionen interessiert ist, bitte melden. -
RE: Ferraris Zähler mit TCRT5000 und esp8266
@khkissel Noch ne Frage: Auf max. wieviel Sekunden kann ich das MQTT Publish Interval einstellen? Mir kommen da zuviel Werte über MQTT an.
-
RE: Ferraris Zähler mit TCRT5000 und esp8266
@eisbaeeer said in Ferraris Zähler mit TCRT5000 und esp8266:
@alex_k Die einzelnen Impulse werden derzeit nicht mit MQTT übermittelt. Macht irgendwie auch keinen Sinn. Was willst du denn mit den Impulsen in iobroker?
Naja, es gibt noch andere Systeme neben iobroker. Mit den Impulsen könnte ich z.B. in FHEM den
ElectricityCalculator verwenden und alle Berechnungen hinsichtlich des Verbrauchs und der Kosten durchführen lassen.Mittlerweile lauft die V0.92 mit dem Grove Infrared Reflective Sensor v1.2 auf einem Wemos D1 mini. Auf dem Wemos D1 mini pro habe ich es nicht zum Laufen bekommen. Probleme habe ich z.Zt. noch mit den Impulsen. Anscheinend muss die Entprellzeit niedriger oder evtl. auch 0ms sein.
Nebenbei: Im Forum wurde mal nach der V0.93 gefragt. In GitHub liegt nur eine V0.92.
Viele Grüße
Karlheinz -
RE: Ferraris Zähler mit TCRT5000 und esp8266
@eisbaeeer Die Compile-Parameter hab ich so eingestellt. Aber keine Änderung. Es liegt den Funktionen von ESP8266Wifi. Hab mal aus den Arduino-Beispielen ESP8266Wifi/WifiScan geladen. "Erase all Flash-Contents" habe ich angegeben. Der Scan läuft manchmal, crasht aber dann auch regelmäßig. Auch das Beispiel WifiManager/Basic crasht. Hab dann mal Tasmota 12.2.0.1 geflasht. Läuft stabil und problemlos. Bevor ich mich in die Tiefe des Debugging verliere, nehme ich entweder eine NodeMCU V3. Darauf funktioniert es ja. Nur muss ich dann eine anderes Gehäuse drucken. Oder ich versuche es noch mit einem Wemos D1 mini (ohne Pro).
Viele Grüße
Karlheinz -
RE: Ferraris Zähler mit TCRT5000 und esp8266
@eisbaeeer Zunächst mal danke für die viele Arbeit an der Zähler Software. Die firmware-nodemcuv2.bin v.0.92 habe ich auf einer NodeMcu V3 geflasht und es läuft. Jetzt wollte ich das Ganze auf einem D1 mini Pro zum Laufen bringen und habe mit VSCode/PlatformIO und folgenden Definitionen
[env:d1_mini_pro] platform = espressif8266@3.0.0 board = d1_mini_pro framework = arduino monitor_speed = 115200 monitor_filters = esp8266_exception_decoder lib_deps = ArduinoJson ESP8266 IoT Framework me-no-dev/ESP Async WebServer @ ^1.2.3 knolleary/PubSubClient @ ^2.8 build_flags = -DCONFIG_PATH=configuration.json -DDASHBOARD_PATH=dashboard.json -DREBUILD_HTML extra_scripts = scripts/preBuild.py
eine neue Version compiliert. Die Compilation läuft auch mit einigen Warnungen durch.
Processing d1_mini_pro (platform: espressif8266@3.0.0; board: d1_mini_pro; framework: arduino) CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini_pro.html PLATFORM: Espressif 8266 (3.0.0) > WeMos D1 mini Pro HARDWARE: ESP8266 80MHz, 80KB RAM, 16MB Flash . . .Building .pio\build\d1_mini_pro\firmware.bin Creating BIN file ".pio\build\d1_mini_pro\firmware.bin" using "C:\Users\Kh\.platformio\packages\framework-arduinoespressif8266\bootloaders\eboot\eboot.elf" and ".pio\build\d1_mini_pro\firmware.elf" Configuring upload protocol... AVAILABLE: espota, esptool CURRENT: upload_protocol = esptool Looking for upload port... Auto-detected: COM11 Uploading .pio\build\d1_mini_pro\firmware.bin esptool.py v3.0 Serial port COM11 Connecting.... Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: d8:bf:c0:06:3b:7e Uploading stub... Running stub... Stub running... Configuring flash size... Compressed 920704 bytes to 649248... Writing at 0x00000000... (2 %) Writing at 0x0009c000... (100 %) Wrote 920704 bytes (649248 compressed) at 0x00000000 in 57.2 seconds (effective 128.7 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... ==================== [SUCCESS] Took 147.87 seconds ====
Aber nach dem Flashen auf den D1 mini Pro crasht das Programm.
Exception (0): epc1=0x40271dbb epc2=0x00000000 epc3=0x00000000 excvaddr=0x0000003c depc=0x00000000 Illegal instruction epc1=0x40271dbb in chip_v6_rxmax_ext_ana at ??:?
Anscheinend mache ich etwas falsch. Kannst du noch ein bin-file für den D1 mini Pro auf GitHub zu Verfügung stellen?
Viele Grüße
Karlheinz