Ankündigung

Einklappen
Keine Ankündigung bisher.

"TypeError:" beim Aufruf der Smarthome.py Statusseite innerhalb Smartvisu

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

    "TypeError:" beim Aufruf der Smarthome.py Statusseite innerhalb Smartvisu

    Hallo zusammen,
    ich habe den dev-tree (v1.1.952.dev) aus dem git repo (mknx) auf einer Linux Kiste nach Anleitung aus dem Wiki installiert. Allerdings bekomme ich folgende Errors im Log geworfen.
    Die plugin.conf ist sehr überschaubar. Außer "smartvisu", "cli" und "sqlite" ist erstmal nichts aktiviert. (Copy&Paste aus dem Wiki)

    "Auszug aus dem Log"
    Code:
    2015-04-06 23:53:46 ERROR    Main         Problem fetching series for env.core.memory: unsupported operand type(s) for /: 'int' and 'str'
    Traceback (most recent call last):
      File "/usr/local/smarthome/plugins/visu/__init__.py", line 328, in json_parse
        reply = self.items[path]['item'].series(series, start, end, count)
      File "/usr/local/smarthome/plugins/sqlite/__init__.py", line 311, in _series
        step = int((iend - istart) / count)
    TypeError: unsupported operand type(s) for /: 'int' and 'str'
    Python ist (noch) nicht meine große Stärke, auch wenn ich aus der Softwareentwicklung komme.

    Vielen Dank für euer Feedback.

    Beste Grüße
    Matthias

    #2
    Hallo,

    da wurde wohl die API von Seiten smartVISU geändert. Und für count wird der Wert als String geschickt und nicht als int.
    Dort muss in Javascript noch ein parseInt().

    Bis bald

    Marcus

    Kommentar


      #3
      Hallo Marcus,
      danke für den Hinweis. Tatsächlich konnte ich das Problem etwas einkreisen.

      Code:
      {{ plot.period('load', 'env.system.load', 'avg', '1d', '', '', '', '', 'system load') }}
      Diese Zeile verursacht u.a. den Fehler. Jetzt stürzte ich mal in die Tiefen von smartVISU. ;-)

      Bis später..

      Grüße
      Matthias

      Kommentar


        #4
        Code:
        diff --git a/driver/io_smarthome.py.js b/driver/io_smarthome.py.js
        index 75b7b49..079c41b 100644
        --- a/driver/io_smarthome.py.js
        +++ b/driver/io_smarthome.py.js
        @@ -210,7 +210,7 @@ var io = {
        
                                        if (!unique[items[i]] && !widget.get(items[i]) && (pt instanceof Array) && widget.checkseries(items[i])) {
                                                var item = items[i].substr(0, items[i].length - 4 - pt[pt.length - 4].length - pt[pt.length - 3].length - pt[pt.length - 2].length - pt[pt.length - 1].length)
        -                                       io.send({'cmd': 'series', 'item': item, 'series': pt[pt.length - 4], 'start': pt[pt.length - 3], 'count': pt[pt.length - 1]});
        +                                       io.send({'cmd': 'series', 'item': item, 'series': pt[pt.length - 4], 'start': pt[pt.length - 3], 'count': parseInt(pt[pt.length - 1])});
                                                unique[items[i]] = 1;
                                        }
                                }
        Das könnte es gewesen sein, zumindest kommt der Fehler nicht mehr. Allerdings wird immer noch kein Plot angezeigt. Muss mal weiterschauen..

        Grüße
        Matthias
        Zuletzt geändert von nextwerk; 07.04.2015, 21:06.

        Kommentar


          #5
          Hallo Matthias,

          leider kommunzieren SmartHome und smartVISU in den aktuellen development Versionen nicht sauber miteinander. Pull-request und patches für die Behebung sind vorhanden – wurden jedoch noch nicht von den Entwicklern eingepflegt. Es ist momentan schwierig für Einsteiger auf development zu setzten da die notwendige Informationen erstmal gefunden werden müssen. Es sollte funktionieren wenn Du die aktuellen Versionen installierst:

          SmartHome:
          git clone https://github.com/mknx/smarthome/tree/develop

          smartVISU:
          svn checkout http://smartvisu.googlecode.com/svn/trunk/ smartvisu-read-only

          und dann noch die patches von Alex installierst:
          git clone https://github.com/aschwith/smarthome
          (vorhandene Dateien durch die im Verzeichnis /plot_cnt_4develop ersetzen)

          Die alternative ist mit stable Versionen zu arbeiten (SmartHome UND smartVISU)

          Viele Grüße,

          Jan

          Kommentar


            #6
            Hallo Jan,
            vielen Dank für Deinen Hinweis. Sehe das da noch bisschen was offen ist. Hab es mit Deinem Hinweis hinbekommen die Dev-Versionen zum laufen zu bringen, bin jedoch auf die Stable-Zweige zurück.

            Beste Grüße
            Matthias

            Kommentar

            Lädt...
            X