Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Plugin: DatabaseAddOn - Erweitere Testphase

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

    #61
    Zitat von bmx Beitrag anzeigen
    Du brauchst für die Features zwingend Python 3.8. Welche Version läuft bei Dir? 3.7.x?
    Aktuell 3.7.9. Bin gerade dabei auf 3.9.15 zu updaten.

    Kommentar


      #62
      Ich habs zum Laufen bekommen, denke ich zumindest....

      Zum Test:
      Die Temperatur im WC

      Heute Min/Max zeigt noch nichts an... denke ich erst ein Tag vergehen muss, richtig?

      Der Code:

      Code:
      wc:
              temperatur:
                  type: num
              #    visu_acl: rw
                  database: init
                  knx_dpt: 9
                  knx_listen: 6/2/23
                  knx_init: 6/2/23
                  
                  # Ab hier TEST von Neues Plugin: DatabaseAddOn - Erweitere Testphase
                  
                  auswertung:
                      type: foo
                      
                      heute_min:
                          type: num
                          database_addon_fct: minmax_heute_min
                          
                      heute_max:
                          type: num
                          database_addon_fct: minmax_heute_max
                  
                      gestern_min:
                          type: num
                          database_addon_fct: minmax_heute_minus1_min
                          
                      gestern_max:
                          type: num
                          database_addon_fct: minmax_heute_minus1_max​

      In deinem Beispiel unter: https://github.com/sisamiwe/shng-db_addon-plugin
      Code:
      temperature:
      aussen:
      nord:
      name: Außentemp Nordseite
      type: num
      visu_acl: ro
      knx_dpt: 9
      knx_cache: 6/5/1
      database: init
      struct:
      - db_addon.minmax_1
      - db_addon.minmax_2​

      hast du
      struct:
      - db_addon.minmax_1
      - db_addon.minmax_2​​

      verwendet, dies taucht bei den "item_attributes:​" "valid_list:​" nicht auf... werden dadurch alle Unterpunkte bei "
      minmax_1:
      name: Struct für Auswertung der Wertehistorie bei schwankenden Werten wie bspw. Temperatur oder Leistung (Teil 1)​ " automatisch verwendet?

      Danke schon mal für die Erklärung

      Kommentar


        #63
        Ich hätte darüber hinaus noch eine Frage.

        Meinen bisherigen Temperaturmittelwert ermittle ich folgendermaßen.

        ITEM temperatur_mittelwert bzw. die gerundete Variante davon

        Code:
        temperatur:
            mittelwert:
                type: num      
                eval: avg        
                eval_trigger:
                    - raum_1_temp
                    - raum_2_temp                  
                    - ...        
                    - ...
                    - ...
                    - raum_731_temp                                      :D
                    
                database: init
                    
                mittelwert_rund:
                    type: num
                    eval: round(sh.temperatur.mittelwert(), 2)
                    eval_trigger: temperatur.mittelwert
                    database: init​

        Sollte ich das anderseweitig lösen?

        Kommentar


          #64
          Zitat von Maexle Beitrag anzeigen
          Heute Min/Max zeigt noch nichts an... denke ich erst ein Tag vergehen muss, richtig?
          Nein, die Werte werden angezeigt, sobald das erste mal neue Werte ins Item geschrieben werden.

          Zitat von Maexle Beitrag anzeigen
          struct:
          Structs sind hier erklärt

          Zitat von Maexle Beitrag anzeigen
          struct:
          - db_addon.minmax_1
          - db_addon.minmax_2​​
          Du musst den Teil vor dem . an deine Plugin Konfiguration anpassen. Mein bsp. geht das von aus, dass das Plugin als "db_addon" gestartet wurde.
          Du kannst das auch im AdminIF unter "Items" und "Struktur Templates" einsehen.

          Zitat von Maexle Beitrag anzeigen
          Meinen bisherigen Temperaturmittelwert ermittle ich folgendermaßen.
          Das ist ja quasi der "live Mittelwert". Das kann die Datenbank nicht. Allerdings könntest Du beide Items (also Mittelwert und mittelwert_rund) zu einem Item zusammenfassen.

          Kommentar


            #65
            Zitat von Sisamiwe Beitrag anzeigen
            Nein, die Werte werden angezeigt, sobald das erste mal neue Werte ins Item geschrieben werden.
            hmmm, komisch entweder habe ich mich gestern vertippt --> auf jeden Fall zeigt "wc.temperatur.auswertung.gestern_max sowie min" eine Null an. Heute min/max funktionieren --> weiter beobachten

            Structs sind hier erklärt
            habe ich schon mehrmals versucht zu verstehen...

            Konfig Name Plugin

            admin/plugins_list --> db_addon_test und _priv_db_addon

            D.h. im meinem Fall !?

            Code:
            wc:
              temperatur:
               type: num
               database: init
               knx_dpt: 9
               knx_listen: 6/2/23
               knx_init: 6/2/23​
               struct:
                 - db_addon_test.minmax_1
                 - db_addon_test.minmax_2
                 - db_addon_test.minmax_was auch immer

            Das ist ja quasi der "live Mittelwert"
            stimmt 👍

            Kommentar


              #66
              Zitat von Maexle Beitrag anzeigen
              habe ich schon mehrmals versucht zu verstehen...
              Das ist nicht so schwer:
              an der Stelle, an der du in deiner item.yaml das struct 'aufrufst', werden die Items, die im struct selbst definiert sind, beim Start von shNG eingesetzt.

              Zitat von Maexle Beitrag anzeigen
              Konfig Name Plugin

              admin/plugins_list --> db_addon_test und _priv_db_addon
              Das verstehe ich nicht! Hast das das Plugin 2x aktiviert

              Kommentar


                #67
                Zitat von Sisamiwe Beitrag anzeigen
                Das verstehe ich nicht! Hast das das Plugin 2x aktiviert
                nein - in der Zeile darüber ist die "Tabelle" ich sehe aber da hat es die Formatierung zerlegt --> db_addon_test ist der "Konfig Name" und _priv_db_addon ist "Plugin"

                habe jetzt noch beim Stromzähler getestet ---> auch ohne Erfolg

                Code:
                verbrauch_strom:
                        zaehlertotal: # Zaehlerstand Bezug vom Stromzaehler ohne Umwandlung Rundung etc.
                            name: Zaehlerstand
                            type: num
                            database: init
                            sml_obis: 1-0:1.8.0*255
                            
                            
                            #### Ab hier Test vom neuen Plugin ####
                            
                            struct:
                            
                                - db_addon_test.verbrauch_strom.zaehlertotal.verbrauch_heute                            
                                - verbrauch_strom.zaehlertotal.db_addon_test.verbrauch_woche                            
                                - _priv_db_addon.verbrauch_monat                            
                                - db_addon_test.verbrauch_jahr                              
                                - db_addon_test.verbrauch_heute_minus1
                hab mal die verschiedenen Kombinationen dir mir eingefallen sind probiert --> die richtige war wohl nicht dabei

                Das Log ist ziemlich eindeutig --> Maschine kann damit nichts anfangen ... nur halt nicht für mich

                " lib.config add_struct_to_item_template: Struct definition for 'db_addon_test.verbrauch_strom.zaehlertotal.verbra uch_heute' not found (referenced in item verbrauch_strom.zaehlertotal)
                "

                Kommentar


                  #68
                  Hier noch ein Bildchen

                  DB.png

                  Kommentar


                    #69
                    Zitat von Maexle Beitrag anzeigen
                    hab mal die verschiedenen Kombinationen dir mir eingefallen sind probiert --> die richtige war wohl nicht dabei
                    Nein.

                    Ich habe dir unten mal die Konfig gebaut.
                    Du bindest, bei dem Items, die du auswerten willst nur das struct selbst bzw. die structs, die die möchtest, ein.
                    Das struct wird aufgerufen mit: Konfig_Name_des_Plugin.Struct_Name

                    Damit werden unterhalb der Stelle, an der du das struct definiert hast, alle Items selbst eingefügt.

                    Code:
                    verbrauch_strom:
                            zaehlertotal: # Zaehlerstand Bezug vom Stromzaehler ohne Umwandlung Rundung etc.
                                name: Zaehlerstand
                                type: num
                                database: init
                                sml_obis: 1-0:1.8.0*255
                                
                                
                                #### Ab hier Test vom neuen Plugin ####
                                
                                struct:
                                    - db_addon_test.verbrauch_1
                                    - db_addon_test.zaehlerstand_1
                    Probier nochmal.

                    Kommentar


                      #70
                      Zitat von Sisamiwe Beitrag anzeigen
                      Probier nochmal.
                      Leider hat das nicht geklappt...
                      "ERROR lib.config add_struct_to_item_template: Struct definition for 'db_addon_test.verbrauch_1' not found (referenced in item verbrauch_strom.zaehlertotal)"

                      was mich auch mehr als verwirrt in der "shng-db_addon-plugin/plugin.yaml" gibt es doch überhaupt keine ".verbrauch_1 .zaehlerstand_1"


                      Immerhin beim WC geben jetzt alle 4 Items einen Wert aus (Heute min/max & Gestern min/max) --> musste wohl wirklich der "Tag erst vergehen"

                      Kommentar


                        #71
                        Nachdem ich mir fast die "verbrauch_strom.yaml" zerschossen habe.

                        Neues Item angelegt:

                        Code:
                        # neues_plugin.yaml
                        
                        
                        
                        neues_plugin:
                            stromkwh:
                                type: num
                                database: init
                                sml_obis: 1-0:1.8.0*255
                            
                                struct:
                                    - db_addon_test.verbrauch
                                    - db_addon_test.zaehlerstand 
                        
                        
                        add_struct_to_item_template: Struct definition for 'db_addon_test.verbrauch' not found (referenced in item neues_plugin.stromkwh)
                        add_struct_to_item_template: Struct definition for 'db_addon_test.zaehlerstand' not found (referenced in item neues_plugin.stromkwh)
                        
                        
                        ##############################################
                        
                        TEST Nummer 2
                        
                        # neues_plugin.yaml
                        
                        neues_plugin:
                            stromkwh:
                                type: num
                                database: init
                                sml_obis: 1-0:1.8.0*255
                            
                                struct:
                                    - db_addon_test.verbrauch_1
                                    - db_addon_test.zaehlerstand_1
                        
                        
                        
                        
                        add_struct_to_item_template: Struct definition for 'db_addon_test.verbrauch_1' not found (referenced in item neues_plugin.stromkwh)
                        add_struct_to_item_template: Struct definition for 'db_addon_test.zaehlerstand_1' not found (referenced in item neues_plugin.stromkwh)
                        
                        
                        
                        ###################################################
                        
                        TEST Nummer 3
                        
                        # neues_plugin.yaml
                        
                        
                        
                        neues_plugin:
                            stromkwh:
                                type: num
                                database: init
                                sml_obis: 1-0:1.8.0*255
                            
                                struct:
                                    - db_addon_test.verbrauch_heute
                                    - db_addon_test.zaehlerstand_heute_minus1
                        
                         add_struct_to_item_template: Struct definition for 'db_addon_test.verbrauch_heute' not found (referenced in item neues_plugin.stromkwh)
                        add_struct_to_item_template: Struct definition for 'db_addon_test.zaehlerstand_heute_minus1' not found (referenced in item neues_plugin.stromkwh)
                        jeweils darunter die jeweilige LOG-Meldung. Zuerst hatte ich meine "verbrauch.yaml" im Verdacht, da ja dort schon Auswertungen (auch mit Hilfe des Forums) vorhanden sind. Aber das hat sich jetzt nicht bestätigt.

                        Kommentar


                          #72
                          Maexle einige Erläuterungen die sich nicht unbedingt aus der Doku ergeben könnten:

                          1. Private Plugins haben ein prefix priv_ weil sie dann bei git fetch, git pull, git merge etc. übergangen werden. Das ist in der .gitignore im ./smarthome/plugins Verzeichnis enthalten:

                          Code:
                          # don't upload private plugins
                          /priv_*
                          ​
                          2. Bei der Angabe für struct ist es nicht wichtig welche Konfigurationsnamen Du für Deine Plugin Instanz verwendet hast sondern der Ort wo das struct zu finden ist. In Deinem Fall ist das _priv_db_addon (besser wäre laut 1. dann priv_db_addon​)

                          3. Die verfügbaren struct werden im Admin Interface unter Items -> Struktur Templates aufgelistet
                          Zuletzt geändert von bmx; 24.10.2022, 10:19.

                          Kommentar


                            #73
                            bmx

                            Danke das wohl der richtige Hinweis...



                            auch beim Item "verbrauch_strom" sind die "Unterpunkte" im Item-Baum zu sehen --> ich werde berichten ob die Werte befüllt werden, aktuell überall "Null"

                            Kommentar


                              #74
                              kleines Update:

                              mittlerweile wurden die Items befüllt

                              Das Addon "greift hier" die Werte ab --> direkt aus dem SML-Plugin --> sml_obis: 1-0:1.8.0*255
                              verbrauch_strom.zaehlertotal --> 4914257.8 (aktuller Zählerstand) Wh --> für die Visu habe ich mir ein Item
                              verbrauch_strom.verbrauch.zaehler --> holt Werte aus eval: round(sh.verbrauch_strom.zaehlertotal() / 1000, 2) gebaut.

                              Macht es von der "wieviel Leistung wird vom System verlangt" einen Unterschied bzw. ist eine der beiden Varianten besser?

                              Variante A: ich setze die "Structs" unter das verbrauch_strom.verbrauch.zaehler (somit habe ich alle Werte in kWh)

                              Variante B: (falls das überhaupt möglich ist) - jeden einzelnen Unterpunkt des Struct --> eval /1000

                              Variante C: ???


                              Danke Euch

                              Kommentar


                                #75
                                Ich wollte das jetzt mal testen. Da inzwischen alles andere läuft. Das steht hier im Log:

                                Code:
                                2022-10-25  19:04:04 WARNING  plugins.db_addon    Item 'Zentral.Wetter.pluggit.Temperatur.Gruenlandtemperatursumme' with database_addon_fct=gruenlandtempsumme ignored, since parameter using 'database_addon_params' not given. Item will be ignored.
                                2022-10-25  19:04:04 WARNING  plugins.db_addon    Item 'Zentral.Wetter.pluggit.Temperatur.Waermesumme' with database_addon_fct=waermesumme ignored, since parameter using 'database_addon_params' not given. Item will be ignored.​
                                Sollte doch so aussehen oder?

                                Code:
                                        pluggit:
                                            Temperatur:
                                                type: num
                                                knx_dpt: 9
                                                knx_send: 4/0/1
                                                knx_reply: 4/0/1
                                                database: yes
                                                database_maxage: 732
                                                visu_acl: ro
                                                eval: value
                                                eval_trigger: Zentral.pluggit.OutdoorTemperature
                                                Gruenlandtemperatursumme:
                                                    type: num
                                                    database_addon_fct: gruenlandtempsumme
                                                Waermesumme:
                                                    type: num
                                                    database_addon_fct: waermesumme    ​

                                Kommentar

                                Lädt...
                                X