Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Gelöst: Gaszähler-Ersatz für vorhandene vzlogger-Anbindung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Gelöst: Gaszähler-Ersatz für vorhandene vzlogger-Anbindung

    This topic has been deleted. Only users with topic management privileges can see it.
    • UncleSam
      UncleSam Developer @DatzerF last edited by

      @datzerf Kannst du denn kein Netzwerkkabel zu deinem Raspi ziehen? Und weshalb ein USB Lesekopf für einen Reed-Kontakt an einem Raspi?

      Mein Vorschlag wäre: ioBroker Slave auf dem Raspi installieren und an deinen bestehenden ioBroker anhängen (Stichwort: Multihost). Hier wäre es aber wichtig, ein LAN Kabel zu haben - darf auch ein vieradriges Cat.5 sein, wenn nur der Raspi dran hängt. Einen Reed-Kontakt kannst du ja ganz einfach mit dem rpi2 Adapter an einem GPIO auslesen. Mit einem kleinen Skript (zB Blockly) kannst du dann aus den Impulsen einen Datenpunkt füllen.

      D 1 Reply Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @DatzerF last edited by BananaJoe

        @datzerf sagte in Frage: Gaszähler-Ersatz für vorhandene vzlogger-Anbindung:

        Oder gibt es eine bessere Alternative?

        Wie ich finde: JUPP!

        https://forum.iobroker.net/topic/36622/wasserzähler-version-2-all-in-device

        Damit wird die Anzeige direkt vom Gaszähler abgelesen, sieht bei mir so aus:

        8c10b981-acc6-41f7-a955-da4e04e281c1-image.png
        fe686810-0607-4c8b-8040-0923f6b524f2-image.png

        Das landet dann per MQTT im ioBroker:
        8904c580-cde6-42c3-b8b9-75a0aea97f75-image.png

        Und kann dann z.B. mit dem SourceAnalyticx-Adapter verarbeitet werden:
        6e874c90-53d4-4a90-b2ae-2afbdf4ce856-image.png
        Die V-Monat (Vor-Monat) Werte sind noch nicht richtig, so lange läuft das bei mir noch nicht.
        Wie du siehst nutze ich das für Strom, Gas und Wasser.
        Selbst wenn der mal eine Zahl falsch abliest, so korrigiert er sich dann wieder selbst.

        Kosten: ESP32-CAM MB -Variante um die 10 bis 18 Euro (ich würde mit Antenne nehmen) + MicroSD karte 16GB + USB-Netzteil und Kabel. Gehäuse kann auch aus Pappe oder Holz gebaut werden, die Kamera sollte um die 8cm von der zu lesenden Zahl entfernt sein. Man kann also so um die 25 Euro hinkommen pro Messstelle

        1 Reply Last reply Reply Quote 1
        • D
          DatzerF @UncleSam last edited by

          @unclesam Netzwerkkabel haut leider nicht hin. Im Heizraum steht schon ein Raspi, halt mit WLAN 😞 der ist auch mit iOBroker versorgt und ein Slave meiner Master-Instanz.
          Der USB-Lesekopf ist folgender:
          https://wiki.volkszaehler.org/hardware/controllers/gaszaehler_lesekopf
          Hatte das Glück noch einen zu bekommen.
          Allerdings bin ich kein Elektriker / Elektrotechniker, als dass ich das Ding einfach mal so zerlege und dann den Reed-Kontakt samt Kabel an die GPIO-PINS ranzwirble.....
          An welche PINS müsste ich den Reed-Kontakt mit seinen zwei Kabeln anschließen?

          ? UncleSam 2 Replies Last reply Reply Quote 0
          • ?
            A Former User @DatzerF last edited by A Former User

            @datzerf
            Hi
            grundsätzlich bin ich ja großer Freund der volkszähler Hardware und finde, was dort entwickelt wurde und zeitweise sogar zu selbstlosen Preisen verkauft wurde echt supi.

            Kenne die Lösung jetzt nicht im Deatil (keinen Gasanschluß) aber sieht so aus, als wenn der Kopf, der den Reed-Kontakt enthält losgelöst nutzbar wäre (S0+ und S0-).
            Für mich auch ein Teil der Fummellei, so einen Kontakt richtig zu positionieren (Fehlerquelle). Allerdings spricht dagegen (Wiederverwendung), dass dir jetzt auch Pulse teilweise fehlen (Grund offen könnte auch am Reed Kontakt liegen).

            Aber allgemein könntest Du den S0+ und S0- doch recht einfach an einen D1 Mini hängen (oder an den RPI wenn er dort bleiben soll) und dann per ESPEasy an den IOBroker schicken. Die Auswertung der Pulse macht ESPEasy, deswegen ist die Übertragung für mich auch weniger sensitiv, als wenn Du direkt die S0 Impulse überträgst:

            https://waschto.eu/2018/01/15/verbrauchs-messwerte-ueber-die-s0-schnittstelle-auslesen/

            Allgemein um wieder zum Anfang zu kommen, bin ich normal davon überzeugt, dass der S0 Anschluß der Hardware ein richtiger S0 Anschluß nach Norm ist der entsprechend universell funktioniert. Löst Du jetzt das weieße Gehäuse also nur den Reed-Kontakt dort heraus, benutzt Du einfach nur einen Kontakt und gibst da "Irgendwas" von GPIO-Kontakten drauf. Am Ende zählt das Ergebnis aber daher meine Wertschätzung für die stets sauber Umsetzung der volkszähler hardware.

            1 Reply Last reply Reply Quote 0
            • UncleSam
              UncleSam Developer @DatzerF last edited by

              @Pete0815 sagt eigentlich schon alles.

              Einen Reed Kontakt per USB anzuhängen und dafür noch einen ESP zu verwenden, finde ich etwas Overkill.

              An einen Reed Kontakt kannst du auch 10m Kabel hängen, das ist überhaupt kein Problem. Dann hängst du ein Ende an GND und das andere an einen der GPIOs des Raspi. Mit dem rpi2 Adapter kannst du dann diesen GPIO auf Input mit pull-up konfigurieren und dann solltest du den Zustand des Reed Kontaktes im entsprechenden Datenpunkt sehen. Zu testen wäre das ja einfach mit einem Magneten.

              ? 1 Reply Last reply Reply Quote 0
              • ?
                A Former User @UncleSam last edited by A Former User

                @unclesam
                genau hinschauen hilft 😭 . Ich habe den s0 Ausgang mit dem Anschluß des Reed Kontaktes verwechselt 😭 :
                a460002c-fbb9-455c-8d21-2d3977695f3f-grafik.png

                Wenn ich aber jetzt richtig sehe, dann wäre dies der Reed Kontakt (weißes Kabel):
                0cf8c28a-2440-46e4-adbe-54a126a0d830-grafik.png

                Nun einfach diese 2 Adern auf 3,3V/GND und einen GPIO legen. Ob diese GPIO von einem RPI oder von einem ESP stammen ist ja von der Funktion erst einmal unabhängig. Aus der HomeMatic Lösung deute ich, dass @DatzerF den RPI für nichts anderes benutzt und er auch bei voller Funktion des ReedKontaktes auf ihn verzichten könnte. Somit finde ich ein ESP8266 (1W vs 5W) keine schlechte Option um einfach den Kontakt auszuwerten und per Wifi zum IOBroker zu schicken.
                zB wie hier: https://forum.iobroker.net/topic/27923/anleitung-gaszähler-mit-nodemcu-espeasy

                D 2 Replies Last reply Reply Quote 0
                • D
                  DatzerF @Guest last edited by

                  @pete0815 der Volkszähler Lesekopf mit der (eigentlich ist es eine) Erweiterung um dem Reed-Kontoakt macht genau was er soll.
                  Der vzlogger verwendet den Reed-Kontakt als S0 - Device, zählt Impulse und liefert je Impuls eine 1. Der Lesekopf ist eigentlich ein IR-Lesekopf für Stromzähler und wurde um die Reed-Kontakt erweitert, so mein Verständnis.
                  Mit der Positionierung habe ich keinerlei Probleme, das passt. Der Zählt genau das was er soll.

                  Das Kernproblem ist in meinen Worten als Nicht-Techniker, dass immer wieder mal (sporadisch) die WLAN-Verbindung abkackt, oder vom vzlogger das usb-device nicht mehr erkannt wird.
                  Ist die WLAN - Verbindung weg, zählt der vzlogger zwar weiter, die Daten kommen aber nicht mehr am ioBroker an. Das lässt sich (vermute ich) dadurch beheben, dass ich die notwendigen Daten nur auf dem ioBroker - Slave im Heizraum speichere und dort auch die notwendigen Blockly zur Berechnung des Gas-Verbrauches laufen lasse.
                  Das zweite Problem, das immer wieder mal auftritt ist, das Problem, dass der vzlogger, der Raspi oder was auch immer 😞 den USB-Anschluss nicht mehr erkennt und die S0-Impulse nicht mehr zählt.

                  Wenn ich Dich und @UncleSam richtig verstehe, dann müsste ich eigentlich "nur" den Reed vom Lesekopf trennen und die zwei Adern mit (welchen gleich nochmal?) GPIO - Pins verbinden. Auf der lokalen iOBroker - Instanz (Slave) des Raspi im Heizraum den Adapter RPI2 installieren und passend konfigurieren um die Impulse abzugreifen und als Datenpunkt zu speichern?

                  ? 1 Reply Last reply Reply Quote 0
                  • D
                    DatzerF @Guest last edited by

                    @pete0815 sagte in Frage: Gaszähler-Ersatz für vorhandene vzlogger-Anbindung:

                    Aus der HomeMatic Lösung deute ich, dass @DatzerF den RPI für nichts anderes benutzt und er auch bei voller Funktion des ReedKontaktes auf ihn verzichten könnte.

                    Leider nein, an dem Raspi im Heizraum hängt auch noch der Gaskessel und wird per fhem ausgewertet und geloggt.

                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User @DatzerF last edited by A Former User

                      @datzerf said in Frage: Gaszähler-Ersatz für vorhandene vzlogger-Anbindung:

                      @pete0815 der Volkszähler Lesekopf mit der (eigentlich ist es eine) Erweiterung um dem Reed-Kontoakt macht genau was er soll.
                      Der vzlogger verwendet den Reed-Kontakt als S0 - Device, zählt Impulse und liefert je Impuls eine 1. Der Lesekopf ist eigentlich ein IR-Lesekopf für Stromzähler und wurde um die Reed-Kontakt erweitert, so mein Verständnis.
                      Mit der Positionierung habe ich keinerlei Probleme, das passt. Der Zählt genau das was er soll.

                      Wenn Du dir dort 100% sicher bist ok. Durch nicht 100%tigen Sitz oder ggf. auch Verschleiß des Kontaktes könnte ich mir auch eine entsprechende Fehlfunktion erklären.

                      Das Kernproblem ist in meinen Worten als Nicht-Techniker, dass immer wieder mal (sporadisch) die WLAN-Verbindung abkackt, oder vom vzlogger das usb-device nicht mehr erkannt wird.
                      Ist die WLAN - Verbindung weg, zählt der vzlogger zwar weiter, die Daten kommen aber nicht mehr am ioBroker an. Das lässt sich (vermute ich) dadurch beheben, dass ich die notwendigen Daten nur auf dem ioBroker - Slave im Heizraum speichere und dort auch die notwendigen Blockly zur Berechnung des Gas-Verbrauches laufen lasse.

                      Prinzipiell bin ich da voll bei Dir. Wie die Slavefunktion von iobroker arbeitet bzw. mit Pufferung und Verbindungsabbrücken umgeht, kann ich aber nicht sagen. Eine einfache Softwarelösung die keine Impulse sondern ausgewertete Zählerstände per Wifi schickt sollte hier etwas tolleranter gegen Ausfälle sein. Wenn der Zählerstand mal flöten geht, nicht schlimm dann kommt er halt in den nächsten paar Sekunden....

                      Das zweite Problem, das immer wieder mal auftritt ist, das Problem, dass der vzlogger, der Raspi oder was auch immer 😞 den USB-Anschluss nicht mehr erkennt und die S0-Impulse nicht mehr zählt.

                      Klingt komisch für mich. Das steckt simple/bewährte Technik aus heutiger Sicht hinter und der entsprechende Chip sollte gerade an einem RPI total stabil laufen, aber wie auch immer.

                      Wenn ich Dich und @UncleSam richtig verstehe, dann müsste ich eigentlich "nur" den Reed vom Lesekopf trennen und die zwei Adern mit (welchen gleich nochmal?) GPIO - Pins verbinden. Auf der lokalen iOBroker - Instanz (Slave) des Raspi im Heizraum den Adapter RPI2 installieren und passend konfigurieren um die Impulse abzugreifen und als Datenpunkt zu speichern?

                      Ja, den GPIO kannst Du Dir aussuchen und im Adaptermenü entsprechend konfigurieren bzw. aktiv schalten:
                      2cb0ec9d-bfab-45ea-a892-3cf629c24d0e-grafik.png

                      Den Rest würde ich hierraus entnehmen(Video):
                      https://haus-automatisierung.com/software/iobroker/2021/02/28/iobroker-gaszaehler-reed-kontakt.html

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        DatzerF @Guest last edited by

                        @pete0815 sagte in Frage: Gaszähler-Ersatz für vorhandene vzlogger-Anbindung:

                        Den Rest würde ich hierraus entnehmen(Video):
                        https://haus-automatisierung.com/software/iobroker/2021/02/28/iobroker-gaszaehler-reed-kontakt.html

                        Das hab ich auf dem ioBroker - Master bereits in einer für mich passenden Variante umgesetzt 🙂
                        Auf dem Master speichere ich die per Node-Red vom vzlogger auf dem Slave generierten Impulse. Berechne die Verbrauchten Kubikmeter und berechne Preise und kWh.

                        Vielen Dank für die Tips und Hinweise, werde mal den Lesekopf „zerlegen“ und den Reed-Kontakt direkt per GPIO an den Slave anschließen...

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          DatzerF @DatzerF last edited by

                          Hallo allseits,

                          jetzt habe ich den Lesekopf doch nicht zerlegt, da dieser einen S0 - Ausgang mit Waco-Klemmen beschaltet hat.
                          Hier der Stromlauf- / Bestückungsplan des Lesekopfes.
                          Statt dessen habe ich den +S0 an der Wago-Klemme des Lesekopfes mit dem als Eingang konfigurierten GPIO-Port 22 (PIN 15) des Raspi verbunden. -S0 an der Wago-Klemme des Lesekopfes mit GND (PIN 6).
                          Der Lesekopf ist auch weiterhin per USB verbunden.
                          Meine Idee war, dass ich damit auch die Signale abgreifen kann. Das funktioniert soweit auch, am GPIO 22 sehe ich Statusänderungen / Impulse, die passen von der Anzahl und der Zeit aber nicht zu den Impulsen die von vzlogger gezählt werden.
                          Habe ich da einen Gedankenfehler, oder einfach nur was falsch konfiguriert oder zusammengesteckt?
                          Statusänderungen am GPIO 22:
                          ab140624-c411-4390-8b90-42688a6fa73c-image.png

                          Impulse die der vzlogger gezählt hat, die Anzahl der Impulse passen:
                          b287a7ad-2ef1-49fb-a517-774e93f6195f-image.png

                          Viele Grüße
                          Franz

                          ? 1 Reply Last reply Reply Quote 0
                          • ?
                            A Former User @DatzerF last edited by A Former User

                            @datzerf

                            der S0 Ausgang hat derzeit keine Spannungversorgung, somit der RPI auch keine true Werte ....

                            In der Angabe zur Hardware steht, dass die Spannungversorgung über die USB-Wandwarze zu erfolgen hat. Was das bedeutet klicke ich gerade noch fröhlich zusammen 🙂

                            728aa930-aab6-400b-9cef-0e7af88c9a56-grafik.png

                            Edit: Die Verdrahtung ist wie folgt zu änden:

                            S0+ an Pin 1 des RPI (3,3V) und S0- an GPIO22 (zum detektieren).

                            D 2 Replies Last reply Reply Quote 0
                            • D
                              DatzerF @Guest last edited by

                              @pete0815
                              wollte gerade schreiben, dass der USB - Anschluss nach wie vor gesteckt ist....
                              Vielen Dank, ändere ich gleich mal ab.

                              ? 1 Reply Last reply Reply Quote 0
                              • D
                                DatzerF @Guest last edited by

                                @pete0815
                                kaum steckt man richtig an 🙂 kommt auch was an....
                                c8b6be04-1340-4350-be47-12180110e471-image.png

                                1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User @DatzerF last edited by

                                  @datzerf
                                  Ja, die Versorgung des S0 Ausgangs hat losgelöst davon zu erfolgen.
                                  "Wandwarze" habe ich nur ewig nicht gehört und klingt erstmal komisch 🙂

                                  Wie oben beschrieben, gibst Du jetzt mit PIN1 aktiv 3,3V auf den S0 Ausgang und er schaltet das bei einem Impuls auf Deinen GPIO22/s0-/PIN15.

                                  Hoffe das klappt so, da der s0 mit 5V-20V spezifiziert ist. Wir geben da gerade aber nur 3,3V drauf(könnte etwas wenig sein). Ich bin da aber lieber vorsichtig, da der GPIOs des RPI nur 3,3V verträgt. Erhöhen und 5V mit PIN2 da drauf geben geht immer noch.

                                  UncleSam 1 Reply Last reply Reply Quote 0
                                  • UncleSam
                                    UncleSam Developer @Guest last edited by

                                    @pete0815 sagte in Frage: Gaszähler-Ersatz für vorhandene vzlogger-Anbindung:

                                    Hoffe das klappt so, da der s0 mit 5V-20V spezifiziert ist. Wir geben da gerade aber nur 3,3V drauf(könnte etwas wenig sein). Ich bin da aber lieber vorsichtig, da der GPIOs des RPI nur 3,3V verträgt. Erhöhen und 5V mit PIN2 da drauf geben geht immer noch.

                                    Und wenn das nicht geht, nimmst du dann z.B. einen PCF8574, den du mit den 5V des Raspi speist (und natürlich am I2C des Raspi anhängst) - der liefert dann auch auf seinem Output 5V. Under PCF8574 kann mit dem i2c Adapter in ioBroker eingebunden werden. Läuft bei mir einwandfrei.

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      DatzerF last edited by

                                      So, habe den Lesekopf wie von @Pete0815 vorgeschlagen von der Wago-Klemme direkt mit PIN 1 (3,3V) und PIN 15 (GPIO 22) verbunden und diese Woche laufen lassen.
                                      Das gute Stück zählt, jedoch werden zu Viele Impulse gezählt. Neben den echten Impulsen, die auch vom noch laufenden VZ-Logger registriert werden kommen wahllos weitere Impulse an, die auch registriert werden. Das können auch keine Impulse sein, die vom "Prellen" kommen.
                                      Gestern hab ich mir ein Breadboard bestellt um die Schaltung wie von Matthias Kleine aufzubauen und dann mal zu sehen ob dann nur die "echten" Impulse gezählt werden.
                                      Hätte nie gedacht, dass ich mal (wenn man das schon so nennen darf) Schaltungen zusammenstecke 🙂

                                      ? 1 Reply Last reply Reply Quote 0
                                      • ?
                                        A Former User @DatzerF last edited by A Former User

                                        @datzerf
                                        Nur als Idee. Der vzlogger ist konfigurierbar wie er die Impulse zählt. Hab das mal vor Jahren von steigende auf fallende Flanke geändert oder umgekehrt.

                                        Was ich damit sagen möchte, hast Du mal die Impulse (die Gezählten) geprüft, ob es zusätzliche Impulse z.B. durch die fallende Flanke des Kontaktes sind? Da der Gaszähler nicht konstant dreht (zum Glück 🙂 ) dürfte solche Impulse auch unterschiedliche Abstände zueinander haben. Grob dürften es dann aber die doppelte Menge sein.

                                        D 1 Reply Last reply Reply Quote 0
                                        • D
                                          DatzerF @Guest last edited by

                                          @pete0815 die vzlogger.conf lässt soweit ich weis (auch mit dem vzlogger.conf editor) die Einstellung nicht her.
                                          Es ist aber tatsächlich so, dass die Anzahl grob doppelt so hoch ist.
                                          vzlogger zählt um 12:12:37 / 12:00:40 / 11:53:12 / 11:43:09
                                          GPIO zählt um 12:12:37 / 12:10:42 / 12:00:40 / 11:57:58 / 11:53:11 / 11:50:20 / 11:43:08

                                          Der vzlogger registriert und speichert den Impuls dann wenn der Magnet aus der Zählwalze am Reed - Kontakt "Eintrifft". Um 12:12:37 kommt also dann die 7 der zweiten Nachkommastelle der Zählwalze zum Kontakt.
                                          Dann liefert auch der GPIO einen Impuls. Zusätzlich aber auch ca. 2 Minuten vorher. Da war aber scheinbar nix los. Vor allem dauert es keine 2 Minuten bis 0,1 Kubikmeter Gas verbrannt sind, die Zählwalze also einmal vollständig durchgelaufen ist.

                                          Womit ich bereits experimentiert habe, sind die Einstellungen für den GPIO direkt am RasPi. Habe mit
                                          raspi-gpio set 22 ip pu
                                          bzw.
                                          raspi-gpio set 22 ip pd
                                          die Einstellung geändert ob der Port auf Pull-Up bzw. Pull-Down reagieren soll.
                                          Aber das Ergebnis war identisch.

                                          Gezählte Impulse des vzlogger - 18 Impulse
                                          40d4e700-6685-4d1d-8973-ddee71c9b597-image.png

                                          Gezählte Impulse des GPIO - 32 Impulse
                                          38ce5675-7952-433b-a040-27287adef6c5-image.png

                                          ? 1 Reply Last reply Reply Quote 0
                                          • ?
                                            A Former User @DatzerF last edited by A Former User

                                            @datzerf

                                            hab nochmal gekramt und die Einstellung die ich meinte bezog sich auf "die kleine Erweiterung" vom volkszähler projekt. Diese Erweiterung hat 2x s0 Eingänge die auf GPIO17 und 18 landen.

                                            Möchte man die Erkennung definieren ergänzt man in der Datei rc.lokal zB Folgendes:
                                            96e8676c-134a-41a2-86af-b6d5c9490c07-grafik.png

                                            Um jetzt zu Deinem Aufbau zurück zu kommen, wird der Reed Kontakt am Input des MAX6816 Chips eingespeist und am Output hängt der s0 Ausgang den Du jetzt auf den Raspberry gelegt hast.

                                            Um wirklich sicher zu sein wie der s0 Ausgang arbeitet und ob man ihn evtl. sogar konfigurativ beeinflußen kann, würde ich in der volkszähler Mailliste erfragen: https://wiki.volkszaehler.org/contact

                                            Lt. dem Schaltdiagramm geht der Eingang aber 1:1 auf den s0 Ausgang. Der Max6816 ist ein Debouncer der das Entprellen des Reedkontaktes übernimmt. Somit sollte am s0 nichts verändert ausgegeben werden.

                                            Deine Aufzeichnungen geben als Quelle den Javascript-Adapter an. Hast Du mal rein den GPIO22 im Vergleich aufgezeichnet?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            494
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            25
                                            2235
                                            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