Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter WM-Bus / Kampstrup Multical 21

    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

    Adapter WM-Bus / Kampstrup Multical 21

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      WolfgangFB @Thomas Braun last edited by

      @thomas-braun

      In wmbusmeters.log steht nichts.
      Ich frage mich allerdings, wie ich den "Other wmbusmeters" in den Griff bekommen kann. Da start ständig eine neue Instanz.

      pi@raspberrypi:/var/log/wmbusmeters/meter_readings $ sudo systemctl stop wmbusmeters
      pi@raspberrypi:/var/log/wmbusmeters/meter_readings $ ps -aux | grep wmbus
      root     16817  0.2  0.0   1468   392 ?        Ss   21:28   0:00 /snap/wmbusmeters/596/bin/sh /snap/wmbusmeters/596/launcher.sh
      root     16841  0.2  0.0  23032  1448 ?        Sl   21:28   0:00 /snap/wmbusmeters/596/usr/bin/wmbusmeters --useconfig=/var/snap/wmbusmeters/common
      pi       17054  0.0  0.0   7360   492 pts/0    S+   21:29   0:00 grep --color=auto wmbus
      pi@raspberrypi:/var/log/wmbusmeters/meter_readings $ sudo kill -9 16817
      pi@raspberrypi:/var/log/wmbusmeters/meter_readings $ ps -aux | grep wmbus
      root     17125  2.6  0.0   1468   388 ?        Ss   21:29   0:00 /snap/wmbusmeters/596/bin/sh /snap/wmbusmeters/596/launcher.sh
      root     17154  0.5  0.0  22008  1464 ?        Sl   21:29   0:00 /snap/wmbusmeters/596/usr/bin/wmbusmeters --useconfig=/var/snap/wmbusmeters/common
      pi       17170  0.0  0.0   7360   496 pts/0    S+   21:29   0:00 grep --color=auto wmbus
      pi@raspberrypi:/var/log/wmbusmeters/meter_readings $ wmbusmeters --debug auto:t1 MyTapWater auto 57813696 E4E7EAF6FD17EAFB9587BC2996783C63
      (wmbusmeters) version: _
      (config) number of meters: 1
      (main) device /dev/ttyAMA0 not currently used, detect contents...
      (serial) EVENT thread interrupted
      (serial) before config: /dev/ttyAMA0 speed(B38400) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS|CTS)
      (serial) after config:  /dev/ttyAMA0 speed(B9600) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS|CTS)
      (serialtty) opened /dev/ttyAMA0 fd 3 (detect amb8465)
      (serial) received binary ""
      (serial /dev/ttyAMA0) sent "FF0A02008077"
      (serial /dev/ttyAMA0) sent "FF0A02008077"
      (serial) EVENT thread interrupted
      (serial) received binary ""
      (serial) received binary ""
      (serialtty) closed /dev/ttyAMA0 (detect amb8465)
      (amb8465) are you there? no.
      (serial) EVENT thread interrupted
      (serial) EVENT thread interrupted
      (serial) before config: /dev/ttyAMA0 speed(B9600) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS|CTS)
      (serial) after config:  /dev/ttyAMA0 speed(B57600) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS|CTS)
      (serialtty) opened /dev/ttyAMA0 fd 3 (detect im871a)
      (serial) received binary ""
      (serial /dev/ttyAMA0) sent "A5010F00"
      (serial) EVENT thread interrupted
      (serial) received binary "0984488448844884"
      (im871a) checkIM871AFrame "0984488448844884"
      (im871a) frame does not start with a5 "0984488448844884"
      (im871a) no a5 found at all, drop frame packet.
      (im871a/im170a) are you there? no.
      (serialtty) closed /dev/ttyAMA0 (detect im871a)
      (serial) EVENT thread interrupted
      (serial) before config: /dev/ttyAMA0 speed(B57600) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS|CTS)
      (serial) after config:  /dev/ttyAMA0 speed(B19200) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS|CTS)
      (serialtty) opened /dev/ttyAMA0 fd 3 (detect rc1180)
      (serial /dev/ttyAMA0) sent "00"
      (serial) EVENT thread interrupted
      (serial) received binary ""
      (serial /dev/ttyAMA0) sent "30"
      (serial) EVENT thread interrupted
      (serial) received binary ""
      (serialtty) closed /dev/ttyAMA0 (detect rc1180)
      (rc1180) are you there? no.
      (serial) EVENT thread interrupted
      (serial) before config: /dev/ttyAMA0 speed(B19200) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS|CTS)
      (serial) after config:  /dev/ttyAMA0 speed(B38400) input() output() control(CLOCAL|CREAD|CSIZE) local() special_chars() modem(DTR|RTS|CTS)
      (serialtty) opened /dev/ttyAMA0 fd 3 (detect cul)
      (serial /dev/ttyAMA0) sent "560A0D"
      (serial) EVENT thread interrupted
      (serial) received binary "540442205404E2"
      (cul) probe response "T<04>B T<04><E2>"
      (serial /dev/ttyAMA0) sent "560A0D"
      (serial) EVENT thread interrupted
      (serial) received binary "540442205404E2"
      (cul) probe response "T<04>B T<04><E2>"
      (serial /dev/ttyAMA0) sent "560A0D"
      (serial) EVENT thread interrupted
      (serial) received binary "540442205404E2"
      (cul) probe response "T<04>B T<04><E2>"
      (serialtty) closed /dev/ttyAMA0 (detect cul)
      (cul) are you there? no
      (main) ignoring /dev/ttyAMA0, it does not respond as any of the supported wmbus devices.
      (main) device /dev/ttyUSB0 not currently used, detect contents...
      (serial) EVENT thread interrupted
      (serial) EVENT thread interrupted
      (serial) EVENT thread interrupted
      (serial) EVENT thread interrupted
      (main) ignoring /dev/ttyUSB0, it does not respond as any of the supported wmbus devices.
      No wmbus device detected, waiting for a device to be plugged in.
      (shell) exec (capture output) "/bin/pidof"
      (shell) arg "wmbusmetersd"
      (shell) output: >>><<<
      (serial) EVENT thread interrupted
      (shell) return code 1
      (shell) 17248 exited
      (shell) exec (capture output) "/bin/pidof"
      (shell) arg "wmbusmeters"
      (serial) EVENT thread interrupted
      (shell) return code 0
      (shell) 17249 exited
      Notice! Other wmbusmeters (pid 17154) is running and it might hog any wmbus devices.
      (serial) registered regular callback HOT_PLUG_DETECTOR(0) every 2 seconds
      (serial) waiting for stop
      
      
      
      M 1 Reply Last reply Reply Quote 0
      • M
        matze-dev @WolfgangFB last edited by

        @wolfgangfb morgen müsste ich die komplette Doku fertig haben - dann kann man das komplette System von Scratch aufsetzen und hat dann alles beisammen. Ich stelle die Anleitung + Skripte dann hier ein.

        1 Reply Last reply Reply Quote 0
        • W
          WolfgangFB last edited by

          @matze-dev

          Super, ich hoffe, Du hast das dann auch mal mit einer echt blanken Raspberry Installation getestet.

          M 1 Reply Last reply Reply Quote 0
          • M
            matze-dev @WolfgangFB last edited by matze-dev

            @wolfgangfb in der Tat, das wird parallel mit einer neuen Karte aufgesetzt und gleich mitdokumentiert 🙂

            1 Reply Last reply Reply Quote 0
            • M
              matze-dev last edited by matze-dev

              @matze-dev Kamstrup/Multical 21 realisiert mit Rasperry Pi, iM871A und iobroker zum Auslesen des Wasserzählers
              Nun ist es soweit.
              Anbei die Doku

              Installationsbeschreibung-ioBroker-Rasp-PI+IMST871A.pdf

              hier sind noch die erforderlichen Skripten -sind in der Doku beschrieben, wie man diese verwendet und einbaut.

              extract_watermeters-values.js: das wird vom MQTT-Broker getriggert und liest die Werte aus, die im Datagramm stehen
              extract_watermeters-values.js

              calculate_average_new.js: das läuft einmal die Nacht und berechnet den Jahresgesamtverbrauch
              calculate_average_new.js

              hier sind noch 2 Hilfsscripten, wenn man die States neu anlegen oder löschen möchte - braucht man fürs erste nicht.
              zum Löschen aller states: delete_states.js

              zum Setzen aller states: create_states.js

              W 1 Reply Last reply Reply Quote 0
              • W
                WolfgangFB @matze-dev last edited by

                @matze-dev

                Hi

                Erstmal vielen Dank für die ausführliche Anleitung.
                Ich kann einen großen Erfolg melden: Ich kann meinen Wasserzähler auslesen!!!

                pi@raspberrypi:/var/log/wmbusmeters/meter_readings $ more MyTapWater_2021-07-21
                {"media":"cold water","meter":"multical21","name":"MyTapWater","id":"57813696","total_m3":0.668,"target_m3":0.668,"max_flow_m3h":0,"f
                low_temperature_c":127,"external_temperature_c":18,"current_status":"DRY","time_dry":"22-31 days","time_reversed":"","time_leaking":"
                ","time_bursting":"","timestamp":"2021-07-21T21:59:54Z","device":"im871a[00100776]","rssi_dbm":0}
                

                Was es jetzt genau war kann ich noch nicht sage, aber in dieser Anleitung waren ein paar Installationen mehr vorhanden als ich bisher gemacht habe. Ich glaube der Hauptpunkt ist, dass mein Zähler im C1 Mode sendet.
                Was noch nicht klappt ist der mqtt Adapter, der bleibt einfach bei gelb hängen. "Verbunden mit mqtt: falsch"

                Wo kann ich da ansetzen? (Zur Not schreibe ich mir aber selbst ein Skript, dass die täglichen meter_readings auswertet, das würde ich hinbekommen 🙂 )

                M 1 Reply Last reply Reply Quote 0
                • M
                  matze-dev @WolfgangFB last edited by

                  @wolfgangfb Hallo, schön zu hören. Mein MQTT ist auch gelb. Das ist OK. Wenn Du auf den gelben Punkt gehst, dann zeigt er Dir die Zustände an. Die ersten müssten grün sein. Wichtig ist, ob in den Objekten die Variablen angelegt sind und diese ab und zu grün werden, dann läuft alles. Der Broker wacht nur kurz auf, wenn Daten rein kommen, darum denke ich, dass das so Ok ist. Das mit den verschiedenen Versionen des Zählers ist in der Tat etwas tricky. Hast es aber rausgefunden! Viel Glück.

                  W 1 Reply Last reply Reply Quote 0
                  • W
                    WolfgangFB @matze-dev last edited by

                    @matze-dev

                    Hi

                    Das Problem ist, dass die Datenpunkte nicht angelegt werden.
                    Wenn ich auf den gelben Punkt klicke sehe ich, dass die Verbindung mit Host Ok ist, Lebenszeichen da ist, aber Verbindung mit MQTT nicht OK ist.
                    Die Frage ist jetzt, ob der mkosquitto richtig läuft oder der Adapter ein Problem hat, wo setze ich da mit der Fehlersuche an?

                    Gruß und Dank

                    Wolfgang

                    1 Reply Last reply Reply Quote 0
                    • M
                      matze-dev last edited by matze-dev

                      @wolfgangfb also bei mir war es so, dass der mosquitto Server noch lief, dann ist der MQTT aber auf rot gelaufen und es gab einen IP Adresskonflikt, weil die Adresse und Port bereits an den anderen Prozess gebunden sind. Der muss rauskonfiguriert werden, ist in meiner Doku beschrieben. Das sieht man schön im Log auf der linken Seite. Bei Dir ist er aber gelb? Schau mal auf der linken Seite im Log. Wie sind da die Fehlermeldungen? Ggfs. mal den MQTT neu starten. Wichtig ist auch, dass beide Skripte laufen, das eine macht genau die Variablenübernahme.

                      W 1 Reply Last reply Reply Quote 0
                      • W
                        WolfgangFB @matze-dev last edited by

                        @matze-dev

                        Sieg!!!!!
                        zaehler_in_iobroker.jpg

                        zaehler_in_objekte.jpg
                        Was es jetzt im Endeffekt war, kann ich auch nicht sagen, ich habe die letzten Installationsschritte nochmal durchgeführt und dann festgestellt, dass mein IO-Broker einige Einstellungen einfach nicht gespeichert hat (ich habe die die definitiv beim ersten mal 1:1 aus Deinen Vorgaben übernommen. Plötzlich und unerwartet waren dann auf einmal die Datenpunkte da.
                        Zur Info: Die Wasseruhr liegt auf meinem Schreibtisch und meldet deshalb "dry".
                        Was mich noch etwas irritiert sind die Temperaturen. Auf meinem Schreibtisch sollten eigentlich um die 25° sein.

                        Kleiner Hinweis noch zur ansonsten tollen Anleitung (ohne die hätte ich wahrscheinlich aufgeben müssen): Für Leute, die wirklich kurz vor dem Verzweifeln sind und wirklich alles 1:1 nachmachen wollen wäre der Hinweis ganz gut, dass die Anzeige des IO-Brokers bei unterschiedlichen Browsern unterschiedlich aussehe kann (bei einem Browser klappt bei mir z.B. das Adapter Fenster einfach nicht, auf dem nächsten dagegen problemlos.

                        Also: Vielen vielen vielen Dank!

                        PS. Gibt es so eine tolle Anleitung auch für den Modbus-RTU

                        PPS (Weil ich hier ja schon die Linux Experten habe, gehört sonst nicht hierher) Wie kann ich in dem ssh Fenster die Farben so einstellen, dass man das dunkelblau vor schwarzem Hintergrund lesen kann? (Wenn ich mit der Maus den Text markiere wird daraus gelb auf weiß was genauso schlecht zu lesen ist)?

                        ssh_farben.jpg

                        Schönes Wochenende und einen trockenen Keller wünscht

                        Wolfgang

                        Thomas Braun M 2 Replies Last reply Reply Quote 0
                        • Thomas Braun
                          Thomas Braun Most Active @WolfgangFB last edited by Thomas Braun

                          @wolfgangfb sagte in Adapter WM-Bus / Kampstrup Multical 21:

                          Wie kann ich in dem ssh Fenster die Farben so einstellen, dass man das dunkelblau vor schwarzem Hintergrund lesen kann?

                          Das kann man in der config-Datei zu der verwendeten Shell einstellen.

                          Für die bash z.B. in der bashrc

                          Btw: Mit CodeTags statt der eh verpönten Screenshots wäre das nicht passiert. Verwende CodeTags!

                          W 1 Reply Last reply Reply Quote 0
                          • W
                            WolfgangFB @Thomas Braun last edited by

                            @thomas-braun

                            Dank, ich habe es gefunden. Das mit dem Screenshot war Absicht, ich weiß, dass Code-Tags besser lesbar sind, ich wollte aber gerade zeigen, wie unleserlich das ganze in meiner Shell aussieht.

                            1 Reply Last reply Reply Quote 0
                            • M
                              matze-dev @WolfgangFB last edited by

                              @wolfgangfb Hallo, schön dass es geklappt hat! 😊
                              Leider kann ich mit dem Modbus-RTU nicht weiterhelfen, habe nur den Wasserzähler eingebaut bekommen.

                              Ich hoffe, wegen der Browser-Fenster sehen Nachahmer hier im Threat nach und sehen Deinen Hinsweis. Die Browserhersteller ändern ja permanent, da weiß ich leider auch nicht, wann und wie sich das Verhalten ändern wird. Darum würde ich es erst einmal draußen lassen. Trotzdem Danke für den Hinweis.

                              W 1 Reply Last reply Reply Quote 0
                              • W
                                WolfgangFB @matze-dev last edited by

                                @matze-dev

                                Noch ein Hinweis für diejenigen, die das einfach nachbauen möchten.
                                Bei mir ist noch folgendes passiert: Als ich die Skripte (insbesondere "extract_wmbusmeters-values.js") anpassen wollte kam mein Ultraedit (Schriftart Courier) nicht mit den Umlauten zurecht und hat aus einem "ü" ein "ü" gemacht etc. Das Resultat war, dass einige Datenpunkte nicht angelegt worden sind (alle, die entweder einen Umlaut enthalten oder als Einheit das "°" Zeichen. Diese Datenpunkte kann ich auch nicht von Hand neu anlegen, die sind irgendwie gesperrt/blockiert. Abhilfe hat gebracht,die Datenpunkte mit einem neuen Namen zu versehen.

                                Gruß Wolfgang

                                Thomas Braun 1 Reply Last reply Reply Quote 0
                                • Thomas Braun
                                  Thomas Braun Most Active @WolfgangFB last edited by Thomas Braun

                                  @wolfgangfb

                                  Stell beim Editor utf-8 ein. Das dürfte das Problem der Codierung beheben.

                                  Aber ja, es ist eine gute Idee Sonderzeichen wie deutsche Umlaute aus Skripten herauszuhalten.

                                  W 1 Reply Last reply Reply Quote 0
                                  • W
                                    WolfgangFB @Thomas Braun last edited by

                                    @thomas-braun
                                    Ich wollte nur darauf hinweisen was passiert, wenn man nicht darauf achtet (dass eben die Datenpunkte überhaupt nicht angelegt werden).

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

                                      Endlich habe ich von der Gemeinde die KEM inkl. Passwort erhalten und konnte nun auch starten...

                                      @matze-dev
                                      Danke für deine ausführliche Anleitung! Hat bei dem ersten Test auf anhieb funktioniert.

                                      Einfacher war jetzt für das Produktivsystem (für mich) mit git zu arbeiten.
                                      Ebenso reicht es bei mir aus nur den MQTT Client zu installieren um zu puplishen

                                      sudo apt install mosquitto-clients
                                      sudo apt install git
                                      git clone https://github.com/weetmuts/wmbusmeters
                                      ./configure; make; sudo make install
                                      

                                      Statt mit vi arbeite ich lieber mit nano. Macht es für mich einfacher

                                      sudo nano /etc/wmbusmeters.conf
                                      

                                      Da ich bei mir den Raspi öfters mal reboote habe ich device auf auto gestellt
                                      Da bei jedem Neustart der USB willkürlich gezogen wird

                                      device=auto:c1
                                      

                                      Noch einmal danke

                                      1 Reply Last reply Reply Quote 0
                                      • W
                                        WolfgangFB last edited by

                                        @matze-dev
                                        Hallo Matze

                                        Ich habe gerade versucht, auf einem zweiten Raspberry das ganze nochmal von Grund auf neu nachzuvollziehen. Installation klappt auch, die Werte werden ausgelesen, nur die Übertragung per MQTT in IoBroker klappt nicht. Vermutlich weil ich ja einen zweiten raspi mit genau der gleichen Konfiguration laufen habe.
                                        Frage: Wie stelle ich den Mosquitto so ein, dass er sich nicht mit einem zweiten Mosquitto im gleichen Netz beißt? Ich vermute (bin mir aber nicht sicher), dass ein anderer Port genügen könnte (wo stellt man den ein?)

                                        Gruß Wolfgang

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          matze-dev @WolfgangFB last edited by

                                          @wolfgangfb Hallo Wolfgang, das glaube ich eher nicht - der MQTT als Broker wird ja immer dann geweckt, wenn ein neues Datagramm eintrifft. Das klappt m.E. auch mit einer zweiten "Hardwareinstanz" = weiterer Raspi parallel. Siehst Du die Werte im 2. Raspi? Ist die mqtt-Installation korrekt gelaufen etc.? Viel Glück.

                                          1 Reply Last reply Reply Quote 0
                                          • W
                                            WolfgangFB last edited by

                                            @matze-dev

                                            Hi, die Werte der Wasseruhr kommen im Raspi an. Im IO-Broker werden in den Objekten unter mqtt.0 keine Einträge erzeugt.
                                            Der mqtt Adapter ist gelb (was aber wohl normal ist)

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            592
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            12
                                            151
                                            18088
                                            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