Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Ferraris Zähler mit TCRT5000 und esp8266

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Ferraris Zähler mit TCRT5000 und esp8266

Geplant Angeheftet Gesperrt Verschoben Hardware
esp8266ferrarismqtttcrt5000smlsmartmeter
485 Beiträge 49 Kommentatoren 129.5k Aufrufe 46 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • EisbaeeerE Eisbaeeer

    @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:

    1. Wenn du im Projekt bist, die Kommandozeile aufrufen
      npm-01.png
    2. npm ci dort eintippen und mit Enter ausführen
      npm-02.png
      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.
    npm-03.png

    Ich denke das du 2. noch nicht gemacht hast. Wenn du soweit bist, wirst du kein Arduino IDE mehr benuzten wollen 😉
    Gruß Eisbaeeer

    P.S.: Du kannst mir ja dein Projekt mal zukommen lassen. Wichtig ist auch, dass du die Platform richtig einstellst. In der platformio.ini
    npm-04.png

    w00dst0ckW Offline
    w00dst0ckW Offline
    w00dst0ck
    schrieb am zuletzt editiert von
    #257

    @eisbaeeer

    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
    

    😖

    EisbaeeerE 1 Antwort Letzte Antwort
    0
    • w00dst0ckW w00dst0ck

      @eisbaeeer

      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
      

      😖

      EisbaeeerE Offline
      EisbaeeerE Offline
      Eisbaeeer
      Developer
      schrieb am zuletzt editiert von
      #258

      @w00dst0ck Schau mal bitte, ob in deinem Projekt die benötigten Libraries enthalten sind.
      npm-05.png

      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ß

      Kein support per PM. Bitte im Forum Fragen stellen!

      w00dst0ckW 1 Antwort Letzte Antwort
      0
      • w00dst0ckW w00dst0ck

        @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! 👏

        EisbaeeerE Offline
        EisbaeeerE Offline
        Eisbaeeer
        Developer
        schrieb am zuletzt editiert von
        #259

        @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.

        Kein support per PM. Bitte im Forum Fragen stellen!

        w00dst0ckW 1 Antwort Letzte Antwort
        0
        • EisbaeeerE Eisbaeeer

          @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.

          w00dst0ckW Offline
          w00dst0ckW Offline
          w00dst0ck
          schrieb am zuletzt editiert von
          #260

          @eisbaeeer sagte in Ferraris Zähler mit TCRT5000 und esp8266:

          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.

          Ich wusste nicht ob das in der binary im Repo auch schon so kompiliert war.
          Leider hat das bei mir nix gezählt und ich habe daher die Odyssee mit dem Kompilieren gestartet.
          Aber vielleicht klappt es ja nachher...

          Ansonsten muss ich halt bei EspEasy bleiben und auf die Benefits Deines Projekts verzichten.

          1 Antwort Letzte Antwort
          1
          • EisbaeeerE Eisbaeeer

            @w00dst0ck Schau mal bitte, ob in deinem Projekt die benötigten Libraries enthalten sind.
            npm-05.png

            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ß

            w00dst0ckW Offline
            w00dst0ckW Offline
            w00dst0ck
            schrieb am zuletzt editiert von
            #261

            @eisbaeeer sagte in Ferraris Zähler mit TCRT5000 und esp8266:

            @w00dst0ck Schau mal bitte, ob in deinem Projekt die benötigten Libraries enthalten sind.
            npm-05.png

            Die libs sind zwar enthalten, aber ich bekomme den Fehler beim Kompilieren nicht weg.
            Das .bin file aus dem Posting von gestern Abend konnte ich zwar aufspielen, aber im Gegensatz zum EspEasy wird auch hier kein Impuls registriert.

            Sehe jetzt zwei mögliche Ursachen:

            • mein Schmitt-trigger
            • mein Wemos d1 kommt mit Deinem firmware.bin nicht klar, weil leicht andere Plattform

            Falls Du die Libs noch hochladen könntest wäre das ein Traum.
            Oder wenn Du die Zeit findest, ggf. ein Compile für den Wemos D1 Pro (8266). Dann könnte man schauen ob der Upload der Libs auch anderen helfen würde.

            Danke & Gruß

            EisbaeeerE 1 Antwort Letzte Antwort
            0
            • w00dst0ckW w00dst0ck

              @eisbaeeer sagte in Ferraris Zähler mit TCRT5000 und esp8266:

              @w00dst0ck Schau mal bitte, ob in deinem Projekt die benötigten Libraries enthalten sind.
              npm-05.png

              Die libs sind zwar enthalten, aber ich bekomme den Fehler beim Kompilieren nicht weg.
              Das .bin file aus dem Posting von gestern Abend konnte ich zwar aufspielen, aber im Gegensatz zum EspEasy wird auch hier kein Impuls registriert.

              Sehe jetzt zwei mögliche Ursachen:

              • mein Schmitt-trigger
              • mein Wemos d1 kommt mit Deinem firmware.bin nicht klar, weil leicht andere Plattform

              Falls Du die Libs noch hochladen könntest wäre das ein Traum.
              Oder wenn Du die Zeit findest, ggf. ein Compile für den Wemos D1 Pro (8266). Dann könnte man schauen ob der Upload der Libs auch anderen helfen würde.

              Danke & Gruß

              EisbaeeerE Offline
              EisbaeeerE Offline
              Eisbaeeer
              Developer
              schrieb am zuletzt editiert von
              #262

              @w00dst0ck Mach ich dir. Als Test kannst du mal 3.3V auf den Pin D5 geben, dann sollte ein Impuls registriert werden.

              Kein support per PM. Bitte im Forum Fragen stellen!

              1 Antwort Letzte Antwort
              1
              • EisbaeeerE Eisbaeeer

                @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 Eisbaeeer

                Also gut 😉 hier die Binary:
                firmware.bin
                Vergesst nicht, Eure Zählerstände auf den aktuellen Wert zu setzen.

                D Offline
                D Offline
                dibide
                schrieb am zuletzt editiert von
                #263

                @eisbaeeer Ich habe voller Zuversicht gleich gestern das Update gemacht.
                Leider zählt er bei mir immer noch zu viel (habe auch weiterhin die sporadischen Verbrauchswerte von 11kwh und mehr).
                Wäre es möglich den Entprellungswert im Dashboard als selbst zu definierenden Wert zu integriern? Dann könnte ich damit auch mal testen ab wann die Fehlimpulse nicht mehr auftreten.
                LG
                dibide

                EisbaeeerE 1 Antwort Letzte Antwort
                0
                • D dibide

                  @eisbaeeer Ich habe voller Zuversicht gleich gestern das Update gemacht.
                  Leider zählt er bei mir immer noch zu viel (habe auch weiterhin die sporadischen Verbrauchswerte von 11kwh und mehr).
                  Wäre es möglich den Entprellungswert im Dashboard als selbst zu definierenden Wert zu integriern? Dann könnte ich damit auch mal testen ab wann die Fehlimpulse nicht mehr auftreten.
                  LG
                  dibide

                  EisbaeeerE Offline
                  EisbaeeerE Offline
                  Eisbaeeer
                  Developer
                  schrieb am zuletzt editiert von Eisbaeeer
                  #264

                  @dibide Also ich werde das mal so einbauen, dass man die Entprellung selbst einstellen kann. Und ich bau auch noch einen Graphen für die digitalen Signale mit ein, damit ich mal sehe, wann die Doppelimpulse kommen. In dem Zug baue ich auch gleich mit ein, das analoge Signal auszuwerten.

                  Kein support per PM. Bitte im Forum Fragen stellen!

                  jmeister79J 1 Antwort Letzte Antwort
                  1
                  • EisbaeeerE Eisbaeeer

                    @dibide Also ich werde das mal so einbauen, dass man die Entprellung selbst einstellen kann. Und ich bau auch noch einen Graphen für die digitalen Signale mit ein, damit ich mal sehe, wann die Doppelimpulse kommen. In dem Zug baue ich auch gleich mit ein, das analoge Signal auszuwerten.

                    jmeister79J Offline
                    jmeister79J Offline
                    jmeister79
                    schrieb am zuletzt editiert von
                    #265

                    Hi,
                    ich geb hier auch mal meinen Senf dazu:
                    Ich hatte in der der Vergangheit mit dem Normealen ESPeasy Skript Ständig das Problem, dass er zu wenig gezählt hat.

                    Beim beobachten sah ich dass jeder Rotdurchlauf gezählt wird. Ich habe also endlos an dem Muliplikator für die Ferrarisscheibe rumgedoktort aber das Problem haben ich nicht in den Griff bekommen. Die Diode war perfekt eingestellt also habe ich das als Ursache ausgeschlossen
                    Ich vermutete, dass es an der WLAN Verbindung lag da ich nur die Differenzen gezählt hatte und kam dann auf dieses Projekt, da es ja Absolutwerte speichert würde ich so meine Verbindungsprobleme umgehen. Leider hab ich das nicht auf meinen NodeMCU bekommen da die bin nicht funktioniert und habe dann aus Frust mal mit ESPeasy im IioBroker den Absolutwert statt der Differenz bei Update erfasst und die Differenz selbst gebildet. (Hier unbedingt den Nulldurchgang beachten) Keine Verbesserung.
                    Nach einiger Diskussion mit @Menne (Vielen Dank für Deine Zeit) kam mir eine Idee:

                    Da ich mich nicht eingehend mit dem Projekt befasst habe und einfach damals alles was ich bei @SchimmerMediaHD gesehen Hatte nachgebaut hatte hab ich mich nicht mit den Einstellungen beschäftigt.

                    Ich erfasse beide Flanken des Rotdurchlaufs um Parität zu wahren und der Entprellwert (debounce) war auf 1000ms. Das ist natürlich viel zu Hoch wenn beispielsweise Die Sauna oder Trockner und Waschmaschine, Tischkreissäge laufen.
                    Als ich darüber nachdachte wurde mir auch klar, dass die Abweichungen auch keinerlei System folgten, ich hatte tagelang Tabellen erfasst wie weit ich weg bin und da konnte ich keine Regelmäßigkeit errechnen. Also passiert das immer wenn die Scheibe sich schnell dreht. Und mein debounce war zu hoch, hab ihn jetzt mal auf 100ms Gestellt und seit gut 10 Tagen bin ich sehr genau. Der debounce ist hier entscheidend, man muss einen Mittelweg zwischen zu klein und zu groß finden. Ist er zu groß filtert er bei schneller Scheibe den Rotdurchgang raus. Ist er zu klein habt ihr Jitter.

                    Testen mit einem Starken Verbraucher (Toaster, Wasserkocher, Backofen mit Grillfunktion, Sauna oder TKS)
                    Zählt zu viel: debounce zu klein.
                    Zählt zu wenig: debounce zu hoch.

                    Es spricht so einiges dafür den debounce als Parameter aufzunehmen.

                    K 1 Antwort Letzte Antwort
                    0
                    • jmeister79J jmeister79

                      Hi,
                      ich geb hier auch mal meinen Senf dazu:
                      Ich hatte in der der Vergangheit mit dem Normealen ESPeasy Skript Ständig das Problem, dass er zu wenig gezählt hat.

                      Beim beobachten sah ich dass jeder Rotdurchlauf gezählt wird. Ich habe also endlos an dem Muliplikator für die Ferrarisscheibe rumgedoktort aber das Problem haben ich nicht in den Griff bekommen. Die Diode war perfekt eingestellt also habe ich das als Ursache ausgeschlossen
                      Ich vermutete, dass es an der WLAN Verbindung lag da ich nur die Differenzen gezählt hatte und kam dann auf dieses Projekt, da es ja Absolutwerte speichert würde ich so meine Verbindungsprobleme umgehen. Leider hab ich das nicht auf meinen NodeMCU bekommen da die bin nicht funktioniert und habe dann aus Frust mal mit ESPeasy im IioBroker den Absolutwert statt der Differenz bei Update erfasst und die Differenz selbst gebildet. (Hier unbedingt den Nulldurchgang beachten) Keine Verbesserung.
                      Nach einiger Diskussion mit @Menne (Vielen Dank für Deine Zeit) kam mir eine Idee:

                      Da ich mich nicht eingehend mit dem Projekt befasst habe und einfach damals alles was ich bei @SchimmerMediaHD gesehen Hatte nachgebaut hatte hab ich mich nicht mit den Einstellungen beschäftigt.

                      Ich erfasse beide Flanken des Rotdurchlaufs um Parität zu wahren und der Entprellwert (debounce) war auf 1000ms. Das ist natürlich viel zu Hoch wenn beispielsweise Die Sauna oder Trockner und Waschmaschine, Tischkreissäge laufen.
                      Als ich darüber nachdachte wurde mir auch klar, dass die Abweichungen auch keinerlei System folgten, ich hatte tagelang Tabellen erfasst wie weit ich weg bin und da konnte ich keine Regelmäßigkeit errechnen. Also passiert das immer wenn die Scheibe sich schnell dreht. Und mein debounce war zu hoch, hab ihn jetzt mal auf 100ms Gestellt und seit gut 10 Tagen bin ich sehr genau. Der debounce ist hier entscheidend, man muss einen Mittelweg zwischen zu klein und zu groß finden. Ist er zu groß filtert er bei schneller Scheibe den Rotdurchgang raus. Ist er zu klein habt ihr Jitter.

                      Testen mit einem Starken Verbraucher (Toaster, Wasserkocher, Backofen mit Grillfunktion, Sauna oder TKS)
                      Zählt zu viel: debounce zu klein.
                      Zählt zu wenig: debounce zu hoch.

                      Es spricht so einiges dafür den debounce als Parameter aufzunehmen.

                      K Offline
                      K Offline
                      klassisch
                      Most Active
                      schrieb am zuletzt editiert von klassisch
                      #266

                      @jmeister79 sagte in Ferraris Zähler mit TCRT5000 und esp8266:

                      Ich erfasse beide Flanken des Rotdurchlaufs um Parität zu wahren

                      Das würde ich in diesem Fall nicht tun, weil das Tastverhältnis zu unsymmetrisch ist. Das wäre dann angemessen, wenn es wirklich paritätisch wäre, also die Rotmarkierung etwa einen halben Umfang lang. Ist es aber nicht.
                      Wenn man nur eine Flanke zählt, hat man etwas mehr Spielraum mit der debounce Zeit.

                      Beim Sternrad meiner Wasseruhren nutze ich zwar auch beide Flanken, achte bei der Einstellung darauf, daß das Tastverhältnis ziemlich symmetrisch ist,

                      EisbaeeerE 1 Antwort Letzte Antwort
                      0
                      • K klassisch

                        @jmeister79 sagte in Ferraris Zähler mit TCRT5000 und esp8266:

                        Ich erfasse beide Flanken des Rotdurchlaufs um Parität zu wahren

                        Das würde ich in diesem Fall nicht tun, weil das Tastverhältnis zu unsymmetrisch ist. Das wäre dann angemessen, wenn es wirklich paritätisch wäre, also die Rotmarkierung etwa einen halben Umfang lang. Ist es aber nicht.
                        Wenn man nur eine Flanke zählt, hat man etwas mehr Spielraum mit der debounce Zeit.

                        Beim Sternrad meiner Wasseruhren nutze ich zwar auch beide Flanken, achte bei der Einstellung darauf, daß das Tastverhältnis ziemlich symmetrisch ist,

                        EisbaeeerE Offline
                        EisbaeeerE Offline
                        Eisbaeeer
                        Developer
                        schrieb am zuletzt editiert von Eisbaeeer
                        #267

                        Es ist eindeutig so, dass der TCRT5000 prellt. Seit der Umstellung auf Interrupts wird jetzt eben jeder, auch der kürzeste Impuls erfasst. Das bringt natürlich neue Problem mit sich. Mein Sensor prellt eindeutig wie man hier sieht:
                        6b125180-c6ec-4cea-8db1-d1b6cc56cffd-image.png
                        Ich bin mir nur nicht sicher, ob man das wirklich softwareseitig in Griff bekommt, oder ob ich an den Sensoren noch Änderungen machen muss. Mal sehen.

                        Kein support per PM. Bitte im Forum Fragen stellen!

                        w00dst0ckW 1 Antwort Letzte Antwort
                        0
                        • EisbaeeerE Eisbaeeer

                          Es ist eindeutig so, dass der TCRT5000 prellt. Seit der Umstellung auf Interrupts wird jetzt eben jeder, auch der kürzeste Impuls erfasst. Das bringt natürlich neue Problem mit sich. Mein Sensor prellt eindeutig wie man hier sieht:
                          6b125180-c6ec-4cea-8db1-d1b6cc56cffd-image.png
                          Ich bin mir nur nicht sicher, ob man das wirklich softwareseitig in Griff bekommt, oder ob ich an den Sensoren noch Änderungen machen muss. Mal sehen.

                          w00dst0ckW Offline
                          w00dst0ckW Offline
                          w00dst0ck
                          schrieb am zuletzt editiert von
                          #268

                          @eisbaeeer
                          Ich habe anhand der Infos aus https://nachbelichtet.com/so-funktioniert-der-tcrt5000-mit-espeasy-als-pulse-counter/
                          meinen TCRT5000 mit einem Schmitt-Trigger versehen, damit ein klar definierter Rechteck-Impuls übermittelt wird.

                          Ggf. hilft dies weiter?

                          1 Antwort Letzte Antwort
                          1
                          • EisbaeeerE Offline
                            EisbaeeerE Offline
                            Eisbaeeer
                            Developer
                            schrieb am zuletzt editiert von
                            #269

                            Sodele sagt der Schwabe 😉
                            Ich habe jetzt einiges am Code umgebaut. Ich musste die Interrupt Routinen umbauen, damit die Entprellung ohne "delay" realisiert werden konnte. Im Moment sieht es bei mir sehr gut aus. Der TCRT5000 hat bei meiner zweiten Zählstelle, bei der abfallenden Flanke derart geprellt, dass er 4 Impulse detektiert hat. Wer gerne testen möchte, hier das Binary für den ESP8266 NodeMCU1.0 und höher.
                            a73280a4-8a14-4485-95ce-b256cf3ff18a-firmware.bin
                            Falls ich auf die Schnelle noch das Binary für den Wemos-mini hinbekomme, füge ich die hier noch ein.
                            Gebt mal Rückmeldung, ob ihr jetzt passende Zählerstände bekommt.

                            f456b574-5276-4f52-a13d-6aea4362f2c8-image.png

                            Kein support per PM. Bitte im Forum Fragen stellen!

                            ? 1 Antwort Letzte Antwort
                            1
                            • ? Offline
                              ? Offline
                              Ein ehemaliger Benutzer
                              schrieb am zuletzt editiert von
                              #270

                              @w00dst0ck , wenn man diesen Thread aufmerksam gelesen hätte, wäre der Hinweis hinfällig. Das schrieb ich schon in meinen Posts, das ich einen Schmittrigger vorgeschaltet habe.

                              w00dst0ckW 1 Antwort Letzte Antwort
                              0
                              • EisbaeeerE Eisbaeeer

                                Sodele sagt der Schwabe 😉
                                Ich habe jetzt einiges am Code umgebaut. Ich musste die Interrupt Routinen umbauen, damit die Entprellung ohne "delay" realisiert werden konnte. Im Moment sieht es bei mir sehr gut aus. Der TCRT5000 hat bei meiner zweiten Zählstelle, bei der abfallenden Flanke derart geprellt, dass er 4 Impulse detektiert hat. Wer gerne testen möchte, hier das Binary für den ESP8266 NodeMCU1.0 und höher.
                                a73280a4-8a14-4485-95ce-b256cf3ff18a-firmware.bin
                                Falls ich auf die Schnelle noch das Binary für den Wemos-mini hinbekomme, füge ich die hier noch ein.
                                Gebt mal Rückmeldung, ob ihr jetzt passende Zählerstände bekommt.

                                f456b574-5276-4f52-a13d-6aea4362f2c8-image.png

                                ? Offline
                                ? Offline
                                Ein ehemaliger Benutzer
                                schrieb am zuletzt editiert von
                                #271

                                @eisbaeeer , jetzt noch MQTT Import und ein OLED einbauen....sowie ein Eingang für Gas und einer für Wasser....dann wäre ich Happy.....😊

                                btw....habe nur laut gedacht.

                                EisbaeeerE 1 Antwort Letzte Antwort
                                0
                                • ? Ein ehemaliger Benutzer

                                  @eisbaeeer , jetzt noch MQTT Import und ein OLED einbauen....sowie ein Eingang für Gas und einer für Wasser....dann wäre ich Happy.....😊

                                  btw....habe nur laut gedacht.

                                  EisbaeeerE Offline
                                  EisbaeeerE Offline
                                  Eisbaeeer
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #272

                                  @menne Wenn das jetzt mal passt, könnte ich mir das schon noch vorstellen. OLED ist ja kein Problem. Hast du ein Beispiel wie das aussehen könnte? Was soll drauf?

                                  Kein support per PM. Bitte im Forum Fragen stellen!

                                  ? w00dst0ckW 2 Antworten Letzte Antwort
                                  0
                                  • ? Ein ehemaliger Benutzer

                                    @w00dst0ck , wenn man diesen Thread aufmerksam gelesen hätte, wäre der Hinweis hinfällig. Das schrieb ich schon in meinen Posts, das ich einen Schmittrigger vorgeschaltet habe.

                                    w00dst0ckW Offline
                                    w00dst0ckW Offline
                                    w00dst0ck
                                    schrieb am zuletzt editiert von
                                    #273

                                    @menne
                                    Sorry, das Detail habe ich bei über 270 Antworten leider übersehen.
                                    Denke aber, dass mein Hinweis nicht so schlimm war. 😁

                                    1 Antwort Letzte Antwort
                                    0
                                    • EisbaeeerE Eisbaeeer

                                      @menne Wenn das jetzt mal passt, könnte ich mir das schon noch vorstellen. OLED ist ja kein Problem. Hast du ein Beispiel wie das aussehen könnte? Was soll drauf?

                                      ? Offline
                                      ? Offline
                                      Ein ehemaliger Benutzer
                                      schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                                      #274

                                      @eisbaeeer , antworte später, muss weg.
                                      @w00dst0ck , das sollte kein Vorwurf sein, nur ein Hinweis......😊

                                      ? 1 Antwort Letzte Antwort
                                      0
                                      • EisbaeeerE Eisbaeeer

                                        @menne Wenn das jetzt mal passt, könnte ich mir das schon noch vorstellen. OLED ist ja kein Problem. Hast du ein Beispiel wie das aussehen könnte? Was soll drauf?

                                        w00dst0ckW Offline
                                        w00dst0ckW Offline
                                        w00dst0ck
                                        schrieb am zuletzt editiert von w00dst0ck
                                        #275

                                        @eisbaeeer
                                        Hab noch dieses Projekt aus dem Home Assistent Universum entdeckt, das Deinem sehr ähnelt.
                                        Hier wurde schon ein OLED eingebunden.

                                        Vielleicht sind da Anregungen dabei?!

                                        1 Antwort Letzte Antwort
                                        0
                                        • EisbaeeerE Offline
                                          EisbaeeerE Offline
                                          Eisbaeeer
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #276

                                          Die Impulse funktionieren bei mir jetzt zuverlässig. Kein Prellen mehr.
                                          Die liebe Nachkommastelle macht aber noch Probleme. Ich habe in der aktuellen Version die Nachkommastelle entfernt, da hier bei jedem Impuls falsch addiert wird, wenn der Zählerstand größer ist (bei mir 5 stellig). Deshalb hatte ich auch nach der Verbesserung immer zu viel KWh auf dem Zähler.
                                          Der Grund liegt darin, dass die Variable float bei krummen Teilern (bei mir z.B. 75 Umdrehungen pro KWh) beim Addieren überläuft. Ich muss mir erst noch überlegen, wie ich den Zählwert vor dem Komma von der Nachkommastelle entkopple, da float für den Zählerstand dann zu klein ist.
                                          Jetzt teste ich erstmal eine längere Zeit ohne Nachkomma, ob alles passt. Wer mitmachen möchte, hier die Binary:
                                          firmware.bin
                                          Grüße Eisbaeeer

                                          Kein support per PM. Bitte im Forum Fragen stellen!

                                          falke69F K 2 Antworten Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          331

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe