Ankündigung

Einklappen
Keine Ankündigung bisher.

Smartmeter Plugin - Tester gesucht

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

  • heckmannju
    antwortet
    Hi,
    also wenn man pyserial auf die aktuelle Version updated muss man was am Plugin machen.

    eigenlich sollte es so heisen.

    self._serial.flush() #self._serial.drainOutput()
    self._serial.reset_input_buffer() #self._serial.flushInput()

    aber da flushInput() noch in 3.1.1 gibt ist es wohl besser so wenn man das so schreibt das funktioniert dann für 2.7 bis 3.1.1 funktionieren.

    self._serial.flush() # outdated in 3.1.1. self._serial.drainOutput()
    self._serial.flushInput() # maybe in Future call self._serial.reset_input_buffer() because flushInput() is deprecated.

    Kann das jemand so einpflegen?

    Viele Grüsse
    Jürgen

    Einen Kommentar schreiben:


  • heckmannju
    antwortet
    Hi,

    ich bin gerade dabei das DLMS Plugin auch für Callidomus zum Laufen zu bringen. Bis jetzt läuft es meist recht gut. Bis auf ein paar Zeilen wo bits verschoben werden hab ich eigentlich auch alles recht gut verstanden was da passiert. (Glaube ich mal)

    Bei mir Läuft das Plugin mit einem Elster AS1440 Zähler. Der mit 300 Baud mit ~45s ausgelesen wird und mit 9600 Baud mit etwa ~5.5s.

    Im Normalfall Startet immer mit 300 Baud und über die Erkennung Baud=Auto wird 9600 erkannt und dann ausgelesen.

    Manchmal habe ich aber beim restart von dem Plugin ein Problem das es nicht tut. Nicht tut bedeutet das nur Schrott übertragen wird. Wenn ich in so einem Fall Baud Erkennung auf AUTO gestellt hatte sehe ich das mal 600, 1200, 2400 erkannt wurden. Das aber nicht wirklich funktionier. Es kommt danach nur Schrott an. MEsit werden nur nullen übertragen.

    Meine Hypotese ist der der Zähler noch auf 9600 Baud ist da auch eine Weile bleibt und dann nach erst nach einer gewissen Zeit (Schätze nach 10-30s) auf 300 Baud zurückfällt.

    Hat einer eine Idee was man da machen kann? Mir würde nur einfallen verzögert zu starten.

    Eine WEiter Frage noch es ist zur Zeit nur pserial Version 2.7 installiert (Versionsausgabe kommt vom pip -list Kommando). Laut PSerial Webseite ist diese Version an manchen stellen nicht für Python 3.5 angepasst. So das ich eigentlich updaten müsste. In der Doku steht das manche Funktionen jetzt depricatet sind. z.b. flushInput() -> reset_input_buffer()

    und das drainOutput() habe ich gar nicht mehr in pSerial gefunden. Weis jemand für was das gut war(ist)?

    Viele Grüsse
    Jürgen

    Einen Kommentar schreiben:


  • element
    antwortet
    ich hatte den selben Fehler:
    Code:
    Import Error: No Module named pyserial
    und bin seit 4 Tagen auf der Suche nach einer Lösung. Ich habe meinen Debianserver komplett neu aufgesetzt weil ich bei meiner damaligen Installation experimentelle Repositorien genutzt habe und jetzt ein sicheres stabiles System haben wollte. Außerdem habe ich auf Jessie upgedatet um knxd zu installieren. Smarthome habe ich nach dem wiki Eintrag installiert. Im Prinzip hätte mein System "sauber" sein müssen. Ich habe zusätzlich die plugins Sml und easymeter ausprobiert, nichts funktionierte. Ich habe den seriellen Port für alle user freigegeben und verschiedenste Einträge in der rules.d ausprobiert.
    Die Lösung bei mir war ich habe in
    /usr/local/lib/python3.4/dist-packages
    alle Einträge gelöscht in denen etwas mit serial stand. Danach habe ich
    Code:
    apt-get remove python3-serial
    apt-get remove python-serial
    apt-get install python3 serial
    gemacht und es funktioniert. Die Werte werden ausgelesen, im debug mode läuft alles wie vorher. Gefunden habe ich die Lösung im Raspberry-Pi forum, dort hatte jemand ein ähnliches Problem und folgendes als Lösung gepostet
    Code:
    NOW IT WORKS!
    
    1.) Renamed it! serial.py is a bad name!
    2.) Deleted all of these .pyc files!
    3.) Installed pyserial3!
    Ich hoffe es hilft.

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Ok, Minimalversuch auf der Konsole als normaler Benutzer
    Code:
    python3
    dann
    Code:
    import serial
    Gibt das schon eine Fehlermeldung?

    Getestet auf meinem aktuellen Beaglebone-Image - funktioniert.

    Einen Kommentar schreiben:


  • 2Fast4You78
    antwortet
    Hab ich auch schon versucht... Immer noch dasselbe

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    apt-get install python3-serial

    Einen Kommentar schreiben:


  • 2Fast4You78
    antwortet
    Weiterhin der Fehler "Import Error: No Module named pyserial"

    auch

    Code:
    apt-get install python-pyserial
    sagt nur das die neueste Version bereits installiert ist.

    Einen Kommentar schreiben:


  • 2Fast4You78
    antwortet
    Danke... Teste ich mal..

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Wenig Zeit ...

    nimm dieses Plugin: https://github.com/mknx/smarthome/tr...p/plugins/dlms

    Das ist eigentlich das Ergebnis aus diesem Thread. Ist auch auf Python3 ausgelegt. Im Zweifel noch ein: apt-get install python-pyserial

    Versuche einfach mal mit dem sleep in Zeile #95 zu spielen. Ich denke 0.75 oder 1.0 sollte für den Zähler passen.

    ...noch weniger Zeit

    Einen Kommentar schreiben:


  • 2Fast4You78
    antwortet
    Ich führe mal meine Alleinunterhaltung fort.
    Ich bekomme jetzt auch den Fehler:
    Code:
     ImportError: No module named serial
    installiert habe ich es.. aber selber Fehler. Ich vermute mal es will auf einen alten Pfad zurückgreifen. Wie und vor allem Wo kann ich diesen anpassen? ich habe die alte python Version 2.7 drauf und die neue 3.4 irgendwas beisst sich da noch. Auch ein
    Code:
    sudo apt-get install python3-serial
    bringt keinen Erfolg
    Grüße Nico
    Zuletzt geändert von 2Fast4You78; 10.12.2015, 08:46.

    Einen Kommentar schreiben:


  • 2Fast4You78
    antwortet
    Keiner der mir da ansatzweise helfen kann?....

    Ok, bin gerade ermahnt worden im Chat... Betrachtet diesen Post als nicht vorhanden!
    Zuletzt geändert von 2Fast4You78; 09.12.2015, 20:12.

    Einen Kommentar schreiben:


  • 2Fast4You78
    antwortet
    Oder einer ein Script?

    Einen Kommentar schreiben:


  • 2Fast4You78
    antwortet
    Ich habe jetzt den Serial Port des IBB-Capes genommen um das Plugin zu testen mit meinem Landis Gyr,
    bekomme allerdings nur ne blöde Antwort
    Code:
    2015-12-09 00:25:18,406 WARNING  DLMS         dlms: index out of range -- __init__.py:_update_values:83
    2015-12-09 00:25:18,422 WARNING  DLMS         dlms: malformed response to init seq=b'' -- __init__.py:_update_values:86
    Mein Zähler will so angequatscht werden..
    Landis & Gyr E350
    Serielle Einstellungen: 300bd, 7E1

    Befehl 1 (/?!) in hex: 2F 3F 21 (plus CR LF von hterm)\ Befehl 2 (-000) in hex: 06 30 30 30 (plus CR LF von hterm)

    /?!\\ /LGZ4ZMF100AC.M23
    000
    F.F(00)
    C.1.0(12314330) 0.0(00188123 )
    C.1.1( )
    1.8.1(001234.120*kWh)
    1.8.0(001234.120*kWh)
    2.8.0(000000.000*kWh)
    15.8.0(001234.120*kWh)
    C.7.0(0005)
    32.7(229*V)
    52.7(230*V)
    72.7(230*V)
    31.7(000.03*A)
    51.7(000.04*A)
    71.7(000.09*A)
    C.5.0(0400)
    0.2.0(M23)
    16.7(000.00*kW)

    In LGZ4ZMF100AC.M23 steckt die Aussage, dass der LandisGyr E350 mit 4= max. 4800baud kommunizieren kann.
    Ohne die Baudrate zu wechseln liefert der Zähler erst nach dem folgenden ACK die eigentlichen Daten.
    In Antwort 06 30 30 30 steckt also ACK (06 30), (30) 0 = 300baud und (30) 0 = Data Mode
    Ohne eine korrekte Bestätigung der Zählerantwort auf Befehl1 werden keine Daten gesendet.

    Habt ihr da was im Petto? Oder eine Idee wie ich da weiter komme?
    Zuletzt geändert von 2Fast4You78; 09.12.2015, 00:39.

    Einen Kommentar schreiben:


  • 2Fast4You78
    antwortet
    Hallo,
    ich auch nochmal...
    ich wollte nun meine Landis&Gyr e350 abfragen mit dem DLMS Plugin. Allerdings kommen die Daten übers Netzwerk. Mit dem Volkszähler funktioniert die Abfrage der Daten. Wie kann ich dieses Plugin dazu bewegen nicht den Serial Port abzufragen sondern die Daten vom Host/Port zu holen? Ist das gleiche wie mit dem SML-Plugin. Dort funktioniert die Abfrage bereits, da jemand für das Comet-Smart-Metering-Teil schon die Möglichkeit eingebaut hat..

    Grüße Nico

    Einen Kommentar schreiben:


  • duennsch
    antwortet
    Zitat von freetzmaster Beitrag anzeigen
    ich denke dir fehlt das pyserial.
    Hallo nochmal,

    das dachte ich mir auch, aber ich bin da der total Nixblicker. Was mich ein bisschen stutzig macht, ist die Tatsache, dass ich das Plugin aus (https://knx-user-forum.de/smarthome-...kra-mt681.html ) zum Laufen bekommen habe und da auch import serial verwendet wird.
    Letztendlich hat sich die Sache für mich gelöst, da ich mit dem Iskra-Plugin alle benötigten Daten auslesen kann.

    Danke und noch eine erfolgreiche Woche

    Sven

    Einen Kommentar schreiben:

Lädt...
X