NEWS
Ferraris Zähler mit TCRT5000 und esp8266
-
Redet Ihr jetzt über Lösungen per ESPAesy?
Solche habe ich mehrfach implementiert und mit ESPHome (ioBroker Adapter verfügbar) geht das auch, vermutlich auch mit Tasmota. Mit ESPHome kann man noch 20kHz Impulse zählen mit einem ESP8266.
Habe dort was dazu geschrieben. -
@klassisch , hat das auch MQTT Import und eine OLED SSD1306/SH1106 Ansteuerung? Sonst ist das für mich unrelevant.
-
@menne Dieses Display scheint es auch für ESPHome und ESPEasy zu geben. Habe es aber weder da noch dort verwendet. Sowohl mein S0 Zähler als auch meine Wasserzähler kann man nach wie vor auch noch analog ablesen.
-
@klassisch , Merci.
Werde die Tage mein Zähler noch beobachten, dann werde ich mich mal in ESPHome einarbeiten..... -
[OT]
@menne sagte in Ferraris Zähler mit TCRT5000 und esp8266:dann werde ich mich mal in ESPHome einarbeiten.....
Es gibt einen ESPHome Adapter von @Dutchman. Wenn Dein ioBroker auf eine Linux Maschine läuft, instaliert der anscheinend alles automatisch. Ich habe Windows und da mußte ich esphome manuell installieren. Kein Thema, wenn man die passende python Version aktiv hat. Unter Windows gibt es allerdings das "Dashboard" nicht. Geht aber auch so. Konfiguriert wird in einer Sprache namens yaml, die das gleiche kann wie json, nur halt (unnötig) anders ist. Dann wird nur das Erforderliche auf den ESP geflasht. Dadurch erreicht man dann schlankere codes und höhere Arbeitsgeschwindigkeiten. Und zahlt mit einer reduzierten Konfiguriertbarkeit über den ESP Webserver.
-
@klassisch , schon installiert. Mein System läuft auf einem RPI 4....
-
@eisbaeeer komme seit gestern nicht mehr auf das webinterface drauf.... Ip gleich geblieben, alles online , nur kein interface mehr. Neu flashen wird wohl nix bringen denke ich
// Komisch am handy kappts nicht dafur am rechner klappts.... Ich nehme es zurück ... Aber trotzdem er hat in knppen 10 tagen 18 kw mehr gezählt...
-
Ich lese hier mit, kann aber derzeit nicht am Projekt weiterarbeiten. Ich denke in frühestens 3-4 Wochen.
Grüße Eisbaeeer -
@eisbaeeer
Kann man Deinen Ferraris_MQTT_Energy_Counter_Meter_TCRT5000 auch OTA in einen bestehenden Wemos D1 mit EspEasy flashen?
Oder ist initial die Arduino IDE zu nutzen?Gruß
Kai -
@w00dst0ck kannst du direkt flashen. Über OT A oder per upload.
-
@jmeister79 sagte in Ferraris Zähler mit TCRT5000 und esp8266:
Zur Zeit behauptet er, er könne webserver.h nicht finden
Konntest Du das Problem mit der webserver.h in der Arduino IDE lösen?
Komme hier leider auch nicht weiter.. -
@w00dst0ck Das wird mit der Arduino IDE nicht funktionieren! Die Webseite, die er nicht findet, wird dynamisch compiliert. Das kann Arduino IDE nicht. Du musst dafür VSCode verwenden damit das compiliert. Gruß Eisbaeeer
-
@eisbaeeer
Na dann schaue ich mal, ob ich mit VSCode weiter komme.
Die Hinweise unter https://github.com/Eisbaeeer/Ferraris_MQTT_Energy_Counter_Meter_TCRT5000#steps-to-get-running sind dann allerdings veraltet.Kann es sein, dass in dem beigefügten \binary\firmware.bin noch nicht auf D5 umgestellt ist? Oder liegt es eher daran, dass das binary für ein anderes Board kompiliert wurde?
Hab sie zwar OTA aufspielen können, aber im Gegensatz zum bisher verwendeten ESPEasy wurden keine Impulse gezählt.Aber was ich schon sehen konnte, gefällt mir sehr gut!
-
@w00dst0ck Oh sorry. Ja der Part ist veraltet. Wichtig ist auch, nach dem Installieren von VSCode die Schritte vom Framework zu machen. Das ist in der Anleitung vom Framework beschrieben. Das muss zwingend gemacht werden, sonst compiliert er die Webseite nicht. Also nur 1. Und 2 ist nötig!
Bei Fragen einfach melden!
Gruß Eisbaeeer -
@eisbaeeer sagte in Ferraris Zähler mit TCRT5000 und esp8266:
Bei Fragen einfach melden!
Habs soweit eigentlich hinbekommen und das "npm ci liefert" keine Fehler.
Aber beim Kompilieren erhalte ich dann ein paar npm ERR. Das erstellte File firmware.bin hab ich mal geflashed, aber ich bekomme dann keinen Zugriff auf den ESP.Das Log hab ich mal hier gepostet: https://pastebin.com/ikPdYBzm
Kannst Du damit was anfangen und mir einen Tipp geben?Danke & Grüße
-
@w00dst0ck Hi. Das sieht ja schon gut aus. Bitte prüfe mal, ob du diese 3 Schritte bei dir nachvollziehen kannst. Du musst eigentlich dann nur noch eines tun:
- Wenn du im Projekt bist, die Kommandozeile aufrufen
- npm ci dort eintippen und mit Enter ausführen
Das sollte ohne Fehler durchlaufen. Mit diesem Befehl installiert npm im Hintergrund den benötigten Compiler für die Webpage. Wie gesagt wird diese zur Laufzeit compiliert, also erst beim Compilieren aufgrund der dashboard items und config items erstellt.
Wenn du dann das Projekt compilierst, sollte in den logs folgender Eintrag angezeigt werden. Das zeigt, dass webpack installiert wurde und die Webseite erstellt werden kann.
Ich denke das du 2. noch nicht gemacht hast. Wenn du soweit bist, wirst du kein Arduino IDE mehr benuzten wollen
Gruß EisbaeeerP.S.: Du kannst mir ja dein Projekt mal zukommen lassen. Wichtig ist auch, dass du die Platform richtig einstellst. In der platformio.ini
- Wenn du im Projekt bist, die Kommandozeile aufrufen
-
@kral84 @Menne
Also ich habe jetzt bei mir mal beobachtet und festgestellt, dass die Fehlimpulse "NICHT" im silbernen Bereich auftreten. Es scheint eher so, dass das digitale Signal prellt. Das fällt jetzt umso mehr ins Gewicht, nachdem ich die Zählung auf Interrupts umgestellt habe.
In der aktuellen Version habe ich die Entprellung mal auf 80ms gestellt. Mal sehen, ob der Zählerstand jetzt passt. Ich melde mich die nächsten Tage. Falls es klappt, werde ich die aktuelle Version in Github hochladen. Wer mit testen möchte, einfach kurz melden.
Grüße EisbaeeerAlso gut hier die Binary:
firmware.bin
Vergesst nicht, Eure Zählerstände auf den aktuellen Wert zu setzen. -
Direkt im Projekt-Ordner liegt ja keine package.json und somit läuft npm ci dort nicht durch.
PS C:\Users\dummyuser\Downloads\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000-master\source\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000> npm ci npm ERR! code ENOENT npm ERR! syscall open npm ERR! path C:\Users\dummyuser\Downloads\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000-master\source\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000\package.json npm ERR! errno -4058 npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\dummyuser\Downloads\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000-master\source\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000\package.json' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent
Die Doku des IOT Frameworks hatte ich so verstanden, dass ich npm ci dort in dem Folder ausführen muss.
Und hier läuft das auch alles durch.PS C:\Users\dummyuser\Downloads\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000-master\source\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000\.pio\libdeps\d1_mini_pro\ESP8266 IoT Framework> npm ci npm WARN prepare removing existing node_modules/ before installation > cwebp-bin@5.1.0 postinstall C:\Users\dummyuser\Downloads\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000-master\source\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000\.pio\libdeps\d1_mini_pro\ESP8266 IoT Framework\node_modules\cwebp-bin > node lib/install.js √ cwebp pre-build test passed successfully > pngquant-bin@6.0.0 postinstall C:\Users\dummyuser\Downloads\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000-master\source\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000\.pio\libdeps\d1_mini_pro\ESP8266 IoT Framework\node_modules\pngquant-bin > node lib/install.js √ pngquant pre-build test passed successfully > optipng-bin@7.0.0 postinstall C:\Users\dummyuser\Downloads\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000-master\source\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000\.pio\libdeps\d1_mini_pro\ESP8266 IoT Framework\node_modules\optipng-bin > node lib/install.js √ optipng pre-build test passed successfully > mozjpeg@7.1.0 postinstall C:\Users\dummyuser\Downloads\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000-master\source\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000\.pio\libdeps\d1_mini_pro\ESP8266 IoT Framework\node_modules\mozjpeg > node lib/install.js √ mozjpeg pre-build test passed successfully > gifsicle@5.2.0 postinstall C:\Users\dummyuser\Downloads\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000-master\source\Ferraris_MQTT_Energy_Counter_Meter_TCRT5000\.pio\libdeps\d1_mini_pro\ESP8266 IoT Framework\node_modules\gifsicle > node lib/install.js √ gifsicle pre-build test passed successfully added 1062 packages in 95.478s
Die platformio.ini sieht bei mir so aus
[env:d1_mini_pro] platform = espressif8266@3.0.0 board = d1_mini_pro framework = arduino board_build.f_cpu = 160000000L upload_speed = 921600 monitor_speed = 115200 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
-
@w00dst0ck Schau mal bitte, ob in deinem Projekt die benötigten Libraries enthalten sind.
Falls nicht, werde ich die libs auch noch auf Github hochladen. Das hatte ich mir gespart, da diese normalerweise automatisch nachinstalliert werden bzw. über PlatformIO nachinstalliert werden können.
Gruß -
@w00dst0ck sagte in Ferraris Zähler mit TCRT5000 und esp8266:
@eisbaeeer
Na dann schaue ich mal, ob ich mit VSCode weiter komme.
Die Hinweise unter https://github.com/Eisbaeeer/Ferraris_MQTT_Energy_Counter_Meter_TCRT5000#steps-to-get-running sind dann allerdings veraltet.Kann es sein, dass in dem beigefügten \binary\firmware.bin noch nicht auf D5 umgestellt ist? Oder liegt es eher daran, dass das binary für ein anderes Board kompiliert wurde?
Hab sie zwar OTA aufspielen können, aber im Gegensatz zum bisher verwendeten ESPEasy wurden keine Impulse gezählt.Aber was ich schon sehen konnte, gefällt mir sehr gut!
Mir ist eben noch aufgefallen, dass du hier von D5 sprichst. D5 ist im Code ja auf den Zähler4 gemapped. Also auch im Binary. Du solltest also beim 4. Zähler Impulse bekommen, wenn du D5 nutzt.