Ankündigung

Einklappen
Keine Ankündigung bisher.

Supportthread für SMA_MB Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Supportthread für SMA_MB Plugin

    Bei Problemen mit o.a. Plugin hier rein damit :-)


    #2
    Moin, danke für das Release und die tolle Arbeit. Hab jetzt auch angefangen umzustellen. Ich nutze das neue Image und fast alles funktioniert out of the box.

    Ein Plugin funktioniert nicht und in Endlosschleife läuft das logfile voll.
    Ich nutze zwei Wechselrichter also zwei Instanzen vom SMA Plugin.
    Config bzw. das komplette config file habe ich aus der alten Version übernomen. Jetzt weiß ich nicht ob es am Image, am Plug-In, SHNG oder an mir liegt
    Hat wer eine Idee?

    Code:
    2025-06-05  20:44:28 ERROR    lib.scheduler.tasks Method plugins.sma_mb_tp15000.poll_SMAModbus exception: ModbusTcpClient.__init__() takes 2 positional arguments but 3 were given
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/scheduler.py", line 806, in _task
        obj()
      File "/usr/local/smarthome/plugins/sma_mb/__init__.py", line 173, in poll_device
        client = ModbusTcpClient(self._host, self._port)
    TypeError: ModbusTcpClient.__init__() takes 2 positional arguments but 3 were given
    2025-06-05  20:44:28 ERROR    lib.scheduler.tasks Method plugins.sma_mb_tp3000.poll_SMAModbus exception: ModbusTcpClient.__init__() takes 2 positional arguments but 3 were given
    Traceback (most recent call last):
      File "/usr/local/smarthome/lib/scheduler.py", line 806, in _task
        obj()
      File "/usr/local/smarthome/plugins/sma_mb/__init__.py", line 173, in poll_device
        client = ModbusTcpClient(self._host, self._port)
    TypeError: ModbusTcpClient.__init__() takes 2 positional arguments but 3 were given
    2025-06-05  20:44:39 ERROR    lib.scheduler.tasks Method plugins.sma_mb_tp15000.poll_SMAModbus exception: ModbusTcpClient.__init__() takes 2 positional arguments but 3 were given
    Zapft ihr Narren der König hat Durst

    Kommentar


      #3
      Auf die Schnelle würde ich sagen Du kannst im Plugin in der __init__.py die Zeile 173 bearbeiten und dort schreiben

      client = ModbusTcpClient(self._host, port=self._port)

      dann könnte das Plugin wieder funktionieren. Allerdings weiß ich nicht, ob die eingetragenen Maintainer das Plugin auch nutzen oder sich nur dessen angenommen haben weil es niemand gibt der das wartet oder testet.

      Ich vermute das es auf Dauer Sinn machen könnte die Einstellungen auf das modbus_tcp Plugin zu übertragen und damit zu arbeiten.

      Sag' mal Bescheid ob es klappt, dann fixe ich das im Plugin in develop.

      Schau doch dann bitte auch noch im Scheduler via Admin Interface ob Du zweimal den gleichen Eintrag für das Plugin bekommst oder nur einmal...

      Kommentar


        #4
        Moin, danke für deine Hilfe. Die Endlosschleife ist weg und ich bekomme eine andere Fehlermeldung

        Code:
        2025-06-06  07:26:28 ERROR    plugins.sma_mb      tp15000@: poll_device: Item tp15000.status - Error trying to get result, got Exception ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
        2025-06-06  07:26:28 ERROR    plugins.sma_mb      tp15000@: poll_device: Item tp15000.isolationswiderstand_temp - Error trying to get result, got Exception ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
        2025-06-06  07:26:28 ERROR    plugins.sma_mb      tp15000@: poll_device: Item tp15000.netzrelais_status - Error trying to get result, got Exception ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
        2025-06-06  07:26:28 ERROR    plugins.sma_mb      tp15000@: poll_device: Item tp15000.ac_energie_total - Error trying to get result, got Exception ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
        2025-06-06  07:26:28 ERROR    plugins.sma_mb      tp15000@: poll_device: Item tp15000.ac_energie_tag_temp - Error trying to get result, got Exception ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
        2025-06-06  07:26:28 ERROR    plugins.sma_mb      tp15000@: poll_device: Item tp15000.zeit_betrieb - Error trying to get result, got Exception ModbusClientMixin.read_holding_registers() takes 2 positional arguments but 3 positional arguments (and 1 keyword-only argument) were given
        
        ​
        Angehängte Dateien
        Zapft ihr Narren der König hat Durst

        Kommentar


          #5
          Prima danke.

          Kommentar


            #6
            Probiere mal die Dateien in der angehängten Zip Datei aus
            Angehängte Dateien

            Kommentar


              #7
              Sieht gut aus. Wechselrichter ist wieder erreichbar.

              Log file läuft aber jetzt mit folgenden Meldungen voll:

              Code:
              Please use "client.convert_from_registers()" or "client.convert_to_registers"
              See documentation: "https://pymodbus.readthedocs.io/en/latest/source/client.html#pymodbus.client.mixin.ModbusClientMixin.convert_from_registers"
              2025-06-06  16:20:10 WARNING  pymodbus.logging    BinaryPayloadDecoder is deprecated and will be removed in v3.9.0 !
              Please use "client.convert_from_registers()" or "client.convert_to_registers"
              See documentation: "https://pymodbus.readthedocs.io/en/latest/source/client.html#pymodbus.client.mixin.ModbusClientMixin.convert_from_registers"
              2025-06-06  16:20:10 WARNING  pymodbus.logging    BinaryPayloadDecoder is deprecated and will be removed in v3.9.0 !
              Please use "client.convert_from_registers()" or "client.convert_to_registers"
              See documentation: "https://pymodbus.readthedocs.io/en/latest/source/client.html#pymodbus.client.mixin.ModbusClientMixin.convert_from_registers"
              2025-06-06  16:20:10 WARNING  pymodbus.logging    BinaryPayloadDecoder is deprecated and will be removed in v3.9.0 !
              Please use "client.convert_from_registers()" or "client.convert_to_registers"
              See documentation: "https://pymodbus.readthedocs.io/en/latest/source/client.html#pymodbus.client.mixin.ModbusClientMixin.convert_from_registers"​
              Zapft ihr Narren der König hat Durst

              Kommentar


                #8
                Hochpass Ich habe mal ein wenig geschraubt. Leider habe ich Deinen SMA nicht im Einsatz. Aber schau doch mal ob Dich die Dateien im Anhang weiterbringen.
                Angehängte Dateien

                Kommentar


                  #9
                  Du haust dich ganz schön rein für mein Problem. Vielen Dank!!!!!

                  Ich habs mit deinem update jetzt 2 Stunden laufen. und ich habe jetzt noch genau einen Eintrag im Log bekommen

                  Code:
                  2025-06-07  14:14:29 ERROR    lib.scheduler.tasks Method plugins.sma_mb_tp15000.poll_device_192.168.1.44 exception: 'SMAModbus' object has no attribute 'log_error'
                  > Traceback (most recent call last):
                  >   File "/usr/local/smarthome/lib/scheduler.py", line 806, in _task
                  >     obj()
                  >   File "/usr/local/smarthome/plugins/sma_mb/__init__.py", line 190, in poll_device
                  >     self.log_error(f"poll_device already called and not ready for next poll - please adjust cycle or crontab")
                  > AttributeError: 'SMAModbus' object has no attribute 'log_error'​

                  Aber wie gesagt der Rest läuft.
                  Zapft ihr Narren der König hat Durst

                  Kommentar


                    #10
                    Mist, das sollte in der Zeile self.logger.error(...) sein. Korrigierte Version anbei.
                    Aber eigentlich sollte diese Zeile nicht aufgerufen werden müssen weil die nur anschlägt wenn bereits ein poll device am Laufen ist. Welchen cycle nutzt Du? Oder hast Du auf crontab getestet?
                    Angehängte Dateien

                    Kommentar


                      #11
                      Moin,
                      das plugin läuft bei mir jetzt seit 2h unaffällig bzw. ohne log Einträge. Vielen Danke, tolle Arbeit!

                      Konfiguriert habe ich beide WR mit cycle 10 (siehe unten)

                      Code:
                      SMAmodbus1:
                          plugin_name: sma_mb
                          host: 192.168.xx.xx
                          cycle: 10
                          instance: tp15000
                      
                      SMAmodbus2:
                          plugin_name: sma_mb
                          host: 192.168.xx.xx
                          cycle: 10
                          instance: tp3000​
                      Zuletzt geändert von bmx; 08.06.2025, 13:50.
                      Zapft ihr Narren der König hat Durst

                      Kommentar


                        #12
                        Ok, dann pushe ich das mal in develop damit das für das nächste Release gefixt ist. Die IP Adresse ist aber bei beiden WR unterschiedlich, oder?

                        Kannst Du mir bei Gelegenheit noch mal Deine Items schicken? Gerne per PN wenn Du es im Forum nicht so gerne sehen möchtest...

                        Kommentar


                          #13
                          Ja IP Adressen sind unterschiedlich und passen. Ich denke sonst würde es auch nicht funktionieren.
                          Ich glaube bei den Items gibts kein Geheimnis.
                          Angehängte Dateien
                          Zapft ihr Narren der König hat Durst

                          Kommentar


                            #14
                            Danke. Ich habe den Fix in develop geschoben.

                            Kommentar


                              #15
                              Zitat von bmx Beitrag anzeigen
                              Danke. Ich habe den Fix in develop geschoben.
                              Da nicht für ich hab nichts gemacht....
                              Ich danke dir .
                              Zapft ihr Narren der König hat Durst

                              Kommentar

                              Lädt...
                              X