Ankündigung

Einklappen
Keine Ankündigung bisher.

Python 3.2 Migration in develop bzw. 1.0 Release

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

  • mode
    antwortet
    Fürs Network Plugin:

    Ein Item mit:
    Code:
    [netzwerk]
        [[enigma]]
            [[[power]]]
                type = str
                nw_udp_listen = 9901
                enforce_updates = true
    sorgt für ungemach:
    Code:
    2013-10-05 20:58:06,072 ERROR    Connections  UDPDispatcher: problem binding 0.0.0.0:9901 (UDP): [Errno 95] Die Operation wird nicht unterstützt -- connection.py:connect:145
    2013-10-05 20:58:06,073 ERROR    Connections  Method Connections exception: [Errno 107] Der Socket ist nicht verbunden -- scheduler.py:_task:302
    Traceback (most recent call last):
      File "/home/mode/smarthome/lib/connection.py", line 142, in connect
        self._socket.listen(5)
    socket.error: [Errno 95] Die Operation wird nicht unterstützt
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/home/mode/smarthome/lib/scheduler.py", line 298, in _task
        obj()
      File "/home/mode/smarthome/lib/connection.py", line 83, in check
        obj.connect()
      File "/home/mode/smarthome/lib/connection.py", line 146, in connect
        self.close()
      File "/home/mode/smarthome/lib/connection.py", line 155, in close
        self._socket.shutdown(socket.SHUT_RDWR)
    socket.error: [Errno 107] Der Socket ist nicht verbunden

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Motte,

    oh man das war ein blöder Bug. Ist gefixed. Das Network Plugin schaue ich mir wahrscheinlich morgen an, mal sehen. Vllt auch noch heute.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • mode
    antwortet
    So nun scheine ich alle Files sauber zu haben.
    Marcus schraubt wahrscheinlich wie angekündigt an der smarthome.py im dev branch herum, so dass hier an dieser Stelle hänge.

    Starte ich sh.py wird das Log mit folgenden Einträgen vollgeballert:
    Code:
    2013-10-05 17:43:09,972 ERROR    Main         Connection polling failed: local variable 'e' referenced before assignment -- smarthome.py:start:354
    Traceback (most recent call last):
      File "./bin/smarthome.py", line 352, in start
        self.connections.poll(e)
    UnboundLocalError: local variable 'e' referenced before assignment
    So übe ich mich in Geduld :-)

    Einen Kommentar schreiben:


  • mode
    antwortet
    Hallo,
    konnte das Problem selber eingrenzen.
    Wenn man sich die Variable _conf in plugin.py angesehen hat,konnte man feststellen dass die erste Zeile [knx] aus plugin.conf nicht interpretiert wurde.
    Dies konnte ich abstellen, in dem ich die Codierung von UTF8 nach UTF8 ohne BOM für plugin.conf geändert habe.
    Muss ich alle Files auf UTF8 ohne BOM umstellen oder nur die conf Files?

    Edit: Nachdem ich alle conf Files nach UTF8 ohne BOM Konvertiert habe kann ich smarthome.py wieder starten :-)

    Welcome to py3 :-)

    Nun hakelts gerade noch am Network Plugin. Da fehlt ein Attribut listening. Aber da ist Marcus wahrscheinlich gerade am Schrauben :-)

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hi,

    poste doch bitte mal die plugin.conf

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • mode
    antwortet
    So heute möchte ich auch mal in die py3 Welt eintauchen. Leider bisher wenig erfolgreich:

    Code:
    mode@tulpe:~/smarthome$ git pull
    remote: Counting objects: 47, done.
    remote: Compressing objects: 100% (15/15), done.
    remote: Total 25 (delta 15), reused 17 (delta 7)
    Unpacking objects: 100% (25/25), done.
    From https://github.com/mknx/smarthome
       000902f..6150d3e  develop    -> origin/develop
    Updating 000902f..6150d3e
    Fast-forward
     bin/smarthome.py         |    5 ++-
     plugins/hue/__init__.py  |   86 +++++++++++++++++++++++++---------------------
     plugins/rrd/__init__.py  |    4 +--
     plugins/visu/__init__.py |    4 +--
     plugins/xbmc/__init__.py |    2 +-
     5 files changed, 56 insertions(+), 45 deletions(-)
    mode@tulpe:~/smarthome$ git pull
    Already up-to-date.
    mode@tulpe:~/smarthome$ sudo smarthome.py -i
    Python 3.2.3 (default, Sep 25 2013, 18:22:43)
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    (InteractiveConsole)
    >>> Exception in thread Main:
    Traceback (most recent call last):
      File "/usr/lib/python3.2/threading.py", line 740, in _bootstrap_inner
        self.run()
      File "/usr/lib/python3.2/threading.py", line 693, in run
        self._target(*self._args, **self._kwargs)
      File "/usr/local/bin/smarthome.py", line 291, in start
        self._plugins = lib.plugin.Plugins(self, configfile=self._plugin_conf)
      File "/home/mode/smarthome/lib/plugin.py", line 47, in __init__
        value = _conf[plugin][arg]
    TypeError: string indices must be integers
    Code:
    Init SmartHome.py 0.9-252-g6150d3e+
    2013-10-05 16:29:04,181 INFO     Main         Start SmartHome.py 0.9-252-g6150d3e+ -- smarthome.py:__init__:249
    2013-10-05 16:29:04,181 DEBUG    Main         Python 3.2.3 -- smarthome.py:__init__:250
    2013-10-05 16:29:04,182 INFO     Main         Init Scheduler -- scheduler.py:__init__:54
    2013-10-05 16:29:04,183 DEBUG    Scheduler    creating 5 workers -- scheduler.py:run:60
    2013-10-05 16:29:04,184 INFO     Main         Init Plugins -- smarthome.py:start:290
    2013-10-05 16:29:04,186 DEBUG    Main         Plugin: class_name -- plugin.py:__init__:43
    Die Variablen haben zum Zeitpunkt des Abbruchs folgende Werte:
    plugin = class_name
    arg = K (ist der erste Buchstabe von KNX was in meiner plugin.conf als erstes geladen wird)

    Was läuft hier schief?

    Lg

    Mode

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo,

    ich stelle gerade noch etwas um. my_asynchat/asynchat wird ersetzt.

    Bitte nicht updaten oder nicht wundern wenn etwas nicht klappt!

    Spätestens morgen Abend (Sonntag) ist develop wieder "stabil".

    Danach gehe ich daran die Plugins zu testen und die Stabilität und den Speicherverbrauch zu verbessern.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • mike
    antwortet
    Zitat von stromie Beitrag anzeigen
    Code:
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 135: ordinal not in range(128)
    Meldungen in der Art hatte ich auch massenhaft, da in der Smartvisu in vielen Dateien in Kommentaren die Namen der Autoren Umlaute enthalten.
    Plattform ist hier auch Raspberry Pi.

    Lösung war, dem System zu sagen, dass die Dateien in UTF-8 kodiert sind.
    Code:
    export LANG=de_DE.utf8
    Ich habe das bei mir in /home/admin/.bashrc gesetzt. Ob das auch für den Service greift musst du überprüfen.

    Grüße
    Mike

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Zitat von Robert Beitrag anzeigen
    Was kann ich tun?
    Auf die smartVISU 2.7 warten :-)

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Ach so, einen habe ich aber doch noch:

    Code:
    2013-10-04 21:26:03 INFO     Main         WebSocket: incoming connection from 192.168.178.61:61642
    2013-10-04 21:26:03 WARNING  Main         Protocol missmatch. Update smarthome(.min).js. Client: 192.168.178.61:61642
    wurde hier https://knx-user-forum.de/307435-post14.html schon mal als gefixt beschreiben - evtl. wegen Python3 wieder hochgekocht!?

    Gefunden im Visu-Plugin:

    Code:
            elif command == 'proto':  # protocol version
                proto = data['ver']
                if proto != self.proto:
                    logger.warning(proto)
                    logger.warning(self.proto)
                    logger.warning("Protocol missmatch. Update smarthome(.min).js. Client: {0}".format(self.addr))
    #               self.handle_close()
                    return
                self.json_send({'cmd': 'proto', 'ver': self.proto})
    proto = 2
    self.proto = 3

    Was kann ich tun?

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Richtig, bloß kein Stress!

    Zumal: wenn einen der Schuh drückt - muss er es halt selber fixen.

    Einen Kommentar schreiben:


  • JNK
    antwortet
    Python 3.2 Migration in develop bzw. 1.0 Release

    @Robert: ist bei mir auch so, in der Visu fehlen die Zustaende dann ja auch.

    @Marcus: keine Panik, es läuft ja.

    Gruß,

    der Jan

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hi,

    ich möchte das natürlich fixen. Ich habe nur gerade noch ein größere Änderung in der Entwicklung, das möchte ich erst mal fertig machen bevor ich mich um das KNX und auch das 1-Wire Plugin kümmere.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Hi Jan,

    danke dir! Dachte aufgrund des "bytearray" das wäre wegen der Umstellung.

    Hm, bei mir ist das ärgerlich (und auffällig), da ich viele Zustände beim Start aus dem Cache einlese. Das Plugin berappelt sich zwar wieder, aber liest natürlich die Zustände nicht mehr ein.

    Evtl. könnte man hier die "init_ga" immer nur schrittweise löschen wenn auch eine Antwort kam. So könnte man später die restlichen holen... Muss ich mal schauen...

    Grüße
    Robert

    Einen Kommentar schreiben:


  • JNK
    antwortet
    Python 3.2 Migration in develop bzw. 1.0 Release

    Hallo Robert,

    hab ich öfter (s. auch der KNX-Plugin Thread), aber seit das ordentlich recovered stört es mich nicht mehr. Hat bei mir nix mit der Umstellung zu tun. Länger warten zwischen den Starts hilft bei mir auch.

    Gruß,

    der Jan

    Einen Kommentar schreiben:

Lädt...
X