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

    • Cloud/Vis-Offline-Weihnachtsangebot 2024

    • js-controller Lucy (Version 7.0) jetzt im Stable Repository

    • ioBroker 10-Jahres Community Treffen - ein kleiner ReCap

    Ferraris Zähler mit TCRT5000 und esp8266

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

      @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

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

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

        D1 mini Pro

        Hast du mal versucht, diese Parameter beim Compilieren einzustellen? Habe leider gerade keinen D1 mini Pro zur Hand 😉

        https://docs.platformio.org/en/latest//boards/espressif8266/d1_mini_pro.html

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

          @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

          1 Reply Last reply Reply Quote 0
          • A
            Alex_K last edited by

            Re: Ferraris Zähler mit TCRT5000 und esp8266

            Hallo, bin ja hier absoluter Anfänger,
            bis zum Mqtt bin ich gekommen, alöso im Dashboard kommen Daten/Impulse an,
            wie bekomme ich das jetzt visualisiert ?
            Gibt es da kein Blockly oder sonstiges Script dazu ?

            LG Alex

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

              @alex_k Hi und Willkommen! Welche Version baust du denn? Sonoff, ESPEasy oder das Framework?
              Wo genau kommst du nicht weiter?
              Grüße

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

                @eisbaeeer Hi erstmal thx für das ganze Projekt,
                über dein Github habe ich schon 2 ESP8266 D1 mini geflasht und auch schon die TRCT5000 dran,
                einmal Strom und einmal Gaszähler, die liefern auch schon beide Daten in iobroker über mqtt
                Screenshot 2022-12-05 235304.jpg

                Vom IoBroker hab ich keinen blassen Schimmer, nur schon verstanden das ich zu berechnen ein script bzw. blockly benötige und anscheinend auch noch was zum Visualisieren:

                1634329362344-0e5b6f93-91a2-4a29-9809-c5e6f8c7429a-image.png

                Da bräuchte ich einen Schubs in die richtige Richtung wie es da weitergeht.
                In der Art z.B.1596880935386-img_0212-resized.png

                Das wird noch etwas Arbeit 😉

                LG Alex

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

                  @alex_k
                  Ok, das hat ja jetzt erstmal nichts mit dem Projekt zu tun. Damit du so schöne Kurven malen kannst, musst du die Werte erstmal sammeln. Z.B. kannst du mit dem History Adapter die Daten speichern. Also erstmal History Instanz erstellen.
                  Danach bekommst du hinter jedem Objekt so ein Rädchen. Mit dem Rädchen aktivierst du History für die Objekte, die du als Kurve darstellen möchtest.
                  436cbb36-12a3-4b6a-8823-ca75dd5464d2-image.png
                  Wenn die Daten gesammelt sind, kannst du mit einem Diagram Adapter z.B. Flot die Kurven erstellen.
                  In Flot kannst du dir dann Diagramme nach Belieben zusammenbauen.
                  Darstellen in VIS macht man dann bei Flot z.B. über das iframe widget. Dort hinterlegst du den erstellen Link von Flot.
                  Gruß

                  1 Reply Last reply Reply Quote 0
                  • A
                    Alex_K last edited by Alex_K

                    Hallo nochmal, ich bin mal wieder festgefahren, den einzelnen Impuls würde ich auch gerne noch aufzeichnen, was muß ich den im ioBroker kopieren bzw neu einfügen um dem Impuls / Loop angezeigt zu bekommen ?
                    1644744663638-bb9757e1-25dc-4db4-a6a6-b8ada668e653-image.png
                    Momentan sieht das so bei mir aus :Screenshot 2022-12-18 171330.jpg
                    LG Alex

                    Eisbaeeer 2 Replies Last reply Reply Quote 0
                    • Eisbaeeer
                      Eisbaeeer Developer @Alex_K last edited by

                      @alex_k Dann fehlt dir nur noch die Visualisierung z.B. mit Float. Hier findest du ein gutes Tutorial: https://www.youtube.com/watch?v=s29VsYzQeOw
                      Gruß Lars

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

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

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

                          @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

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

                            @khkissel Noch ne Frage: Auf max. wieviel Sekunden kann ich das MQTT Publish Interval einstellen? Mir kommen da zuviel Werte über MQTT an.

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

                              @khkissel Der maximale Wert derzeit sind 255 Sekunden.

                              In main.cpp:

                              int mqttPublishTime;          // last publish time in seconds
                              

                              In configuration.json:

                               {
                                      "name": "mqtt_interval",
                                      "label": "MQTT Publish Interval (seconds)",
                                      "type": "int8_t",
                                      "value": "30"
                                  },
                              

                              Das ist der maximale Wert, der mit "int" möglich ist. Wer länger möchte, muss diese Variablen höher deklarieren.

                              Zu der Version 0.93 muss ich zugeben, dass ich wohl verpennt habe, diese auf Github zu pushen. Leider finde ich die V0.93 auch lokal nicht mehr. Was war denn in der v0.93 noch geändert? Ich habe inzwischen keine Ferraris Zähler mehr. Aber der Code lief bei mir über 12 Monate mit der Version 0.92 ohne Probleme.
                              Gruß Lars

                              K 1 Reply Last reply Reply Quote 0
                              • V
                                viruz last edited by viruz

                                Nabend,

                                ich bin ein Neuling, was das Thema angeht, also seht mir bitte mein Unvermögen nach.

                                Ich habe mein TRCT5000 über A0 an A0 an meinem NodeMCU Lolin V3 angeschlossen und die binary aus dem Git geflasht, was soweit auch funktioniert hat. Danach habe ich die mqtt Verbindung konfiguriert, der Connect zum Sonoff Adapter im ioBroker funktioniert auch. Anschließend habe ich meinen Zählerstand hinterlegt. Allerdings wird im ioBroker/Sonoff kein Baum erzeugt
                                1c2a67e2-f81e-4dad-9eb2-efc2ec4afa67-image.png
                                und im Dashboard füllen sich die Felder nicht. Es sieht die ganze Zeit so aus:
                                bee714f9-bef1-4233-b41d-946e1e926acf-image.png
                                295784a6-1238-4bc0-93ab-ef60d7ddbd75-image.png

                                Das ist meine Config:
                                690886de-1714-42f8-9b68-2264a6b7be7f-image.png

                                Und das mein Stromzähler:
                                0a8737a7-c5bf-4261-99b6-cf89b4888fcc-image.png

                                Habt ihr Tipps bzw. habe ich was falsch gemacht?

                                Danke im Voraus!

                                Gruß
                                Kai

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

                                  @viruz Hi. Der A0 dient nur zum Ausrichten des Sensors. Du muss nach dem Ausrichten des Sensors auf einen der Eingangspins umstecken!
                                  Gruß Lars

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

                                    @eisbaeeer moin. Du meinst, am Sensor D0 und am Board dann auch?

                                    Gruß und frohe Weihnachten
                                    Kai

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

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

                                      V 1 Reply Last reply Reply Quote 0
                                      • M
                                        mazzzon last edited by

                                        @Eisbaeeer da die aktuelle Version nicht richtig funktuniert würde ich gerne meine eigene .bin bauen. Also habe ich platformio installiert und das bauen funktioniert auch bereits bei anderen Projekten. Nun versuche ich dein Projekt zu bauen aber bekomme dabei folgenden Fehler:

                                         File "C:\Users\user\.platformio\penv\lib\site-packages\platformio\__main__.py", line 102, in main
                                        ...
                                        

                                        Natürlich habe ich mir bereits deine "Installation Guide" Seite durchgelesen, wo auch beschrieben wird dass das Programm nicht direkt gebaut werden kann weil es keine default main.cpp gibt. Das verstehe ich allerdings nicht ganz, dort liegt doch die main.cpp im src folder. Ich würde eher einen Buildfehler erwarten das die Librarys wie webServer.h nicht gefunden werden. Könntest du mir das bitte erklären? 😄

                                        Ich danke dir schon mal und wünsche allen frohe Weihnachten 🎄

                                        Eisbaeeer 1 Reply Last reply Reply Quote 0
                                        • V
                                          viruz @khkissel last edited by viruz

                                          @khkissel hi. Wie hast du das über Tasmota realisiert? Ich tracke damit auch schon meinen Gasverbrauch. Allerdings arbeite ich dann mit ioBroker, InfluxDB und Grafana.

                                          Gruß
                                          Kai

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

                                            @mazzzon Hi. Ich habe gerade die finale Version hochgeladen. Jetzt funktioniert auch das Dashboard und Configuration im Web. Dies wird aber meine letzte Version sein. Ich werde diesen Pfad nicht weiterentwickeln. Für weitere Entwicklungen bitte den Forks auf Github folgen. Grüße Lars

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.4k
                                            Online

                                            30.6k
                                            Users

                                            77.2k
                                            Topics

                                            1.2m
                                            Posts

                                            esp8266 ferraris mqtt smartmeter sml tcrt5000
                                            49
                                            485
                                            58697
                                            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