Ankündigung

Einklappen
Keine Ankündigung bisher.

'Item' object has no attribute 'db' ??

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

    'Item' object has no attribute 'db' ??

    Ich bin auf smarthomeNG 1.6 , smartVisu(Dev) unverändert.
    Alle * yaml übernommen und evtl. laut Anleitung angepasst.
    yaml-Checker durchgeführt.

    Auf einem 2. Raspi aufgespielt!

    Ein Problem habe ich noch, bin aber nicht sicher ob smarthome oder smartVISU

    Code:
    2019-06-02  13:08:25 INFO     wire.vorlauf-eval Item wire.vorlauf = 19.62 via 1-Wire /bus.0/28.42A51B030000/temperature None
    2019-06-02  13:08:25 WARNING  wire.temp_r2.min Item wire.temp_r2.min: problem evaluating sh.wire.temp_r2.db('min', '28h'): 'Item' object has no attribute 'db'
    2019-06-02  13:08:25 WARNING  wire.temp_r2.max Item wire.temp_r2.max: problem evaluating sh.wire.temp_r2.db('max', '28h'): 'Item' object has no attribute 'db'
    2019-06-02  13:08:25 INFO     wire.feuchte_r2-eval Item wire.feuchte_r2 = 41.59 via 1-Wire /bus.0/26.5ACD89010000/HIH4000/humidity None
    Alle Items mit dem "eval: sh.wire.temp_r2.db('min', '28h') werfen obige Meldung! Habe ich irgendwo etwas überlesen? Bis vor dem Versionswechsel lief alles!

    Code:
    wire:
        temp_r2:
            name: Temp-Durchgang
            type: num
            visu_acl: rw
            knx_dpt: 9
            ow_addr: 26.5ACD89010000
            ow_sensor: T
            knx_cache: 4/3/1
            knx_send: 4/3/1
            enforce_updates: yes
            database: init
            database: init
            eval: round(value,2)
            min:
                type: num
                knx_dpt: 9
                enforce_updates: yes
                database: yes
                database: init
                knx_send: 4/3/32
                knx_reply: 4/3/32
                eval: sh.wire.temp_r2.db('min', '28h')
                eval_trigger: wire.temp_r2
            max:
                type: num
                knx_dpt: 9
                enforce_updates: yes
                database: yes
                database: init
                knx_send: 4/3/33
                knx_reply: 4/3/33
                eval: sh.wire.temp_r2.db('max', '28h')
                eval_trigger: wire.temp_r2
        feuchte_r2:
            name: Feuchte-Durchgang

    #2
    Hi, ich würde tippen, dass das database plugin fehlt...

    Gruß Waldemar

    Kommentar


      #3
      Danke Waldemar,

      für die schnelle Antwort.

      Ich arbeite mit mysql. Anbei die Definition..
      Daten sind wohl auch in der neuen DB.

      Kann es ein Abfrageproblem sein?

      Code:
      database_mysql:
         plugin_name: database
         instance: mydb
         precision: 4
         driver: pymysql
         connect:
           - host:localhost
           - user:root
           - passwd:smarthome
           - db:smarthome
           - port:3306
      Umfangreiche Daten werden in einer weitern Datenbank gespeichert?

      mysql_bild1.jpg Auch die Daten sind in der DB
      mysql_bild1.jpg

      Kommentar


        #4
        Hi,

        hast Du im Log schon mal geschaut, ob die db korrekt initialisiert wird? So würde ich zumindest vorgehen.
        Ansonsten muss ich die Frage an die Experten weitergeben, ich kann Dir hier nicht weiter helfen.

        Gruß, Waldemar

        Kommentar


          #5
          Mir fällt auf die Schnelle nur auf, dass die Item Definitionen fehlerhaft sind. Das Attribut database ist jeweils mehrfach spezifiziert. Das sollte aber nicht die Ursache sein.

          Was meinst Du mit ‚Umfangreiche Daten werden in einer weiteren Datenbank gespeichert‘?

          Bist Du sicher, dass Du in den letzten 28 Stunden Daten gespeichert hast?
          was sagt denn das Webinterface des Datenbank Plugins?
          Viele Grüße
          Martin

          Stay away from negative people. They have a problem for every solution.

          Kommentar


            #6
            Ja, Database ist ist hier doppelt, sorry! Aber auch andere min/Max-Werte in dB-Kombination zeigen den gleichen Hinweis.
            Zum 2. Punkt: in der MySQL-Datenbank erstelle ich in 3 Tabellen in einer dB, diese läuft täglich mehrfach mit einer genauen Updateanzeige in einem Datums/Zeit-Feld. Also heute mehrfach!
            An einem Punkt habe ich allerdings Bedenken bekommen: KNX ist noch nicht verbunden, sprich das Kabel fehlt an dem Testgerät.
            Alle Daten scheinen in der smarthomedb anzukommen. Spielt hier evtl KNX den Streich?
            Danke für Eure sonntägliche Unterstützung!
            Wolfgang

            PS: 1;wire.temp_r2;1559510184328;;;20.44;1;15595101884 13;2019-06-02 23:16:24.328000;2019-06-02 23:16:28.413000
            wire.feuchte_r1;1559510184293;;;65.25;1;1559510187 377;2019-06-02 23:16:24.293000;2019-06-02 23:16:27.377000
            Daten sind in der DB. Hinweis bleibt wie gehabt.
            min / max fehlen

            mit instance: mydb zeigt database-plugin keine Daten (Items) an (kleiner Nebenefekt
            hATTE ICH ERST AM NACHMITTAG EINGEBAUT;


            Zuletzt geändert von schloessl; 02.06.2019, 22:34. Grund: Nachtrag eingefügt, erst ohne instance wurden wieder Daten sichtbar

            Kommentar


              #7
              Nachdem in in der Nacht den instance - Eintrag im database.- Eintrag ent fernt habe, läuft alles bestens.

              Mit dem Instance -Eintrag zeigte die Admin-Seite von smarthome keine Items an und die obige Fehlermeldung erschien bei jedem min/max (db) Item.

              Danke an alle Helfer

              Vielleicht gibt es noch eine kleine Baustelle rund um die instance. Mein Problem ist aber gelöst. Danke!!

              Kommentar


                #8
                Nein, da gibt es keine Baustelle. Du hast nur nicht vollständig auf die Nutzung des instance Namens konfiguriert. Wenn Du in der plugin.yaml einen Instance Namen für ein Plugin vergibst, musst Du in allen davon betroffenen Items die Namen der Attribute für dieses Plugin auch um den instance Namen ergänzen.

                In Deinem Fall hättest Du die database: init Attribute in database@mydb ändern müssen. (Sonst weiss SmartHomeNG bei mehreren Instanzen ja nicht, in welche Datenbank der Wert geschrieben werden soll)
                Viele Grüße
                Martin

                Stay away from negative people. They have a problem for every solution.

                Kommentar


                  #9
                  Danke Martin,

                  nach Deiner Erklärung ist so simpel, ich hätte selbst darauf kommen können.
                  Allerdings erschließt sich mir die Instanz bei der smarthome.dg nicht so ganz. Ist es eine Möglichkeit für jede Item-Gruppe (Etage/Raum / Wärme/ Feuchte) eine eigene db zu führen?

                  Aber noch einmal mein Dank für die Hilfe
                  Wolfgang

                  Kommentar


                    #10
                    Für die meisten User dürfte das irrelevant sein, aber man hat in der plugin.yaml die Möglichkeit mehrere Plugin Instanzen zu konfigurieren, um Daten in mehrer Datenbanken zu schreiben. Damit kann man z.B. Eine mysql und eine sqlite Datenbank parallel nutzen, oder auch zwei mysql Datenbanken. Dann kann man die normalen item Werte in die ente db schreiben und spezielle Messwerte, die man ermittelt in eine andere Datenbank. (Die diese dann evtl. Selbstständig weiterverarbeitet).

                    Dann kann man bei jedem Item festlegen, in welche Datenbank die Werte geschrieben werden sollen. Wie gesagt, für die meisten User dürfte das uninteressant sein.
                    Viele Grüße
                    Martin

                    Stay away from negative people. They have a problem for every solution.

                    Kommentar

                    Lädt...
                    X