Ankündigung

Einklappen

Sammelbestellung ETS6 Vollversionen aktiv!

Sammelbestellung für ETS6 Vollversionen (Prof., Home, Lite) mit 40% Rabatt aktiv! Infos im Forum!
Mehr anzeigen
Weniger anzeigen

Neues Plugin für KWL Pluggit AP310

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

  • Gue0411
    antwortet
    Ich habe heute versucht, meine Pluggit Lüftungsanlage in meine Visualisierung einzubinden.
    Leider bekomme ich keinerlei Werte ausgelesen.
    Ich habe auch die 4 Zeilen wie im Post vorher beschrieben ausgetauscht.
    Bei mir leider ohne Erfolg.

    EDIT: Ich nehm meine Aussage zurück, der modbus install lief zuerst anscheinend schief. Funktioniert nun!
    Zuletzt geändert von Gue0411; 04.02.2019, 19:51.

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Ich habe den Fehler gefunden. Das plugin ist aktuell nicht mehr lauffähig, weil sich was an der modbus-Software geändert hat. An 4 Stellen in der Datei __init__.py muss folgendes angepasst werden.

    alt:
    Code:
    BinaryPayloadDecoder.fromRegisters(t3.registers, endian=Endian.Big)
    neu:
    Code:
    BinaryPayloadDecoder.fromRegisters(t3.registers, byteorder=Endian.Big, wordorder=Endian.Big)
    Könntet ihr das im Release der nächsten Version von SmartHomeNG mit reinnehmen?

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Nachdem ich mit pymodbus3 experimentiert habe, habe ich auch pip aktualisiert und dann damit pymodbus. Dann ging zumindest die Installation:

    Code:
     
     sudo easy_install -U pymodbus sudo pip install  -U pymodbus
    Ich bekomme allerdings eine Fehlermeldung im Log, weshalb es immernoch nicht geht. Woran kann es liegen?

    Code:
    Pluggit      Pluggit: something went wrong in the refresh function: fromRegisters() got an unexpected keyword argument 'endian'

    Einen Kommentar schreiben:


  • Cannon
    antwortet
    Anscheinend funktioniert die Installtion des modbus nicht so richtig. Welche Version brauche ich denn jetzt genau. In der Anleitung dazu steht leider nichts. Zumindest erscheint beim Start von SMartHomeNG eine entsprechende Fehlermeldung und das plugin wird nicht gestartet:

    Code:
    2018-12-30  12:37:50 ERROR    Main         Plugin 'pluggit' exception during import of __init__.py: No module named 'pymodbus'
    So habe ich das installiert:

    Code:
    sudo apt-get install python-dev
    [I]sudo easy_install -U pymodbus[/I]

    Einen Kommentar schreiben:


  • bkr
    antwortet
    Danke für dieses Plugin, ich kann jetzt bei meiner AP310 die Daten mit dem Plugin auslesen... aber wie kann ich sie schreiben? Beispielsweise möchte ich gerne den Lüfter auf eine beliebige Stufe stellen oder den Bypass ein- oder ausschalten können. Ist das irgendwie möglich?

    Danke,
    Ben

    Einen Kommentar schreiben:


  • gnarrf
    antwortet
    Super, danke Johannes! Für mich war's nicht nur interessant sondern auch die Lösung :-)

    Viele Grüße
    Jan

    Einen Kommentar schreiben:


  • jonsson
    antwortet
    Hallo Henning,

    vielen Dank für deine super Arbeit, funktioniert einwandfrei! Jetzt bräuchte ich noch ein SVG, das je nach Bypass den Luftsstrom ausgekreuzt oder direkt mit den 2/4 Temperaturen anzeigt. Weißt hier jemand wie ich damit anfange?

    Für wen es interessant ist: bei mir war das Setup von pymodbus wie folgt erfolgreich:
    > wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python3
    > git clone https://github.com/bashwork/pymodbus.git
    > git checkout python3
    > git pull
    > sudo python3 setup.py install

    lg
    Johannes

    Einen Kommentar schreiben:


  • Bonze
    antwortet
    nach ausführen von
    $ sudo apt-get install python-dev
    $ sudo easy_install -U pymodbus
    scheint es zu gehn

    Einen Kommentar schreiben:


  • Bonze
    antwortet
    wie installiert ihr eigentlich pymodbus?
    ich bekomme immer einen Fehler, wenn ich pymodbus nstallieren will
    hab jetzt mehrere pakete nachinstalliert

    sudo apt-get install python-setuptools
    sudo apt-get install python3-dev
    sudo easy_install -U pymodbus


    das ganze mit nem raspberry image

    admin@smarthome:/usr/smarthome$ sudo easy_install -U pymodbus
    Processing pymodbus
    Running setup.py -q bdist_egg --dist-dir /usr/smarthome/pymodbus/egg-dist-tmp-nSMZip
    pymodbus 1.3.0 is already the active version in easy-install.pth

    Installed /usr/local/lib/python2.7/dist-packages/pymodbus-1.3.0-py2.7.egg
    Processing dependencies for pymodbus==1.3.0
    Searching for twisted>=12.2.0
    Reading http://pypi.python.org/simple/twisted/
    Best match: Twisted 15.3.0
    Downloading https://pypi.python.org/packages/sou...fad74d0c5c4599
    Processing Twisted-15.3.0.tar.bz2
    Running Twisted-15.3.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-c5ww5P/Twisted-15.3.0/egg-dist-tmp-7AE_yU
    twisted/test/raiser.c:4:20: fatal error: Python.h: No such file or directory
    compilation terminated.
    error: Setup script exited with error: command 'gcc' failed with exit status 1
    admin@smarthome:/usr/smarthome$ error: Setup script exited with error: command 'gcc' failed with exit status 1
    -bash: error:: command not found
    bekomme leider immnoch die Fehlemeldung beim installieren
    error: Setup script exited with error: command 'gcc' failed with exit status 1
    Zuletzt geändert von Bonze; 04.09.2015, 08:28.

    Einen Kommentar schreiben:


  • Mystery9
    antwortet
    Hab das Problem erstmal zum weiteren testen mit einem disconnect, connect zu Beginn der Refresh Funktion gelöst. Dann liest er zumindest ohne Probleme.

    # Initialize connection
    def __init__(self, smarthome, host, port=502, cycle=300):
    self._host = host
    self._port = int(port)
    self._sh = smarthome
    self._cycle = int(cycle)
    self._lock = threading.Lock()
    self._is_connected = False
    self._items = {}
    self.connect()
    self.disconnect()
    # pydevd.settrace("192.168.0.125")
    def _refresh(self):
    self.disconnect()
    time.sleep( 1 )
    self.connect()
    start_time = time.time()
    try:
    Zuletzt geändert von Mystery9; 29.08.2015, 19:42.

    Einen Kommentar schreiben:


  • BlackCrow
    antwortet
    Zitat von SimonK Beitrag anzeigen
    So da bin ich wieder.
    Ich habe jetzt mal den Fan Speed in meiner Visu anzeigen lassen.
    Aber leider schmeißt er mir nach kurzer Zeit einen Error raus.
    Code:
    2015-06-14 10:37:31,252 ERROR Pluggit Pluggit: something went wrong in the refresh function: 'NoneType' object has no attribute 'getRegister' -- __init__.py:_refresh:274
    Der Fehler taucht bei mir immer auf - sobald der Refresh erfolgt, geht es in die Hose. Wenn nach ca. 20 Min die Verbindung getrennt wird, dann baut er eine neue auf und die Daten werden einmalig wieder ausgelesen. Beim nächsten Refresh geht der Spuk dann wieder von vorne los.

    Die Meldung beim Timeout:

    Code:
    2015-08-28 13:19:43,474 DEBUG    Pluggit      Running transaction 11 -- transaction.py:execute:56
    2015-08-28 13:19:43,474 DEBUG    Pluggit      Transaction failed. ([Errno 110] Die Wartezeit für die Verbindung ist abgelaufen)  -- transaction.py:execute:70
    Anschließend läuft das Plugin wieder fehlerfrei durch:

    Code:
    2015-08-28 13:19:43,513 DEBUG    Pluggit      0x0 0xb 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x4 -- transaction.py:processIncomingPacket:338
    2015-08-28 13:19:43,513 DEBUG    Pluggit      Factory Response[3] -- factory.py:_helper:238
    2015-08-28 13:19:43,513 DEBUG    Pluggit      adding transaction 11 -- transaction.py:addTransaction:148
    2015-08-28 13:19:43,513 DEBUG    Pluggit      getting transaction 11 -- transaction.py:getTransaction:158
    2015-08-28 13:19:43,514 DEBUG    Pluggit      Item pluggit.unitMode = Manuell via Pluggit None None -- item.py:__update:363
    2015-08-28 13:19:43,615 DEBUG    Pluggit      Running transaction 12 -- transaction.py:execute:56
    2015-08-28 13:19:43,635 DEBUG    Pluggit      0x0 0xc 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0xa -- transaction.py:processIncomingPacket:338
    2015-08-28 13:19:43,635 DEBUG    Pluggit      Factory Response[3] -- factory.py:_helper:238
    2015-08-28 13:19:43,636 DEBUG    Pluggit      adding transaction 12 -- transaction.py:addTransaction:148
    2015-08-28 13:19:43,636 DEBUG    Pluggit      getting transaction 12 -- transaction.py:getTransaction:158
    2015-08-28 13:19:43,737 DEBUG    Pluggit      Running transaction 13 -- transaction.py:execute:56
    2015-08-28 13:19:43,758 DEBUG    Pluggit      0x0 0xd 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x0 -- transaction.py:processIncomingPacket:338
    2015-08-28 13:19:43,758 DEBUG    Pluggit      Factory Response[3] -- factory.py:_helper:238
    2015-08-28 13:19:43,759 DEBUG    Pluggit      adding transaction 13 -- transaction.py:addTransaction:148
    2015-08-28 13:19:43,759 DEBUG    Pluggit      getting transaction 13 -- transaction.py:getTransaction:158
    2015-08-28 13:19:43,860 DEBUG    Pluggit      Running transaction 14 -- transaction.py:execute:56
    2015-08-28 13:19:43,880 DEBUG    Pluggit      0x0 0xe 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x0 -- transaction.py:processIncomingPacket:338
    2015-08-28 13:19:43,881 DEBUG    Pluggit      Factory Response[3] -- factory.py:_helper:238
    2015-08-28 13:19:43,881 DEBUG    Pluggit      adding transaction 14 -- transaction.py:addTransaction:148
    2015-08-28 13:19:43,882 DEBUG    Pluggit      getting transaction 14 -- transaction.py:getTransaction:158
    2015-08-28 13:19:43,976 DEBUG    Scheduler    Pluggit next time: 2015-08-28 13:24:43+02:00 -- scheduler.py:_next_time:289
    2015-08-28 13:19:43,983 DEBUG    Pluggit      Running transaction 15 -- transaction.py:execute:56
    2015-08-28 13:19:44,003 DEBUG    Pluggit      0x0 0xf 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0xee 0xe3 -- transaction.py:processIncomingPacket:338
    2015-08-28 13:19:44,003 DEBUG    Pluggit      Factory Response[3] -- factory.py:_helper:238
    2015-08-28 13:19:44,004 DEBUG    Pluggit      adding transaction 15 -- transaction.py:addTransaction:148
    2015-08-28 13:19:44,004 DEBUG    Pluggit      getting transaction 15 -- transaction.py:getTransaction:158
    2015-08-28 13:19:44,005 DEBUG    Pluggit      Item pluggit.temp1 = 61155 via Pluggit None None -- item.py:__update:363
    2015-08-28 13:19:44,106 DEBUG    Pluggit      Running transaction 16 -- transaction.py:execute:56
    2015-08-28 13:19:44,126 DEBUG    Pluggit      0x0 0x10 0x0 0x0 0x0 0x5 0x0 0x3 0x2 0x0 0x3 -- transaction.py:processIncomingPacket:338
    2015-08-28 13:19:44,126 DEBUG    Pluggit      Factory Response[3] -- factory.py:_helper:238
    2015-08-28 13:19:44,127 DEBUG    Pluggit      adding transaction 16 -- transaction.py:addTransaction:148
    2015-08-28 13:19:44,127 DEBUG    Pluggit      getting transaction 16 -- transaction.py:getTransaction:158
    2015-08-28 13:19:44,128 DEBUG    Pluggit      Item pluggit.fanSpeed = 3 via Pluggit None None -- item.py:__update:363
    2015-08-28 13:19:44,228 DEBUG    Pluggit      Pluggit: cycle took 0.754417896270752 seconds -- __init__.py:_refresh:283
    Verwirrend das alles - ich hab auch gerade keine Idee. Vielleicht vorübergehend aus dem Refresh einen Verbindungsaufbau - Daten austauschen - Verbindung beenden machen? Ich weiß allerdings nicht, ob das Probleme beim Senden der Befehle gibt. Da müsste man ja sonst auch erst vor jedem Befehl eine neue Verbindung aufbauen - ist vermutlich nicht so sinnvoll.

    Einen Kommentar schreiben:


  • BlackCrow
    antwortet
    Hey,

    Vorab: Ein rieseiges Lob für dieses Plugin. Genau so etwas hat mir noch gefehlt. :-)

    Ich habe ein kleines Problem. Offensichtlich sind auf meinem Server mehrere Versionen von Python installiert (was mich jetzt eigentlich nicht belastet)

    Ich versuche seit über einer Stunde das pymodbus zu installieren. Er macht es auch, aber trotzdem bekomme ich in der Smarthome den Fehler, dass er das Modul nicht findet.

    Ich habe jetzt einmal in meine Python-Verzeichnisse geschaut und gesehen, dass er das in der Version 2.xx rein installiert hat.

    Jetzt habe ich verzweifelt versucht, ihn davon zu überzeugen, dass er das selbe auch mit der aktuelleren Version macht (3.2).

    Das Ergebnis:

    Code:
    root@Smarthome:/usr/local/lib/python3.2# easy_install -U pymodbus
    Processing pymodbus
    Running setup.py -q bdist_egg --dist-dir /usr/local/lib/python3.2/pymodbus/egg-dist-tmp-JeBWBI
    Removing pymodbus 0.9.0 from easy-install.pth file
    Adding pymodbus 1.3.0 to easy-install.pth file
    
    Installed /usr/local/lib/python2.7/dist-packages/pymodbus-1.3.0-py2.7.egg
    Processing dependencies for pymodbus==1.3.0
    Finished processing dependencies for pymodbus==1.3.0
    Ich mache sicherlich etwas falsch - wie kann ich das System denn davon überzeugen, die aktuellere Version zu nutzen?

    Vielen Dank für eure Hilfe.
    Zuletzt geändert von BlackCrow; 24.08.2015, 14:30.

    Einen Kommentar schreiben:


  • gnarrf
    antwortet
    Vielen herzlichen Dank auch von meiner Seite!
    Die 'Installation' hat super geklappt und obwohl ich mich als blutigen Anfänger ansehe, hat es nicht lange gedauert, bis ich die ersten Ergebnise in der Visu sehen konnte:
    Modus, FanSpeed und die Temperaturen.
    Respekt!

    Jedoch habe ich noch eine Verständnisfrage:
    Ich würde gerne die Geschwindigkeit des Lüfters ebenfalls über die SmartVisu anpassen.
    Code:
    [[fanSpeed]]
            type = num
            visu_acl = ro
            enforce_updates = true
            pluggit_listen = prmRomIdxSpeedLevel
    Kann ich dazu den Parameter visu_acl 'einfach' auf rw abändern? Vermutlich nein, denn beim PowerBoost gibt es folgende Zeile:
    Code:
    pluggit_send = activatePowerBoost
    Somit würde ich bei RW sowohl einen Parameter für listen wie auch für send erwarten und käme auf folgende Zeilen:
    Code:
    [[fanSpeed]]
            type = num
            visu_acl = rw
            enforce_updates = true
            pluggit_listen = prmRomIdxSpeedLevel
            pluggit_send = prmRomIdxSpeedLevel
    Dank und Gruß
    Jan

    Einen Kommentar schreiben:


  • ratzi82
    antwortet
    Zitat von SimonK Beitrag anzeigen
    Also ich habe es jetzt einige Zeit getestet und ích muss sagen ich bin sehr zufrieden.
    Freut mich, das es dir gefällt, dann hat sich das Committen ja schon gelohnt.

    Zitat von SimonK Beitrag anzeigen
    Eine kleine änderung habe ich vorgenommen und zwar die Zeit von 100ms auf 500ms hoch gesetzt. Beim umschalten in den Handbetrieb.
    Da hat er anfangs nicht immer sauber geschaltet aber jetzt ist alles gut.
    Gruß Simon
    Welche Stelle meinst du genau? Willst du evtl. einen Pull Request stellen?

    Gruß Henning
    Zuletzt geändert von ratzi82; 08.07.2015, 20:24.

    Einen Kommentar schreiben:


  • SimonK
    antwortet
    Guten Abend
    Also ich habe es jetzt einige Zeit getestet und ích muss sagen ich bin sehr zufrieden.
    Eine kleine änderung habe ich vorgenommen und zwar die Zeit von 100ms auf 500ms hoch gesetzt. Beim umschalten in den Handbetrieb.
    Da hat er anfangs nicht immer sauber geschaltet aber jetzt ist alles gut.
    Gruß Simon

    Einen Kommentar schreiben:

Lädt...
X