Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Ferraris Zähler mit TCRT5000 und esp8266

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Ferraris Zähler mit TCRT5000 und esp8266

    This topic has been deleted. Only users with topic management privileges can see it.
    • w00dst0ck
      w00dst0ck @Eisbaeeer last edited by w00dst0ck

      @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 Reply Last reply Reply Quote 0
      • Eisbaeeer
        Eisbaeeer Developer last edited by

        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

        falke69 K 2 Replies Last reply Reply Quote 1
        • falke69
          falke69 @Eisbaeeer last edited by

          @eisbaeeer

          also irgendwie habe ich mit den zwei letzten Updates Probleme.
          Ich habe jetzt drei NodeMCU getestet. Alle drei verlieren die Mqtt Einstellungen
          und den Zählerstand. Das einzigste, was erhalten bleibt, sind die WLAN Einstellungen.

          Bin ich der einzige, der die "Probleme" hat?

          Eisbaeeer 1 Reply Last reply Reply Quote 0
          • K
            kral84 @Eisbaeeer last edited by

            @eisbaeeer darauf hab ich gewartet, danke

            1 Reply Last reply Reply Quote 0
            • Eisbaeeer
              Eisbaeeer Developer @falke69 last edited by Eisbaeeer

              @falke69 Das liegt daran, dass sich die Konfiguration geändert hat. Ist also richtig so. Zusätzliche Felder auf der Konfigurationsseite zieht nach sich, dass man die Einstellungen neu machen muss.

              falke69 1 Reply Last reply Reply Quote 0
              • falke69
                falke69 @Eisbaeeer last edited by falke69

                @eisbaeeer

                das bedeutet also, dass das normal und gewünscht ist, das es immer wieder die Standardwerte einträgt?

                2021-10-13_170150.jpg

                Edit: habe soeben nochmal getestet. Sobald ich den Namen "Messplatz" gegen "Stromzaehler"
                ersetze, löscht es meine eingetragenen Mqtt Einstellungen, auf die Standartvorgabe und
                ich verliere damit jedesmal die Verbindung zu iobroker.

                Eisbaeeer 1 Reply Last reply Reply Quote 0
                • mahuMUC
                  mahuMUC last edited by mahuMUC

                  Hallo Zusammen,

                  Erstmal Vielen Dank @Eisbaeeer für dieses Projekt.
                  Ich bin auch ein wenig am testen und habe wohl ein ähnliches oder das gleiche Problem wie falke69 mit dieser neuen v.0.91.
                  Im Serial Monitor ist mir aufgefallen dass der NodeMCU irgendwann abstürzt:

                  ...
                  3fffffb0: feefeffe feefeffe 3ffe8900 401012c5
                  <<<stack<<<
                  --------------- CUT HERE FOR EXCEPTION DECODER ---------------

                  ets Jan 8 2013,rst cause:2, boot mode:(3,6)

                  load 0x4010f000, len 3460, room 16
                  tail 4
                  chksum 0xcc
                  load 0x3fff20b8, len 40, room 4
                  tail 4
                  chksum 0xc9
                  csum 0xc9
                  v000d6620
                  ~ld
                  Connected to stored WiFi details
                  192.168.1.78
                  Config data checksum mismatch
                  Internal data checksum mismatch
                  Connected.
                  IP-address : 192.168.1.20
                  Silver detected; waiting for red
                  Red detected; Waiting for silver
                  New WS client
                  Attempting MQTT connection...
                  failed, rc=-2 try again in one minute

                  Ab diesem Zeitpunkt sind alle Einstellungen unter Configuration wieder auf Standard gesetzt (auch wenn ich den Namen Messplatz nicht geändert hatte, nur die IP).

                  Mir ist etwas Ähnliches schon ab Version 0.8 aufgefallen - hier musste ich einen MQTT zwingend konfigurieren sonst kam es wiederholt zum Absturz, aber da wurde die Konfiguration nie auf Standard zurück gesetzt. (das ist jetzt neu)
                  Auch die Einträge zu Config data checksum mismatch und Internal data checksum mismatch sind neu, die v0.9 war mit konfigurietem MQTT auch stabil.

                  Ich habe hier NodeMCUv3 im Einsatz, vielleicht mach ich auch etwas falsch ? Ich teste bis jetzt nur am Basteltisch da ich den Ferraris Zähler den ich smart machen möchte erst im November besuche 🙂

                  Eisbaeeer 1 Reply Last reply Reply Quote 0
                  • Eisbaeeer
                    Eisbaeeer Developer @falke69 last edited by

                    @falke69 Ähm, nein, das sollte nicht so sein. Ich habe mich eben auch gewundert, dass meine Werte weg waren. Ich schau gleich mal in den Code, was da noch schief läuft.

                    falke69 1 Reply Last reply Reply Quote 0
                    • Eisbaeeer
                      Eisbaeeer Developer @mahuMUC last edited by

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

                      Config data checksum mismatch
                      Internal data checksum mismatch

                      Danke für den Hinweis. Das kann ich bei mir nachstellen. Ich vermute gerade noch ein Problem beim Speichern der Werte und den Interrupt Routinen. Scheinbar mögen sich die beiden nicht 😖
                      Das Problem beim ESP8266 ist ja, dass es keinen wirklichen EEPROM gibt und das ganze über den Flash Speicher realisiert wird. Und das ganze scheint sich wohl mit den Interrupts zu beißen.
                      Eure Rückmeldungen helfen auf jeden Fall! Danke dafür.
                      Grüße Eisbaeeer

                      1 Reply Last reply Reply Quote 0
                      • falke69
                        falke69 @Eisbaeeer last edited by

                        @eisbaeeer

                        kein Problem, dann warten wir auf ein Update 🙂👍

                        1 Reply Last reply Reply Quote 0
                        • mahuMUC
                          mahuMUC last edited by mahuMUC

                          Ich weiss nicht ob es bei der Fehlersuche hilft, aber vielleicht lässt es sich doch weiter eingrenzen, da ich vermute dass es mit dem MQTT connect zusammenhängt:

                          Mit Version 0.9 hatte ich ja erst vermutet dass ich einen mqtt broker zwingend eintragen muss damit der NodeMCU nicht abstürzt aber ich habe jetzt festegestellt dass wenn ich den mqtt adapter am iobroker stoppe, der nodemcu auch irgendwann abstürzt. Also wenn das Übermitteln der Werte nicht klappt scheint es die Exception irgendwann auszulösen.

                          Dann habe ich nochmal Version 0.6 aus diesem Thread weiter oben geflasht weil die Version immer stabil war, allerdings ist mir hier jetzt auch etwas aufgefallen. Wenn der mqtt nicht erreichbar ist erscheint im serial log "Attempting MQTT connection..." in dieser Zeit (ich weiss nicht genau wie der timeout hier gewählt ist) zählt er nicht weiter. Also weitere Impulse werden komplett ignoriert. Aber die v0.6 stürzt dafür nicht ab.

                          Als Laie würde ich vermuten dass das Zählen und die mqtt Meldung nicht parallel laufen können sondern in Schleife hintereinander abgearbeitet werden müssen ?

                          VG

                          D Eisbaeeer 2 Replies Last reply Reply Quote 1
                          • D
                            Dan.Master @mahuMUC last edited by Dan.Master

                            Zu der Kommastellen probelamtik denke ich man könnte sich dann komplett von den floats trennen und alles mit dem Faktor 1000 höher "setzen" und damit 3 Kommastellen in den "ganzzahlen" Bereich bringen. Damit hat man vor allem die Float ungenauigkeit bei der Addition von kleinen Zahlen mit großen Zahlen umgangen, die hier in der Natur der Zählweise der Floats besteht.
                            Damit hat man auch nur "3 Nachkommastellen" aber über die Zeit/Impulsauswertung auf 1 Watt genau zu sein ist hier auch eher ein Schätzeisen.
                            Nur so als "Gedanke".

                            Gruß
                            DerDani

                            Eisbaeeer falke69 2 Replies Last reply Reply Quote 0
                            • Eisbaeeer
                              Eisbaeeer Developer @Dan.Master last edited by

                              @dan-master Ja, das ist wohl die einzige Möglichkeit, das vernünftig zu realisieren. Leider gibt es Rechenfehler mit float und ausserdem reicht die Stellenzahl bei weitem nicht. Ich bin mir nur noch nicht sicher, ob ich das wirklich realisiere oder ob ich einfach die aktuelle Anzahl der Umdrehungen per MQTT mitsende. Dann kann sich das jeder selbst zusammenbasteln. Ich selbst habe für die Nachkommastelle keinen usecase. Mir reichen die vollen KWh.
                              Gruß Eisbaeeer

                              D 1 Reply Last reply Reply Quote 1
                              • Eisbaeeer
                                Eisbaeeer Developer @mahuMUC last edited by

                                @mahumuc Ja genau da war der Hund vergraben. Die MQTT Library und die LittleFS Library hat dazu geführt, dass der ESP eine exception verursacht hat. Ich bin jetzt den Weg gegangen, dass bei einer MQTT Übertragung und beim Speichern der Werte in den Flash der Interrupt abgeschaltet wird. Das bedeutet natürlich, dass während dieser "kurzen" Zeit kein Impuls gezählt wird. Ich denke aber, dass das nicht ins Gewicht fällt.
                                Was heißt das jetzt genau?

                                1. Der MQTT Server sollte erreichbar sein. Falls er das nicht ist oder nicht verwendet wird, wird während dem Versuch zum MQTT Server eine Verbindung aufzubauen, kein Impuls gezählt. Ich denke aber, dass hier alle MQTT nutzen werden, deshalb habe ich erstmal keine Möglichkeit eingebaut, MQTT abzuschalten.
                                2. Währen dem Speichern wird ebenfalls kein Impuls gezählt. Gespeichert wird bei jeder vollen KWh.

                                Ich denke aber trotzdem, dass es besser ist, die Impulse mittels Interrupt zu detektieren, also ohne.
                                Wer testen möchte, hier die Binary:
                                firmware.bin
                                Grüße Eisbaeeer

                                falke69 1 Reply Last reply Reply Quote 0
                                • falke69
                                  falke69 @Eisbaeeer last edited by

                                  @eisbaeeer

                                  so gleich mal die neue Version versucht aufzuspielen. Über Fileupload, klappt das bei mir irgendie nicht so richtig. Also komplett neu geflasht. Jetzt wird mir das Gerät als Ferraris Mqtt im WLAN angezeigt. Verbindung klappt auch, aber irgendwie will der die WLAN Daten (copy & paste) nicht fressen.
                                  Die WLAN Verbindung wird auch getrennt, dann wird mir das Gerät immer noch im WLAN angezeigt und es lässt sich auch wieder verbinden.
                                  Ich habe es in der Fritzbox s eingestellt, dass das Gerät eigentlich die selbe IP wieder bekommen sollte.
                                  Aber weder unter der alten IP ist das Gerät erreichbar, noch wird irgenein neues Gerät in der Fritzbox angezeigt. DHCP ist aber aktiviert.

                                  Könntest Du das vielleicht nochmal prüfen?

                                  Eisbaeeer 1 Reply Last reply Reply Quote 0
                                  • Eisbaeeer
                                    Eisbaeeer Developer @falke69 last edited by

                                    @falke69 An der Stelle habe ich eigentlich nichts gemacht. Bei einer Fritz Box (hab ich hier auch) solltest du ihn unter http://ferraris.fritz.box im Netzwerk erreichbar sein. Ich teste aber gerne nochmal.

                                    falke69 1 Reply Last reply Reply Quote 0
                                    • falke69
                                      falke69 @Eisbaeeer last edited by

                                      @eisbaeeer

                                      das Gerät verschwindet halt nicht in den WLAN Einstellungen. Das heißt, ich kann mich jeder Zeit
                                      wieder mit dem Gerät direkt über WLAN verbinden.
                                      Wenn sich das Gerät mit der Fritzbox verbinden würde, wäre es auch bei den verfügbaren WLAN Geräten nicht mehr zu sehen.
                                      Das ist das Problem, was ich aktuell habe. So wie es aussieht, werden die eingegebenen WLAN Daten nicht gespeichert.
                                      Bisher ging das immer ohne Probleme. Das Gerät war auch jedesmal, nachdem ich die WLAN Daten eingetragen habe unter der alten IP erreichbar.

                                      Ansonsten sehr gute Leistung! und ein tolles Projekt!👍

                                      1 Reply Last reply Reply Quote 0
                                      • mahuMUC
                                        mahuMUC last edited by

                                        Firmware Update über Webinterface hatte bei mir diesmal auch nicht funktioniert, er zeigte zwar Erfolg an, war dann aber immer noch auf der alten Version.
                                        Dann habe ich neu geflasht und wunderbar jetzt funktioniert Alles - auch keine Abstürze mehr - sehr schön.
                                        Auch der neue MQTT_Connected Status im Dashboard gefällt 🙂

                                        Mir ist jetzt noch aufgefallen dass wenn man die Daten für mqtt ändert (zb Port) scheint das keine direkte Auswirkung zu haben
                                        und wirken erst nach einem Neustart. Könnte man ins Dashboard für eine zukünftige Version vielleicht noch einen Neustart Button einbauen ?

                                        Vielen Dank für deine Arbeit @Eisbaeeer

                                        falke69 1 Reply Last reply Reply Quote 0
                                        • falke69
                                          falke69 @mahuMUC last edited by

                                          @mahumuc

                                          geht bei Dir das WLAN?
                                          Ich habe meinen vorher komplett gelöscht und dann die neue Firmaware aufgespielt. Aber die WLAN Verbindung will einfach nicht. 😕

                                          mahuMUC 1 Reply Last reply Reply Quote 0
                                          • mahuMUC
                                            mahuMUC @falke69 last edited by

                                            @falke69

                                            ja ich muss nach dem neu flashen zwar erst mit fixer ip zum esp verbinden aber nach Änderung meiner WLAN Daten war er wieder ganz normal online.

                                            falke69 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            700
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            esp8266 ferraris mqtt smartmeter sml tcrt5000
                                            49
                                            485
                                            97075
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo