Skip to content
  • Home
  • 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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. WMZ Sharky 775 einbinden

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    104

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

WMZ Sharky 775 einbinden

Geplant Angeheftet Gesperrt Verschoben Hardware
24 Beiträge 11 Kommentatoren 4.7k Aufrufe 11 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.
  • R Offline
    R Offline
    roolix
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich würde gerne den Wärmemengenzähler Sharky 775 auslesen:
    https://www.diehl.com/metering/de/produkte-services/thermische-energiezaehler/thermische-energiezaehler-produkt/sharky-775/222326/ bzw. https://www.diehl.com/cms/files/41029-DE-EN-SHARKY-775.pdf
    Wenn ich das richtig verstanden habe, benötige ich den / einen WM-Bus-Adapter (https://github.com/soef/iobroker.wm-bus) und einen entsprechenden Stick (sofern es drahtlos gehen soll). Sind die Sticks alle "so teuer" (um die 60 EUR+)?
    Und woher bekomme ich den AES Schlüssel? Muss man den tatsächlich beim Versorger anfragen? Oder/und ist der Gerätegebunden und beim Hersteller zu erfragen?

    Beste Grüße vom

    roolix

    as of August '23
    RPi4
    Plattform: linux
    RAM: 3.75 GB
    Node.js: v18.17.1
    NPM: 9.6.7

    C 1 Antwort Letzte Antwort
    0
    • R roolix

      Hallo zusammen,

      ich würde gerne den Wärmemengenzähler Sharky 775 auslesen:
      https://www.diehl.com/metering/de/produkte-services/thermische-energiezaehler/thermische-energiezaehler-produkt/sharky-775/222326/ bzw. https://www.diehl.com/cms/files/41029-DE-EN-SHARKY-775.pdf
      Wenn ich das richtig verstanden habe, benötige ich den / einen WM-Bus-Adapter (https://github.com/soef/iobroker.wm-bus) und einen entsprechenden Stick (sofern es drahtlos gehen soll). Sind die Sticks alle "so teuer" (um die 60 EUR+)?
      Und woher bekomme ich den AES Schlüssel? Muss man den tatsächlich beim Versorger anfragen? Oder/und ist der Gerätegebunden und beim Hersteller zu erfragen?

      Beste Grüße vom

      roolix

      C Offline
      C Offline
      Camuri
      schrieb am zuletzt editiert von
      #2

      @roolix bist du weiter gekommen habe jetzt auch so einen Zähler.

      A 1 Antwort Letzte Antwort
      0
      • C Camuri

        @roolix bist du weiter gekommen habe jetzt auch so einen Zähler.

        A Offline
        A Offline
        agsteffan
        schrieb am zuletzt editiert von
        #3

        @camuri

        Bis Du weiter gekommen? Ich hatte zuvor Wärmemengenzähler von LandisGyr (Ultraheat) die sich über die optische Schnittstelle auslesen ließen.
        Vor 1.5 Jahren haben wir dann den Sharky 775 erhalten und seitdem geht es leider nichts mehr. WM-Bus scheint wohl aufgrund des AES Schlüssels ein Problem zu sein und die optische Schnittstelle bekomme ich bei mir einfach nicht zum laufen.
        Ich würde gerne wissen, ob irgendjemand es hinbekommen hat... und mich austauschen.

        Grüße,
        Andreas

        Martin ObermayrM 1 Antwort Letzte Antwort
        0
        • A agsteffan

          @camuri

          Bis Du weiter gekommen? Ich hatte zuvor Wärmemengenzähler von LandisGyr (Ultraheat) die sich über die optische Schnittstelle auslesen ließen.
          Vor 1.5 Jahren haben wir dann den Sharky 775 erhalten und seitdem geht es leider nichts mehr. WM-Bus scheint wohl aufgrund des AES Schlüssels ein Problem zu sein und die optische Schnittstelle bekomme ich bei mir einfach nicht zum laufen.
          Ich würde gerne wissen, ob irgendjemand es hinbekommen hat... und mich austauschen.

          Grüße,
          Andreas

          Martin ObermayrM Offline
          Martin ObermayrM Offline
          Martin Obermayr
          schrieb am zuletzt editiert von
          #4

          Hallo zusammen,
          Ich habe mir gebrauchte mbus Module für den sharky 775 gekauft. Die muss man nur einstecken, fertig. Ich konnte die Daten dann auch mit einem mbus master lesen.

          Schwierigkeiten habe ich aktuell noch beim Lesen mit einem esp32.

          Dazu habe ich ein TTL UART Mbus Master Board gekauft. Allerdings fehlt mir noch eine Vorlage, wie ich die Daten in ESPHome lesen kann.

          Wenn sich jemand damit auskennt, bitte melden!

          Grüße Martin

          David HirschmannD 1 Antwort Letzte Antwort
          0
          • Martin ObermayrM Martin Obermayr

            Hallo zusammen,
            Ich habe mir gebrauchte mbus Module für den sharky 775 gekauft. Die muss man nur einstecken, fertig. Ich konnte die Daten dann auch mit einem mbus master lesen.

            Schwierigkeiten habe ich aktuell noch beim Lesen mit einem esp32.

            Dazu habe ich ein TTL UART Mbus Master Board gekauft. Allerdings fehlt mir noch eine Vorlage, wie ich die Daten in ESPHome lesen kann.

            Wenn sich jemand damit auskennt, bitte melden!

            Grüße Martin

            David HirschmannD Offline
            David HirschmannD Offline
            David Hirschmann
            schrieb am zuletzt editiert von
            #5

            Lieber @martin-obermayr, da ich im Zuge meiner Diplomarbeit auf deinen Kommentar gestoßen bin, wollte ich fragen welches M-Bus Module man für den sharky 775 benötigt. Vielleicht kannst du mir weiterhelfen, da ich damit Daten auf eine SPS ziehen möchte.

            Grüße,
            David

            Martin ObermayrM 1 Antwort Letzte Antwort
            0
            • David HirschmannD David Hirschmann

              Lieber @martin-obermayr, da ich im Zuge meiner Diplomarbeit auf deinen Kommentar gestoßen bin, wollte ich fragen welches M-Bus Module man für den sharky 775 benötigt. Vielleicht kannst du mir weiterhelfen, da ich damit Daten auf eine SPS ziehen möchte.

              Grüße,
              David

              Martin ObermayrM Offline
              Martin ObermayrM Offline
              Martin Obermayr
              schrieb am zuletzt editiert von
              #6

              Hallo @david-hirschmann ,

              ich habe bei Ebay diese Module gekauft: https://www.ebay.at/itm/225168453379?mkcid=16&mkevt=1&mkrid=5221-175123-2357-0&ssspo=fSaediCnRMG&sssrc=2047675&ssuid=&widget_ver=artemis&media=COPY

              Einfach einstecken und fertig. Eigentlich habe ich noch 4 von 5 übrig ...
              Ich habe auch getestet, das die Module funktionieren, weil ich einen älteren MBus Master habe.

              Mit dem TTL UART serial port zu MBUS Master fehlt mir aber die Information, wie ich die Daten lesen kann.

              Vielleicht kannst Du helfen, wie man dieses Projekt anpassen muss, um Sharky 775 zu lesen?
              https://github.com/DomiStyle/esphome-dlms-meter#readme

              Viele Grüße
              Martin

              1 Antwort Letzte Antwort
              0
              • F Offline
                F Offline
                flispy
                schrieb am zuletzt editiert von
                #7

                Moin zusammen,
                hat es jemand schon geschafft ihn mit einem Optokopf auszulesen? Am Lesekopf scheitert es nicht, denn der kann den Stromzähler erfolgreich lesen.
                Auch habe ich ein "Schloss-Symbol" im Display gesehen. Kann es sein, dass der Zähler erst "entsichert" werden muss?

                A 1 Antwort Letzte Antwort
                0
                • F flispy

                  Moin zusammen,
                  hat es jemand schon geschafft ihn mit einem Optokopf auszulesen? Am Lesekopf scheitert es nicht, denn der kann den Stromzähler erfolgreich lesen.
                  Auch habe ich ein "Schloss-Symbol" im Display gesehen. Kann es sein, dass der Zähler erst "entsichert" werden muss?

                  A Offline
                  A Offline
                  agsteffan
                  schrieb am zuletzt editiert von
                  #8

                  Hallo @flispy,

                  ich habe ein ähnliches Problem. Mein Sharky 755 lässt sich optische auch nicht auslesen.
                  Und das obwohl ich es mit LorusFree und anderen Tools schon versucht habe.
                  Am Weidmann Optokopf dürfte es auch nicht liegen. So langsam gehen mir die Ideen aus.

                  Das Schloss im Display bedeutet nach der Diehl Anleitung nur das es sich um einen "geeichten Wert handelt, mit dem die Abrechnung erfolgen darf".

                  Gruß,
                  Andreas

                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    Tom H.
                    schrieb am zuletzt editiert von
                    #9

                    Hi @flispy und @agsteffan - seid ihr irgendwie voran gekommen? Habe einen Techem Ultra S3 (sollte auch ein Sharky
                    775 sein) aber bis dato keinen Erfolg diesen auszulesen :-(

                    W S 2 Antworten Letzte Antwort
                    0
                    • T Tom H.

                      Hi @flispy und @agsteffan - seid ihr irgendwie voran gekommen? Habe einen Techem Ultra S3 (sollte auch ein Sharky
                      775 sein) aber bis dato keinen Erfolg diesen auszulesen :-(

                      W Offline
                      W Offline
                      wavoigt
                      schrieb am zuletzt editiert von
                      #10

                      Hi,
                      hab im Netz folgende Kommunikationsbeschreibung gefunden, vielleicht hilfts...
                      SHARKY 775. Kommunikationsbeschreibung.pdf
                      Viele Grüße,
                      Walter

                      1 Antwort Letzte Antwort
                      0
                      • T Tom H.

                        Hi @flispy und @agsteffan - seid ihr irgendwie voran gekommen? Habe einen Techem Ultra S3 (sollte auch ein Sharky
                        775 sein) aber bis dato keinen Erfolg diesen auszulesen :-(

                        S Offline
                        S Offline
                        sharky
                        schrieb am zuletzt editiert von
                        #11

                        Hallo @tom-h ,
                        die optische Schnittstelle muss erst getriggert werden, indem diverse 0x55-Bytes bei 2400 Baud gesendet werden. Ich denke, ich komme im Laufe der zwei nächsten Wochen dazu, das in Python zu implementieren, da ich demnächst die nötige Hardware verfügbar habe. Oder hast Du schon eine fertige Lösung gefunden?
                        Grüße Marco

                        D 1 Antwort Letzte Antwort
                        0
                        • S sharky

                          Hallo @tom-h ,
                          die optische Schnittstelle muss erst getriggert werden, indem diverse 0x55-Bytes bei 2400 Baud gesendet werden. Ich denke, ich komme im Laufe der zwei nächsten Wochen dazu, das in Python zu implementieren, da ich demnächst die nötige Hardware verfügbar habe. Oder hast Du schon eine fertige Lösung gefunden?
                          Grüße Marco

                          D Online
                          D Online
                          darkblu
                          schrieb am zuletzt editiert von
                          #12

                          @sharky ,
                          das hört sich gut. Halte uns bitte auf dem laufenden.

                          Raspi 4, 4GB für Influxdb 1.8 und Grafana
                          Raspi 5, 8 GB für ioBroker

                          S 1 Antwort Letzte Antwort
                          0
                          • D darkblu

                            @sharky ,
                            das hört sich gut. Halte uns bitte auf dem laufenden.

                            S Offline
                            S Offline
                            sharky
                            schrieb am zuletzt editiert von
                            #13

                            @darkblu Mit einem Raspberry Pico W habe ich jetzt erfolgreich die Daten ausgelesen. Siehe https://github.com/mh-g/ultramess/tree/main

                            Die von wavoigt verlinkte Kommunikationsbeschreibung ist veraltet, im github-Projekt verlinke ich einen neueren Stand der auch zu der Firmware meiner Ultramess / Sharky 775 passt. Ergänzende weitere Dokumente zu Meterbus sind aber trotzdem nötig. (Eine wirklich originelle Schnittstelle, die von WDV Molliné auch noch schlecht beschrieben ist.)

                            F 1 Antwort Letzte Antwort
                            0
                            • S sharky

                              @darkblu Mit einem Raspberry Pico W habe ich jetzt erfolgreich die Daten ausgelesen. Siehe https://github.com/mh-g/ultramess/tree/main

                              Die von wavoigt verlinkte Kommunikationsbeschreibung ist veraltet, im github-Projekt verlinke ich einen neueren Stand der auch zu der Firmware meiner Ultramess / Sharky 775 passt. Ergänzende weitere Dokumente zu Meterbus sind aber trotzdem nötig. (Eine wirklich originelle Schnittstelle, die von WDV Molliné auch noch schlecht beschrieben ist.)

                              F Offline
                              F Offline
                              flispy
                              schrieb am zuletzt editiert von
                              #14

                              @sharky das hört sich interessant an. Da ich ich keinen Rasperry habe: könnte ich das auch von einem Intel NUC ausführen?

                              S 1 Antwort Letzte Antwort
                              0
                              • F flispy

                                @sharky das hört sich interessant an. Da ich ich keinen Rasperry habe: könnte ich das auch von einem Intel NUC ausführen?

                                S Offline
                                S Offline
                                sharky
                                schrieb am zuletzt editiert von
                                #15

                                @flispy Bei den NUCs kenne ich mich inzwischen nicht mehr so aus. Letzten Endes benötigt man ein Gerät mit digitalen Inputs/Outputs oder serieller Schnittstelle. Ein Raspberry Pico W kostet gerade mal 7 Euro plus Porto -- und man riskiert maximal den Pico W, wenn man was falsch verdrahtet. Vielleicht einfach einen anschaffen?

                                F 1 Antwort Letzte Antwort
                                0
                                • S sharky

                                  @flispy Bei den NUCs kenne ich mich inzwischen nicht mehr so aus. Letzten Endes benötigt man ein Gerät mit digitalen Inputs/Outputs oder serieller Schnittstelle. Ein Raspberry Pico W kostet gerade mal 7 Euro plus Porto -- und man riskiert maximal den Pico W, wenn man was falsch verdrahtet. Vielleicht einfach einen anschaffen?

                                  F Offline
                                  F Offline
                                  flispy
                                  schrieb am zuletzt editiert von
                                  #16

                                  @sharky Also ich habe einen Volkszähler per USB an dem Intel NUC. Ich hätte nun gesagt, dass das irgendwie reichen muss. Ich verstehe nur noch nicht, wie ich nun dein Projekt darauf laufen lassen kann/muss. Python ist installiert. Im ersten Schritt wäre es also einfach interessant, ob ich die Verbindung herstellen kann.
                                  Könntest du mich unterstützen was ich machen muss um dein Script auszuführen und mein NUC auch weiß, welchen USB Port er nutzen soll?

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • F flispy

                                    @sharky Also ich habe einen Volkszähler per USB an dem Intel NUC. Ich hätte nun gesagt, dass das irgendwie reichen muss. Ich verstehe nur noch nicht, wie ich nun dein Projekt darauf laufen lassen kann/muss. Python ist installiert. Im ersten Schritt wäre es also einfach interessant, ob ich die Verbindung herstellen kann.
                                    Könntest du mich unterstützen was ich machen muss um dein Script auszuführen und mein NUC auch weiß, welchen USB Port er nutzen soll?

                                    S Offline
                                    S Offline
                                    sharky
                                    schrieb am zuletzt editiert von
                                    #17

                                    @flispy Ich nehme mal an, dass der Volkszähler eine normale serielle Schnittstelle bereitstellt (also "COMxxx" unter Windows bzw. "/dev/ttyUSBxxx" unter Linux). Dann kannst Du das folgende Programm mal ausprobieren, Du musst nur ganz unten ggf. das "/dev/ttyUSB0" in Zeile 86 durch das in Deinem Fall richtige ersetzen. Außerdem muss mit

                                    pip install pySerial
                                    

                                    noch die Bibliothek für serielle Schnittstellen für Python installiert werden.

                                    Keine Erfolgsgarantie, ich habe es nur so trocken heruntergeschrieben ...

                                    import serial
                                    import time
                                    import binascii
                                    
                                    
                                    # === mbus_checksum ===============================================================================
                                    def mbus_checksum(data, skip):
                                        sum = 0
                                        for i in range(0, len(data)):
                                            if i >= skip:
                                                sum = sum + int(data[i])
                                        return bytearray([sum & 255])
                                    
                                    
                                    # === check_result ================================================================================
                                    def check_result(where, ser):
                                        result = ser.read(1)
                                        if result == b'\xe5':
                                            return True
                                        else:
                                            if result is None:
                                                return True
                                            else:
                                                print(f'{where}: bad answer: {binascii.hexlify(bytearray(result), " ")}')
                                                return False
                                    
                                    
                                    # === get_data ====================================================================================
                                    def get_data(ser):
                                        # 2.5: at 2400, 8N1 to send 2.2s of alternating bits
                                        ser.write(b'\x55' * 528)
                                    
                                        # time.sleep(2.0) # 2.0s sleep -> 0.8s break -> 1.2s until the buffer is empty ...
                                        time.sleep(1.2 + 170.0 / 2400.0)
                                    
                                        # 2.3: change parity
                                        ser.parity=serial.PARITY_EVEN
                                    
                                        # 2.7.1: do selection, use jokers for serial, manufacturer, ID, medium
                                        # 17 chars, 0.08s outgoing
                                        selection = b'\x68\x0B\x0B\x68\x53\xFD\x52\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF'
                                        ser.write(selection)
                                        ser.write(mbus_checksum(selection, 4))
                                        ser.write(b'\x16')
                                        # result arrives after 0.19s - 0.30s
                                        check_result('Selection', ser)
                                    
                                        # 3.1: do application reset 0x50 (to read instant values)
                                        # 10 chars, 0.05s outgoing
                                        app_reset = b'\x68\x04\x04\x68\x53\xFD\x50\x50'
                                        ser.write(app_reset)
                                        ser.write(mbus_checksum(app_reset, 4))
                                        ser.write(b'\x16')
                                        # result arrives after 0.08s
                                        check_result('Application reset', ser)
                                    
                                        # 3.2: do read data
                                        # 5 chars, 0.02s
                                        read_data = b'\x10\x7B\xFD'
                                        ser.write(read_data)
                                        ser.write(mbus_checksum(read_data, 1))
                                        ser.write(b'\x16')
                                        # result arrives after 0.07s, is 0.71s long (ca. 173 bytes)
                                        result = ser.read(200)  # 173 bytes plus some reserves
                                        if result is None:
                                            print('No data received')
                                        else:
                                            # debug output (hex dump) of received data
                                            print(f'user data bytes: {binascii.hexlify(bytearray(result), " ")}')
                                    
                                            # 2.7.2: do deselection
                                            # 5 chars, 0.02s
                                            deselection = b'\x10\x40\xfd'
                                            ser.write(deselection)
                                            ser.write(mbus_checksum(deselection, 0))
                                            ser.write(b'\x16')
                                            check_result('Deselection', ser)
                                    
                                            # return bytes received
                                        return result
                                    
                                    
                                    # === main ========================================================================================
                                    print('Starting up ...\n')
                                    # 2.5: 2400, 8N1 to send 2.2s of alternating bits, long timeout due to slow response by Ultramess
                                    ser = serial.Serial("/dev/ttyUSB0", baudrate=2400, bytesize=8, parity=serial.PARITY_NONE, stopbits=1, timeout=0.5)
                                    
                                    while True:
                                        print('Reading #0')
                                        result = get_data(ser)
                                    
                                        time.sleep(5.0)
                                    
                                    D Thorsten NiemannT 2 Antworten Letzte Antwort
                                    0
                                    • S sharky

                                      @flispy Ich nehme mal an, dass der Volkszähler eine normale serielle Schnittstelle bereitstellt (also "COMxxx" unter Windows bzw. "/dev/ttyUSBxxx" unter Linux). Dann kannst Du das folgende Programm mal ausprobieren, Du musst nur ganz unten ggf. das "/dev/ttyUSB0" in Zeile 86 durch das in Deinem Fall richtige ersetzen. Außerdem muss mit

                                      pip install pySerial
                                      

                                      noch die Bibliothek für serielle Schnittstellen für Python installiert werden.

                                      Keine Erfolgsgarantie, ich habe es nur so trocken heruntergeschrieben ...

                                      import serial
                                      import time
                                      import binascii
                                      
                                      
                                      # === mbus_checksum ===============================================================================
                                      def mbus_checksum(data, skip):
                                          sum = 0
                                          for i in range(0, len(data)):
                                              if i >= skip:
                                                  sum = sum + int(data[i])
                                          return bytearray([sum & 255])
                                      
                                      
                                      # === check_result ================================================================================
                                      def check_result(where, ser):
                                          result = ser.read(1)
                                          if result == b'\xe5':
                                              return True
                                          else:
                                              if result is None:
                                                  return True
                                              else:
                                                  print(f'{where}: bad answer: {binascii.hexlify(bytearray(result), " ")}')
                                                  return False
                                      
                                      
                                      # === get_data ====================================================================================
                                      def get_data(ser):
                                          # 2.5: at 2400, 8N1 to send 2.2s of alternating bits
                                          ser.write(b'\x55' * 528)
                                      
                                          # time.sleep(2.0) # 2.0s sleep -> 0.8s break -> 1.2s until the buffer is empty ...
                                          time.sleep(1.2 + 170.0 / 2400.0)
                                      
                                          # 2.3: change parity
                                          ser.parity=serial.PARITY_EVEN
                                      
                                          # 2.7.1: do selection, use jokers for serial, manufacturer, ID, medium
                                          # 17 chars, 0.08s outgoing
                                          selection = b'\x68\x0B\x0B\x68\x53\xFD\x52\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF'
                                          ser.write(selection)
                                          ser.write(mbus_checksum(selection, 4))
                                          ser.write(b'\x16')
                                          # result arrives after 0.19s - 0.30s
                                          check_result('Selection', ser)
                                      
                                          # 3.1: do application reset 0x50 (to read instant values)
                                          # 10 chars, 0.05s outgoing
                                          app_reset = b'\x68\x04\x04\x68\x53\xFD\x50\x50'
                                          ser.write(app_reset)
                                          ser.write(mbus_checksum(app_reset, 4))
                                          ser.write(b'\x16')
                                          # result arrives after 0.08s
                                          check_result('Application reset', ser)
                                      
                                          # 3.2: do read data
                                          # 5 chars, 0.02s
                                          read_data = b'\x10\x7B\xFD'
                                          ser.write(read_data)
                                          ser.write(mbus_checksum(read_data, 1))
                                          ser.write(b'\x16')
                                          # result arrives after 0.07s, is 0.71s long (ca. 173 bytes)
                                          result = ser.read(200)  # 173 bytes plus some reserves
                                          if result is None:
                                              print('No data received')
                                          else:
                                              # debug output (hex dump) of received data
                                              print(f'user data bytes: {binascii.hexlify(bytearray(result), " ")}')
                                      
                                              # 2.7.2: do deselection
                                              # 5 chars, 0.02s
                                              deselection = b'\x10\x40\xfd'
                                              ser.write(deselection)
                                              ser.write(mbus_checksum(deselection, 0))
                                              ser.write(b'\x16')
                                              check_result('Deselection', ser)
                                      
                                              # return bytes received
                                          return result
                                      
                                      
                                      # === main ========================================================================================
                                      print('Starting up ...\n')
                                      # 2.5: 2400, 8N1 to send 2.2s of alternating bits, long timeout due to slow response by Ultramess
                                      ser = serial.Serial("/dev/ttyUSB0", baudrate=2400, bytesize=8, parity=serial.PARITY_NONE, stopbits=1, timeout=0.5)
                                      
                                      while True:
                                          print('Reading #0')
                                          result = get_data(ser)
                                      
                                          time.sleep(5.0)
                                      
                                      D Online
                                      D Online
                                      darkblu
                                      schrieb am zuletzt editiert von
                                      #18

                                      Hallo @sharky ,
                                      ich hätte ja auch Interesse meinen Sharky auszulesen.
                                      Kennst du das hier:
                                      Tasmota SMI

                                      Wenn ich das richtig verstehe, kompiliert man sich eine Tasmota mit dem was da steht auf zB einen Wemos D1 mini,
                                      kopiert das Script und verbindet einen Volkszähler mit dem D1 (keine Ahnung auf welche GPIOs).
                                      Und schon hätte man das Ganze per MQTT im ioBroker.

                                      Folgender Satz ist mir nicht ganz klar was damit gemeint ist:

                                      This heat meter needs a wakeup sequence with 2400 Baud 8N1, wheras communication is done by 2400 Baud 8E1.
                                      

                                      Hört sich doch gut an, oder ?

                                      Raspi 4, 4GB für Influxdb 1.8 und Grafana
                                      Raspi 5, 8 GB für ioBroker

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        sharky
                                        schrieb am zuletzt editiert von
                                        #19

                                        Hallo @darkblu, Tasmota kenne ich nur vom Hörensagen, habe aber nichts Schlechtes gehört. Der ESP32/Wemos D1 mini kommt für mich nicht in Frage, da ich mehrere Geräte auslesen will, dort aber nur eine serielle Schnittstellen wirklich frei ist. Prinzipiell sollte das aber für einen WMZ Sharky 775 funktionieren.

                                        Der zitierte Satz bezieht sich auf das, was in meinem obigen Programm in den Zeilen 30-37 passiert.

                                        D 1 Antwort Letzte Antwort
                                        0
                                        • S sharky

                                          Hallo @darkblu, Tasmota kenne ich nur vom Hörensagen, habe aber nichts Schlechtes gehört. Der ESP32/Wemos D1 mini kommt für mich nicht in Frage, da ich mehrere Geräte auslesen will, dort aber nur eine serielle Schnittstellen wirklich frei ist. Prinzipiell sollte das aber für einen WMZ Sharky 775 funktionieren.

                                          Der zitierte Satz bezieht sich auf das, was in meinem obigen Programm in den Zeilen 30-37 passiert.

                                          D Online
                                          D Online
                                          darkblu
                                          schrieb am zuletzt editiert von
                                          #20

                                          Hallo @sharky ,
                                          das ist schade - weil ich bin so eher der cpoy paste Anwender und hoffte, ich könnte von deinem Wissen partizipieren.
                                          Aber gut, D1 Minis habe ich noch hier rumfliegen und den "Volkszähler" gibt es ja auch schon für unter 20 Euro.
                                          Dann probiere ich das mal in den Weihnachtsferien aus.

                                          Wenn ich das richtig deute, steht ja in dem Skript, dass die wakeup sequence mit 8N1 ausgeführt wird
                                          und anschließend auf 8E1 gewechselt wird.

                                          Ich werde berichten.

                                          Raspi 4, 4GB für Influxdb 1.8 und Grafana
                                          Raspi 5, 8 GB für ioBroker

                                          S 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          827

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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