Ankündigung

Einklappen
Keine Ankündigung bisher.

[sqlite plugin] Plotprobleme SmartHomeNG 1.2 und SmartVISU 2.8

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

    [sqlite plugin] Plotprobleme SmartHomeNG 1.2 und SmartVISU 2.8

    Hallo,

    ich habe nach der Aktualisierung auf SmarthomeNG und Smartvisu 2.8 Probleme mit plots aus der SQLite Datenbank.
    Die SQlite Datenbank selbst wurde komplett gelöscht (upgrade hat irgendwie nicht funktioniert)

    Die Fehlermeldung lautet:
    Code:
    2017-02-04 13:13:42 ERROR Main Problem fetching series for eg.flur.heizung.ist: unsupported operand type(s) for /: 'int' and 'str'
    Traceback (most recent call last):
    File "/usr/local/smarthome/plugins/visu/__init__.py", line 340, in json_parse
    reply = self.items[path]['item'].series(series, start, end, count)
    File "/usr/local/smarthome/plugins/sqlite/__init__.py", line 332, in _series
    step = (iend - istart) / count
    TypeError: unsupported operand type(s) for /: 'int' and 'str'
    Die Shell gibt auch über die GA die Temperatur aus:
    Code:
    >>> sh.eg.flur.heizung.ist()
    21.6
    Die DB hat auch die Werte:
    Code:
    sqlite3 smarthome.db 'select * from history where item="eg.flur.heizung.ist" and time>1486199552617'
    1486199852494|eg.flur.heizung.ist|21.7|21.7|21.7|1 .0
    1486200152339|eg.flur.heizung.ist|21.757781342119| 21.7|21.8|1.0
    1486200452222|eg.flur.heizung.ist|21.7421731141779 |21.7|21.8|1.0
    1486200752647|eg.flur.heizung.ist|21.7|21.7|21.7|1 .0
    1486201052503|eg.flur.heizung.ist|21.7|21.7|21.7|1 .0
    1486201352355|eg.flur.heizung.ist|21.7|21.7|21.7|1 .0
    1486201652722|eg.flur.heizung.ist|21.7|21.7|21.7|1 .0
    1486201952590|eg.flur.heizung.ist|21.7|21.7|21.7|1 .0
    1486202252487|eg.flur.heizung.ist|21.6421003829066 |21.6|21.7|1.0
    1486202552299|eg.flur.heizung.ist|21.6|21.6|21.6|1 .0
    1486202852637|eg.flur.heizung.ist|21.5913670120351 |21.5|21.6|1.0
    1486203152509|eg.flur.heizung.ist|21.5085925540536 |21.5|21.6|1.0
    1486203452349|eg.flur.heizung.ist|21.6|21.6|21.6|1 .0
    1486203752725|eg.flur.heizung.ist|21.6|21.6|21.6|1 .0
    1486204053610|eg.flur.heizung.ist|21.6|21.6|21.6|1 .0
    1486204353601|eg.flur.heizung.ist|21.5909981389951 |21.5|21.6|1.0
    1486204653438|eg.flur.heizung.ist|21.5|21.5|21.5|1 .0
    1486204953307|eg.flur.heizung.ist|21.5|21.5|21.5|1 .0
    1486205253660|eg.flur.heizung.ist|21.4909206090937 |21.4|21.5|1.0
    1486205553580|eg.flur.heizung.ist|21.4090790592236 |21.4|21.5|1.0
    1486205853544|eg.flur.heizung.ist|21.4909133334889 |21.4|21.5|1.0
    1486206153533|eg.flur.heizung.ist|21.4090887573964 |21.4|21.5|1.0
    1486206453507|eg.flur.heizung.ist|21.5090742679568 |21.5|21.6|1.0
    1486206753419|eg.flur.heizung.ist|21.5909498022635 |21.5|21.6|1.0
    1486207053312|eg.flur.heizung.ist|21.4909442427758 |21.4|21.5|1.0
    1486207353308|eg.flur.heizung.ist|21.4|21.4|21.4|1 .0
    1486207653706|eg.flur.heizung.ist|21.3669531875167 |21.2|21.4|1.0
    1486207953625|eg.flur.heizung.ist|21.2330099029709 |21.2|21.4|1.0
    1486208253534|eg.flur.heizung.ist|21.3835104343448 |21.3|21.4|1.0
    1486208553456|eg.flur.heizung.ist|21.3262688438441 |21.3|21.5|1.0
    1486208853354|eg.flur.heizung.ist|21.4902124155222 |21.4|21.5|1.0
    1486209153284|eg.flur.heizung.ist|21.4|21.4|21.4|1 .0
    1486209453688|eg.flur.heizung.ist|21.4|21.4|21.4|1 .0
    1486209753672|eg.flur.heizung.ist|21.4099078248806 |21.4|21.5|1.0
    1486210053535|eg.flur.heizung.ist|21.5|21.5|21.5|1 .0
    1486210353417|eg.flur.heizung.ist|21.5098515416064 |21.5|21.6|1.0
    1486210653299|eg.flur.heizung.ist|21.6|21.6|21.6|1 .0
    1486210953231|eg.flur.heizung.ist|21.5900156764331 |21.5|21.6|1.0
    1486211367165|eg.flur.heizung.ist|19.9448853795211 |0.0|21.6|0.923382577687213
    1486211386794|eg.flur.heizung.ist|21.6|21.6|21.6|1 .0
    1486211253681|eg.flur.heizung.ist|21.5516798863739 |21.5|21.6|1.0
    Der Plot wird mit:
    Code:
    {{ plot.rtr('eg_flur_heizung','eg.flur.heizung.ist',' eg.flur.heizung.soll','eg.flur.heizung.stellwert') }}
    erzeugt.

    Ich bin für jeden Tipp dankbar
    Zuletzt geändert von bmx; 04.02.2017, 13:49.

    #2
    die sqlite_visu_2.8 variante in verwendung? kommt gar kein chart?

    Kommentar


      #3
      Woran erkenne ich die versionen?
      Die zur Zeit verwendete Version ist aus SmarthomeNG git (die explizit aus dem Smarthome DEV Zweig geladene sqlite_visu_28 zeigt einen anderen Fehler)

      Es wird gar kein Chart angezeigt

      Kommentar


        #4
        pbaumann am Verzeichnis des Plugins

        Kommentar


          #5
          OK, dort ist ein Ordner sqlite

          Ich habe festgestellt das der Plot funktioniert wenn der RTR im Komfortmodus ist, sonst nicht. Sehr seltsam

          Kommentar


            #6
            pbaumann ja dort ist ein Ordner sqlite aber da ist AUCH ein Ordner sqlite_visu2_8 ;-) Welcher könnte jetzt wohl der Richtige sein?

            Kommentar


              #7
              OK, dieser Ordner war nicht da, hat sich wohl verhakt als ich von Smarthome auf SmarthomeNG aktualisiert habe. Habe nun in der plugins.conf den class_path = plugins.sqlite_visu_2_8 angepasst

              Nun eine andere Fehlermeldung
              Code:
              2017-02-10  20:12:30 WARNING  Main         Client 192.168.178.203:49853 requested invalid series: eg.flur.heizung.ist.
              2017-02-10  20:12:30 WARNING  Main         Client 192.168.178.203:49853 requested invalid series: eg.flur.heizung.soll.
              2017-02-10  20:12:30 WARNING  Main         Client 192.168.178.203:49853 requested invalid series: eg.flur.heizung.stellwert.
              und werte aus der DB
              Code:
              pi@smarthome /usr/local/smarthome $ sqlite3 /usr/local/smarthome/var/db/smarthome.db 'select * from num where _item="eg.flur.heizung.ist" and time >1486750341653'
              1486750641557|eg.flur.heizung.ist|21.3|21.3|21.3|1.0
              1486750941499|eg.flur.heizung.ist|21.3273778916022|21.3|21.4|1.0
              1486751241376|eg.flur.heizung.ist|21.4|21.4|21.4|1.0
              1486751541294|eg.flur.heizung.ist|21.4|21.4|21.4|1.0
              1486751841673|eg.flur.heizung.ist|21.4549561865639|21.4|21.6|1.0
              1486752141580|eg.flur.heizung.ist|21.6|21.6|21.6|1.0
              1486752441434|eg.flur.heizung.ist|21.5725632888184|21.5|21.6|1.0
              1486752741407|eg.flur.heizung.ist|21.5|21.5|21.5|1.0
              1486753041299|eg.flur.heizung.ist|21.5275066252946|21.5|21.6|1.0
              1486753341663|eg.flur.heizung.ist|21.6|21.6|21.6|1.0
              Zuletzt geändert von pbaumann; 10.02.2017, 20:57.

              Kommentar


                #8
                wie ist
                eg.flur.heizung.ist als ITEM definiert? der WARNING nach gibt es das item nicht als serie (= in der sqlite db). kann aber an der veränderten db struktur liegen, die mit dem visu_2_8 ins spiel kommt

                ich bin zudem nicht sicher, ob die daten migriert werden oder man mit der pluginumstellung die sqlite db neu erstellen muss

                Kommentar


                  #9
                  Code:
                  > dump eg.flur.heizung.ist
                  Item eg.flur.heizung.ist {
                    type = num
                    value = 20.2
                    age = 199.347941
                    last_change = 2017-02-11 11:38:42.526066+01:00
                    changed_by = KNX:1.1.20
                    previous_value = 20.3
                    previous_age = 299.959875
                    previous_change = 2017-02-11 11:33:42.566191+01:00
                    config = {
                      sqlite = yes
                      knx_init = 7/4/0
                      knx_listen = 7/4/0
                      visu = yes
                      knx_cache = 7/4/0
                      knx_dpt = 9
                    }
                    logics = [
                    ]
                    triggers = [
                      <bound method WebSocket.update_item of <plugins.visu_websocket.WebSocket object at 0x763aa250>>
                      <bound method SQL.update_item of <plugins.sqlite_visu2_8.SQL object at 0x75b39130>>
                    ]
                  }
                  Es existiert ein upgrade.py Skript im plugin Verzeichnis.

                  Kommentar


                    #10
                    knx_cache ersetzt knx_init. daran kann es aber nicht liegen, sieht ansich ok aus. das skript hast du ausgeführt? notfalls halt mal das .db file wegkopieren und mit cleaner DB starten und dann schauen

                    Kommentar


                      #11
                      Hallo,

                      das Skript kann man standalone doch gar nicht ausführen, oder?
                      db.* existiert doch nicht?!

                      Gruß,
                      Hendrik

                      Kommentar


                        #12
                        Das Skript wird vom sqlite Plugin v2.8 beim ersten Start ausgeführt. Um die Konvertierung erneut zu starten muss man die Datenbank aus einem Backup (von vor dem Upgrade) wieder herstellen.
                        Viele Grüße
                        Martin

                        There is no cloud. It's only someone else's computer.

                        Kommentar


                          #13
                          Keine Ahnung, hatte nie migriert, immer clean start.. das soll er einfach auch erstmal testen.. Da ich jetzt auf dem database plugin bin, kann ich auch nicht viel mehr beitragen :-/ denke es gibt auf jdn fall irgendwie eine dateninkompatibilität

                          Kommentar


                            #14
                            wsproto 4 gesetzt?
                            poste mal deine plugin.conf
                            Zuletzt geändert von henfri; 11.02.2017, 20:08.

                            Kommentar


                              #15
                              Datenbank wurde verschoben und durch SmarthomeNG neu angelegt.

                              pi@smarthome /usr/local/smarthome/etc $ grep -v "^#" plugin.conf

                              Code:
                              [cli]
                                  class_name = CLI
                                  class_path = plugins.cli
                                  ip = 0.0.0.0
                                  update = True
                              
                              [knx]
                                  class_name = KNX
                                  class_path = plugins.knx
                                  host = 127.0.0.1
                                  port = 6720
                              
                              [ow]
                                  class_name = OneWire
                                  class_path = plugins.onewire
                                  host = 127.0.0.1
                                  port = 4304
                              
                              [websocket]
                                  class_name = WebSocket
                                  class_path = plugins.visu_websocket
                                  acl = rw
                              
                              [smartvisu]
                               class_name = SmartVisu
                                  class_path = plugins.visu_smartvisu
                                  smartvisu_dir = /var/www/smartVISU
                              
                              [sql]
                                  class_name = SQL
                                  #class_path = plugins.sqlite
                                  class_path = plugins.sqlite_visu2_8
                              
                              [uzsu]
                                  class_name = UZSU
                                  class_path = plugins.uzsu
                              
                              [simulation]
                                  class_name = Simulation
                                  class_path = plugins.simulation
                                  data_file = /usr/local/smarthome/var/db/simulation.txt
                              
                              [luxtronic2]
                                  class_name = Luxtronic2
                                  class_path = plugins.luxtronic2
                                  host = 192.168.178.150
                              und in der smartVISU
                              Code:
                                     <div data-role="collapsible" data-collapsed="false">
                                                              <h3>Plot</h3>
                                                      <!--{{ plot.period('eg_flur_heizung', 'eg.flur.heizung.ist', 'avg', '96h') }}-->
                                                      {{ plot.rtr('eg_flur_heizung','eg.flur.heizung.ist','eg.flur.heizung.soll','eg.flur.heizung.stellwert')}}
                              
                                                      </div>
                              Zuletzt geändert von pbaumann; 13.02.2017, 19:05.

                              Kommentar

                              Lädt...
                              X