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. ioBroker Allgemein
  4. [gelöst] SMI260 via WMBus Stick steuern

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

[gelöst] SMI260 via WMBus Stick steuern

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
7 Beiträge 3 Kommentatoren 1.1k Aufrufe 1 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.
  • D Offline
    D Offline
    DavidFD
    schrieb am zuletzt editiert von
    #1

    Ich hab da so ne kleine Solaranlage mit Batteriespeicher. Die deckt mir etwas den Grundbedarf und speichert den Rest in Akkus.

    Meinen Wechselrichter (SMI 260) kann man mit einem Stick und einer bescheidenen Software streuern - unter Win…

    Ich will erreichen, dass das ich die Ausgabe-Leistung des WR dynamisch über Iobroker anpassen kann, leider kenn ich mich mit Kommunikationsprotokollen nicht ausreichend aus.

    Ich habe gelesen, dass manche sich die gesendeten Befehle gesnifft haben und diese dann alternativ via Bash unter Linux absenden.

    Gesnifft hab ich - leider hab ich jetzt nur Alt-griechisch vor mir.

    Hat jemand das ganze schonmal umgesetzt oder kennt sich jemand aus mit dem Protokoll und kann mir da unter die Arme greifen?

    2 Raspis als Multihost, Homematic, Xiaomi und Hue.

    Bastelprojekte auf www.derfrickler.de zu finden.

    Aktuell:

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      DavidFD
      schrieb am zuletzt editiert von
      #2

      Nochmal mein aktuelle Zwischenstand.

      Gesniffte Kommunikation sieht so aus:

      8819_gesnifft.png

      Wenn ich das ganze Analog mit pySerial abschicke, dann zeigt mein Com Monitor die ausgehende Kommnukation identisch an, leider passiert aber nichts. Wo mach ich den Fehler?

      import serial
      
      s = serial.Serial(
          port='COM4',\
          baudrate=9600,\
          parity=serial.PARITY_EVEN,\
          stopbits=serial.STOPBITS_ONE,\
          bytesize=serial.EIGHTBITS,\
              timeout=2)
      
      command=b"\xA5\x81\x0F\x00\x34\x13"
      s.write(command)
      s.read()
      
      command=b"\xA5\x82\x01\x10\x5B\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x50\x1D"
      s.write(command)
      s.read()
      
      command=b"\xA5\x82\x01\x13\x5B\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x00\xFF\xA7\x58\x27"
      s.write(command)
      s.read()
      
      command=b"\xA5\x82\x01\x24\x44\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x12\x2B\x0B\x00\x02\x7C\x07\x69\x68\x70\x5F\x73\x6F\x63\xE8\x03\x01\xFD\x66\x01\x06\x78"
      s.write(command)
      s.read()
      
      command=b"\xA5\x82\x01\x10\x5B\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x50\x1D"
      s.write(command)
      s.read()
      
      command=b"\xA5\x82\x01\x13\x5B\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x00\xFF\xA7\x58\x27"
      s.write(command)
      s.read()
      
      s.close()
      exit()
      
      

      2 Raspis als Multihost, Homematic, Xiaomi und Hue.

      Bastelprojekte auf www.derfrickler.de zu finden.

      Aktuell:

      1 Antwort Letzte Antwort
      0
      • D Offline
        D Offline
        DavidFD
        schrieb am zuletzt editiert von
        #3

        habs jetzt zum laufen gebracht.

        Knackpunkt war die Parity, diese hatte ich falsch gesetzt und darum kamen die Befehle nicht an.

        Mein Testscript läuft jetzt so:

        import serial, time, sys
        
        watt =  int(sys.argv[1])
        
        print watt
        
        s = serial.Serial('/dev/ttyUSB1', 57600, serial.EIGHTBITS, serial.PARITY_NONE, serial.STOPBITS_ONE,1)
        
        command=b"\xA5\x81\x0F\x00\x34\x13"
        command1=b"\xA5\x82\x01\x24\x44\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x12\x2B\x0A\x00\x02\x7C\x07\x69\x68\x70\x5F\x73\x6F\x63\xE8\x03\x01\xFD\x66\x01\xE1\x80"
        
        s.write(command)
        s.readline()
        
        command=b"\xA5\x82\x01\x10\x5B\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x50\x1D"
        
        s.write(command)
        s.readline()
        
        command=b"\xA5\x82\x01\x13\x5B\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x00\xFF\xA7\x58\x27"
        
        s.write(command)
        s.readline()
        
        ##switch off
        if watt == 0:
                print "ausschalten"
                command=b"\xA5\x82\x01\x24\x44\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x12\x2B\x00\x00\x02\x7C\x07\x69\x68\x70\x5F\x73\x6F\x63\xE8\x03\x01\xFD\x66\x00\xF8\x97"
        
        ## 20 Watt
        if watt == 20:
                print "20 Watt"
                command=b"\xA5\x82\x01\x24\x44\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x12\x2B\x14\x00\x02\x7C\x07\x69\x68\x70\x5F\x73\x6F\x63\xE8\x03\x01\xFD\x66\x01\x51\x8B"
        
        ## 10 Watt 
        if watt == 10:
                print "10 Watt"
                command=b"\xA5\x82\x01\x24\x44\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x12\x2B\x0A\x00\x02\x7C\x07\x69\x68\x70\x5F\x73\x6F\x63\xE8\x03\x01\xFD\x66\x01\xE1\x80"
        
        ## 50Watt 
        if watt == 50:
                print "50 Watt"
                command=b"\xA5\x82\x01\x24\x44\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x12\x2B\x32\x00\x02\x7C\x07\x69\x68\x70\x5F\x73\x6F\x63\xE8\x03\x01\xFD\x66\x01\x2E\x6C"
        
        ## 75 Watt
        if watt == 75:
                print "75 Watt"
                command=b"\xA5\x82\x01\x24\x44\xB4\xB0\x62\x98\x00\x00\x01\x02\x51\x0C\x79\x00\x00\x00\x00\x12\x2B\x4B\x00\x02\x7C\x07\x69\x68\x70\x5F\x73\x6F\x63\xE8\x03\x01\xFD\x66\x01\x09\xBA"
        
        s.write(command)
        s.readline()
        
        s.close()
        
        

        die Befehle hab ich mir mit "Serial Port Monitor" für die einzelnen Leistungsstufen aufgezeichnet.

        Jetzt kann ich meinen Wechselrichter endlich dem Stromverbrauch und der Sonnensituation dynamisch anpassen.

        Bei Fragen, gern PN oder hier.

        2 Raspis als Multihost, Homematic, Xiaomi und Hue.

        Bastelprojekte auf www.derfrickler.de zu finden.

        Aktuell:

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          maestrone
          schrieb am zuletzt editiert von
          #4

          Hallo DavidFD

          Danke für deine Arbeit… habe die gleichen WR (4 Stück) in Netzkopplung an 260 Watt Paneelen.

          Fragen: Du beeinflusst scheinbar mit diesem Code die Leistungsabgabe der WR (DC > AC). Hast du eine Methode herausgefunden wie die produzierte Leistung im Netzbetrieb ausgelesen werden kann? Auch interessant wäre die Unterscheidung von verschiedenen WR.

          Hast du dafür einen Ansatz, wäre die Lösung eines grossen Problems bei mir...

          Grüsse

          Maestrone

          Nebenbei: Dein publizierter Code ist javascript oder? Sorry bin absoluter Beginner

          D 1 Antwort Letzte Antwort
          0
          • Mahe3006M Offline
            Mahe3006M Offline
            Mahe3006
            schrieb am zuletzt editiert von
            #5

            Hallo DavidFD,
            ich habe deinen Beitrag zum SMI260 gelesen.
            Sieht sehr interessant aus und hat mein Interesse geweckt.
            Hast du dein Script noch erweitert?
            Ich möchte mir gerne 2 Stück von den Wechselrichtern holen und in meine vorhanden Hausanlage aus Batteriewechselrichter einbauen. Die Dinger sollen dann zur Nullkompensation werkeln.
            In deinem Script bis du bis 70Watt Ausgangsleistung gegangen. Hast du auch die Werte für bis Max-Watt?
            Der WR gibt sicherlich noch andere Statusinformationen aus, hast du darauf auch mal einen Blick geworfen?
            Ich hoffe ich nerve nicht zu sehr mit meinen Fragen.
            Sonnige Grüße aus NRW.
            Marc

            D 1 Antwort Letzte Antwort
            0
            • M maestrone

              Hallo DavidFD

              Danke für deine Arbeit… habe die gleichen WR (4 Stück) in Netzkopplung an 260 Watt Paneelen.

              Fragen: Du beeinflusst scheinbar mit diesem Code die Leistungsabgabe der WR (DC > AC). Hast du eine Methode herausgefunden wie die produzierte Leistung im Netzbetrieb ausgelesen werden kann? Auch interessant wäre die Unterscheidung von verschiedenen WR.

              Hast du dafür einen Ansatz, wäre die Lösung eines grossen Problems bei mir...

              Grüsse

              Maestrone

              Nebenbei: Dein publizierter Code ist javascript oder? Sorry bin absoluter Beginner

              D Offline
              D Offline
              DavidFD
              schrieb am zuletzt editiert von
              #6

              @maestrone Der Code ist Python. Python läuft auf den Linuxkisten wunderbar und ist meist schon vorhanden.

              Ein Auslesen der Leistungsabgabe habe ich gar nicht probiert. Da stecke ich nicht tief genug in der Materie.

              2 Raspis als Multihost, Homematic, Xiaomi und Hue.

              Bastelprojekte auf www.derfrickler.de zu finden.

              Aktuell:

              1 Antwort Letzte Antwort
              0
              • Mahe3006M Mahe3006

                Hallo DavidFD,
                ich habe deinen Beitrag zum SMI260 gelesen.
                Sieht sehr interessant aus und hat mein Interesse geweckt.
                Hast du dein Script noch erweitert?
                Ich möchte mir gerne 2 Stück von den Wechselrichtern holen und in meine vorhanden Hausanlage aus Batteriewechselrichter einbauen. Die Dinger sollen dann zur Nullkompensation werkeln.
                In deinem Script bis du bis 70Watt Ausgangsleistung gegangen. Hast du auch die Werte für bis Max-Watt?
                Der WR gibt sicherlich noch andere Statusinformationen aus, hast du darauf auch mal einen Blick geworfen?
                Ich hoffe ich nerve nicht zu sehr mit meinen Fragen.
                Sonnige Grüße aus NRW.
                Marc

                D Offline
                D Offline
                DavidFD
                schrieb am zuletzt editiert von DavidFD
                #7

                @Mahe3006 Hey, habs leider erst jetzt gesehen.

                Die höheren Werte müsstest du dir selbst auslesen, da immer ein Zufallsanteil der zu deinem WR passt im Paket drin sein müsste.

                Das Script hab ich mir noch ein bisschen erweitert, dass es mir immer nach meinem Verbrauch das anpasst und die Akkus im idealen Status hat. Jetzt sind wir aber umgezogen und ich habe es aktuell noch gar nicht in Betrieb - kommt aber hoffentlich bald wieder ;)

                Die Statusmeldungen vom WR hab ich mir gar nicht genauer angeschaut (Kommunkationprotokolle sind für mich bömische Dörfer). Ich habe mir einen Laderegler ( https://amzn.to/2O0sKLp ) mit Schnittstelle im gut dokumentierten Modbus Protokoll gekauft und diesen dann ausgelesen.

                Die Leistungswerte etc haben mit dem SMI gut hingehauen und ich konnte damit auch Ladezustand der Akkus, Eingangsleistung Solar, Ausgangsleistung an den WR messen. Dafür hab ich mir ein kleines Script gebastelt, dass mir die Daten via MQTT an Iobroker gesandt hat.

                Bei Fragen, gern Fragen

                2 Raspis als Multihost, Homematic, Xiaomi und Hue.

                Bastelprojekte auf www.derfrickler.de zu finden.

                Aktuell:

                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
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                370

                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