Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin: sma_mb - AttributeError: Big

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

    Plugin: sma_mb - AttributeError: Big

    Hallo,
    ich habe mir ein NUC geleistet und gleich SmarthomeNG aufgespielt. Leider bekomme ich bei den "sma_mb" Plugin ein ERROR. Leider habe ich keine Idee
    was hier das Problem ist.

    Aktuell läuft noch alles auf den NAS ( SNG 1.90 Docker Image) und dort funktioniert das Plugin einwandfrei!


    Meine Daten:

    Name: pymodbus
    Version: 3.6.2​
    image.png

    LOG Output:

    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus Connection to Modbus server established. Socket ('192.168.1.34', 36664) -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus Current transaction state - IDLE -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus Running transaction 1 -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus SEND: 0x0 0x1 0x0 0x0 0x0 0x6 0x3 0x3 0x75 0x65 0x0 0x2 -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus New Transaction state "SENDING" -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus Changing transaction state from "SENDING" to "WAITING FOR REPLY" -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus Changing transaction state from "WAITING FOR REPLY" to "PROCESSING REPLY" -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus RECV: 0x0 0x1 0x0 0x0 0x0 0x7 0x3 0x3 0x4 0x0 0x0 0x23 0x73 -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus Processing: 0x0 0x1 0x0 0x0 0x0 0x7 0x3 0x3 0x4 0x0 0x0 0x23 0x73 -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus Factory Response[ReadHoldingRegistersResponse': 3] -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus Adding transaction 1 -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus Getting transaction 1 -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG logging plugins.sma_mb.poll_SMAModbus Changing transaction state from "PROCESSING REPLY" to "TRANSACTION_COMPLETE" -- logging.py:debug:103
    2023-12-18 16:51:21 DEBUG __init__ plugins.sma_mb.poll_SMAModbus register count is 2 result register is [0, 9075] self._item -- __init__.pyoll_device:213
    2023-12-18 16:51:21 ERROR scheduler plugins.sma_mb.poll_SMAModbus Method plugins.sma_mb.poll_SMAModbus exception: Big -- scheduler.py:_task:694
    > Traceback (most recent call last):
    > File "/usr/local/smarthome/lib/scheduler.py", line 690, in _task
    > obj()
    > File "/usr/local/smarthome/plugins/sma_mb/__init__.py", line 214, in poll_device
    > decoder = BinaryPayloadDecoder.fromRegisters(result.register s, byteorder=Endian.Big)
    > File "/usr/lib/python3.10/enum.py", line 437, in __getattr__
    > raise AttributeError(name) from None
    > AttributeError: Big​​​
    Angehängte Dateien

    #2
    Hi pancho7,

    ich bin vor kurzem über ein ähnliches Problem gestolpert.
    hast Du aus der Readme folgendes beachtet :

    Code:
    Auf Grund von Abhängigkeiten der Versionen zu Python, SmartHomeNG usw. pymodbus mindestens mit Version 2.5.3.
    
    sudo pip3 uninstall pymodbus
    
    sudo pip3 install pymodbus==2.5.3
    ​
    Das solle heißen es wird pymodbus version 2.5.3 erwartet. Da Du auf python 3.10 bist wird automatisch über die requirements pymodbus >= 3.0.2 installiert
    In pymodbus-Versionen > 3.x.x. wurde irgendwann aus "Endian.Big" / "Endian.Little" -> "Endian.BIG" / "Endian.LITTLE"

    wahrscheinlich läufst du deshalb auf diesen Fehler. Prüfe am besten mal Deine pymodbus-Version im admin-Interface.
    Du kannst ein Downgrade von pymodbus versuchen, falls das nicht funktioniert muss das plugin angepasst werden.


    Viele Grüße
    Andre

    Kommentar


      #3
      Hallo Andre,
      vielen Dank ;-)

      Ich habe im Plugin "Endian.Big" -> "Endian.BIG" geändert.

      Jetzt funktioniert es!

      Kommentar


        #4
        Zitat von pancho7 Beitrag anzeigen
        Ich habe im Plugin "Endian.Big" -> "Endian.BIG" geändert.
        Im Developer sollte das aktualisierte Plugin liegen. Ich hatte alle Plugins, die Modbus nutzen im September mal geupdated und als Mindestversion 3.5.2 hinterlegt, da ist in den Versionen davor immer mal solche und andere Änderungen gab, die zu Inkompatibilitäten führten.

        Kommentar

        Lädt...
        X