Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler sma_mb Plugin nach Update v1.10.0-master

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

    Fehler sma_mb Plugin nach Update v1.10.0-master

    Hallo,

    leider startet nach Update auf v1.10.0-master das sma_mb Plugin nicht mehr.

    Im Log ist beim Start zu lesen:
    ERROR lib.plugin Plugin 'sma_mb' error importing Python package: No module named 'pymodbus.version'
    ERROR lib.plugin Plugin 'sma_mb' initialization failed, plugin not loaded

    Danke für die Hilfe

    #2
    Nur geraten, kenne das Plugin nicht:

    Code:
    from pymodbus.version import version
    ändern in
    Code:
    from pymodbus import version
    Zu finden hier. Referenz, bei der es funktioniert: Hier. Ggf sind aber weitere Anpassungen notwendig, kenne wie schon geschrieben das Plugin nicht, und will mich da auch nicht einlesen.

    /tom

    p.s. Das ganze Versions-Geraffel mit if/else usw in Zeile 40-48 im sma_mb ist eigentlich nicht notwendig, wenn man es wie gezeigt mit try/except macht (da reichen 8 Zeilen sogar für Dual-Support Modbus TCP+RTU). Verstehe bis heute nicht, warum das in mehreren Plugins so umständlich ("akademisch") implementiert wurde - spätestens ab V3 knallt's eh wieder.
    Zuletzt geändert von Tom Bombadil; 17.02.2024, 01:48.

    Kommentar


      #3
      Leider war es doch nicht so einfach. Und hat nicht den ersehnten Erfolg gebracht.

      Ich habe mal das ganze Version if else aus der __init__.py rausgenommen.
      Code:
      from pymodbus.version import version
      pymodbus_baseversion = int(version.short().split('.')[0])
      
      if pymodbus_baseversion > 2:
          # for newer versions of pymodbus
          from pymodbus.client.tcp import ModbusTcpClient
      else:
          # for older versions of pymodbus
          from pymodbus.client.sync import ModbusTcpClient
      und nur das geschrieben
      Code:
      from pymodbus.client.tcp import ModbusTcpClient
      Jetzt wird das Plugin zumindest geladen, aber es liefert keine Werte. 😫

      Vielleicht liest ja der Entwickler von sma_mb hier mit und kann mehr dazu sagen.

      Werde mal versuchen wieder auf die alte SmarthomeNG Version zurückzukommen.
      Damit mein System wieder ordentlich läuft. Never Touch a Running System

      Danke für deine Hilfe.
      Zuletzt geändert von SKraft; 17.02.2024, 12:57.

      Kommentar


        #4
        Zitat von SKraft Beitrag anzeigen
        Leider war es doch nicht so einfach. Und hat nicht den ersehnten Erfolg gebracht.
        Ich habe die ganzen Modbus-Sachen gefixt. Leider ist mein Pull-Request weder im Master noch im Developer gelandet. Das wäre gut, wenn das da mal eingepflegt werden würde. Ich habe das extra noch mal alles separat hoch geladen gehabt, damit das noch zum Release fertig wird.

        Zitat von SKraft Beitrag anzeigen
        Werde mal versuchen wieder auf die alte SmarthomeNG Version zurückzukommen.
        Damit mein System wieder ordentlich läuft. Never Touch a Running System
        Das wird nichts bringen. Das Problem ist das pymodbus, nicht SmartHomeNG. Lade dir das dann aus meinem fork runter und kopiere dir das da rein, dann geht es wieder: https://github.com/CannonRS/plugins/tree/develop/sma_mb

        Kommentar


          #5
          Super 👍

          Jetzt geht alles wieder.
          Vielen Dank

          Kommentar


            #6
            Zitat von Cannon Beitrag anzeigen
            Ich habe die ganzen Modbus-Sachen gefixt. Leider ist mein Pull-Request weder im Master noch im Developer gelandet.
            Es wurde nur der eine PR angenommen, für den zusätzliche Testerfahrungen vorlagen. Die übrigen PRs sind noch offen und können gern angenommen werden, wenn die jeweils noch andere Leute getestet haben.

            Ansonsten steht oben im Forum auch, wie man sowas trotzdem einbinden kann

            Kommentar


              #7
              Zitat von Morg Beitrag anzeigen
              Es wurde nur der eine PR angenommen, für den zusätzliche Testerfahrungen vorlagen. Die übrigen PRs sind noch offen und können gern angenommen werden, wenn die jeweils noch andere Leute getestet haben.
              In der Regel wird die alte Version nicht funktionieren und deshalb wäre es sinnvoller die neue zu nehmen, die zwar so nicht getestet ist aber mit wesentlich höherer Wahrscheinlichkeit funktioniert. Zudem war ja auch noch ein Backup der alten Version mit hinterlegt. Deshalb wäre es gut, die mal einzubinden ... vor allem auch im Develop ist die gar nicht drin, wie soll man die denn sonst testen?

              Zitat von Morg Beitrag anzeigen
              Ansonsten steht oben im Forum auch, wie man sowas trotzdem einbinden kann
              Wo? Ich finde es nicht und wüsste auch nicht wie man da sonst ran kommt.

              Zitat von SKraft Beitrag anzeigen
              Vielen Dank



              Gern geschehen.

              Kommentar


                #8
                Zitat von Cannon Beitrag anzeigen
                Wo? Ich finde es nicht und wüsste auch nicht wie man da sonst ran kommt.
                Du hast recht - ich war überzeugt, dass es dazu ein Forumsthema gibt. Vielleicht ist das schon wieder nach hinten gerutscht...

                Was ich als geschriebene Doku finden konnte, ist die Anleitung, ein Plugin aus develop zu installieren: https://smarthomeng.github.io/smarth...s_develop.html

                Das würde hier genauso funktionieren, nur, dass du nicht develop runterlädtst, sondern den branch, aus dem der PR kommt.

                Kommentar

                Lädt...
                X