Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Database Plugin

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

    #76
    Ja klar, wenn du in dem SQL-Script wie oben die Items durch deren ID ersetzt.
    Es wäre ja ein leichtes, ein kleines Python-Script zu erstellen, welchem man beide DB-Verbindungen angibt und das dann automatisch macht. Ich persönlich habe nur grad keine Zeit dafür.

    Kommentar


      #77
      Hallo,

      ich habe eine Frage zu der SQL Datenbankstruktur insbesondere in der Tabelle LOG.
      Im Wiki steht:
      The log table contains the following columns:
      • Column time - the unix timestamp in microseconds of value
      • Column item_id - the reference to the unique ID in item table
      • Column val_str - the string value if type is str
      • Column val_num - the number value if type is num
      • Column val_bool - the boolean value if type is bool or num
      • Column changed - the unix timestamp in microseconds of record change
      Bei mir gibt es zwischen der "item_id" und "val-str" noch die "duration".

      Ist meine DB falsch oder fehlt das im WIKI?
      Was bedeutet die Spalte (vielleicht Differenz zwischen "time" und "changed".

      Danke für die Rückmeldung.

      Kommentar


        #78
        noch eine Frage:

        Wie ist Eurer Meinung nach der beste Übertrag von sqlite(num) nach mariaDB (log)?

        _start --> time
        _dur --> duration
        _max --> val_num
        _on (bzw der bool Werte davon) --> val_bool

        val_str bleibt leer
        Die item_id muss man ermitteln, das ist klar.
        bei changed bin ich mir unsicher.

        Kommentar


          #79
          Ich hänge mich hier mal rein
          Meine Testumgebung SH1.3 ,SV2.9

          bekomme beim sh start im log:
          Code:
          2017-10-22  11:44:19 ERROR    Main         Plugin database exception: name 'OrderedDict' is not defined
          Traceback (most recent call last):
            File "/usr/local/smarthome/lib/plugin.py", line 90, in __init__
              plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance)
            File "/usr/local/smarthome/lib/plugin.py", line 144, in __init__
              exec("self.plugin.__init__(smarthome{0}{1})".format("," if len(arglist) else "", argstring))
            File "<string>", line 1, in <module>
          NameError: name 'OrderedDict' is not defined
          2017-10-22  11:58:15 WARNING  Main         Client 10.2.2.130:55013 requested invalid series: heizung.wohnen.stellwert.
          plugin.yaml
          Code:
          #sql:
          #    class_name: SQL
          #    class_path: plugins.sqlite_visu2_8
          
          database:
              class_name: Database
              class_path: plugins.database
              driver: pymysql
              connect:
                - host:127.0.0.1
                - user:smarthome
                - passwd: geheim
                - db:smarthome_db
              instance: mysqldb
          item:
          Code:
                  stellwert:
                      type: num
                      visu: 'true'
                      knx_dpt: 5001
                      knx_cache: 2/4/0
                      database@mysqldb: init
          Im item habe ich mehrere varianten versucht:
          Code:
          database@mysqldb: init
          database@mysqldb: yes
          database@mysqldb: 'yes'
          Zuletzt geändert von yachti; 22.10.2017, 11:08. Grund: Item Ergänzung
          Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

          Kommentar


            #80
            Zitat von yachti Beitrag anzeigen
            Im item habe ich mehrere Varianten versucht:
            erledigt. Waren Zugriffsrechte
            Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

            Kommentar


              #81
              Was für Zugriffsrechte? Vielleicht kann man den Fehler anders abfangen, damit andere nicht das gleiche Fragezeichen in der Frisur haben müssen wie Du.


              Viele Grüße
              Martin

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

              Kommentar


                #82
                Zitat von Msinn Beitrag anzeigen
                Was für Zugriffsrechte?
                sorry war ein Trugschluß. Hatte mir vorher zu Testen nen clone gezogen.
                Hatte gesehen das mein apache log vollgelaufen ist mit jede Menge Zugriffsfehler änlich wie diesen:
                Code:
                [Sun Oct 22 13:25:52.407513 2017] [:error] [pid 25982] [client 10.2.2.130:50826] PHP Warning:  fopen(/var/www/html/smartVISU_2_9/temp/offline_msr.var): failed to open stream: No such file or directory in /var/www/html/smartVISU2_9/driver/io_offline.php on line 50, referer: http://host/smartVISU2_9/index.php?page=device/widget_device.blind&pages=docu
                Habe dann die Berechtigungen für www-data neu gesetzt.
                Code:
                sudo chown -R www-data:www-data smartVISU2_9
                sudo chmod -R 775 smartVISU2_9
                Nach einem SH neustart war die Warnung nicht mehr im log
                Code:
                2017-10-22 11:58:15 WARNING Main Client 10.2.2.130:55013 requested invalid series: heizung.wohnen.stellwert.
                ist jetzt aber wieder drin.Problem besteht weiterhin
                Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

                Kommentar


                  #83
                  landen in der datenbank werte? Sieht für mich aber eher nach konfigurationsfehler in der plugin.yaml aus. nicht zwingend beim database plugin

                  database@mysqldb: init ist schon richtig.. geht hier einwandfrei.

                  ist das leerzeichen vor den passwort auch im original?
                  Zuletzt geändert von psilo; 22.10.2017, 17:14.

                  Kommentar


                    #84
                    Zitat von psilo Beitrag anzeigen
                    landen in der datenbank werte?
                    nein nichts zu sehen auch keine Tabellen vorhanden

                    Zitat von psilo Beitrag anzeigen
                    Sieht für mich aber eher nach konfigurationsfehler in der plugin.yaml aus
                    ist exakt nach deiner Anleitung gemacht.
                    Code:
                    #sql:
                    #    class_name: SQL
                    #    class_path: plugins.sqlite_visu2_8
                    
                    database:
                        class_name: Database
                        class_path: plugins.database
                        driver: pymysql
                        connect:
                          - host:127.0.0.1
                          - user:smarthome
                          - passwd: geheim
                          - db:smarthome_db
                        instance: mysqldb
                    Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

                    Kommentar


                      #85
                      Hallo,

                      ich bin auch mit der Umstellung von sqlite nach mariadb beschäftigt und habe dazu noch ein paar Fragen bzw Ungereimtheiten:
                      siehe hier im Post #77: https://knx-user-forum.de/forum/supp...42#post1146242
                      und hier im Post #78: https://knx-user-forum.de/forum/supp...56#post1146256

                      Nun ist mir aufgefallen, dass es unterschiedlichen Beschreibungen zur Verwendung der Datenbank in den item gibt:
                      hier https://github.com/smarthomeNG/smart...-MySQL-MariaDB steht:
                      In den jeweiligen Items muss dann ein database@mysqldb: init erfolgen (oder das alte sqlite: init ersetzen).
                      und hier http://smarthomeng.de/v1_3/plugins/database/README.html steht:
                      database: This attribute enables the database logging when set (just use value yes).
                      Bedeutet "yes" nur loggen und "init" Rücklesen des letzten Wertes beim Start so ähnlich wie cache?

                      Danke für Eure Klarstellung!


                      Kommentar


                        #86
                        yachti sind im plugin.yaml evtl komische Zeichen drin? geht der direkte db zugriff ?

                        Kommentar


                          #87
                          nein steht nichts komisches drin. So wie gepostet.

                          Zitat von psilo Beitrag anzeigen
                          geht der direkte db zugriff ?
                          Wie meinst das direkter Zugriff bzw wie jann ich das testen? Habe jetzt nochmal den DB User von smarthome@127.0.0.1 auf smarthome@localhost geändert hat aber auch nichts gebracht

                          Code:
                          mysql -u root -p
                          Enter password:
                          Welcome to the MariaDB monitor.  Commands end with ; or \g.
                          Your MariaDB connection id is 89
                          Server version: 10.0.32-MariaDB-0+deb8u1 (Debian)
                          
                          Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
                          
                          Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
                          
                          MariaDB [(none)]> use smarthome_db
                          Database changed
                          MariaDB [smarthome_db]>
                          
                          Database changed
                          MariaDB [mysql]> select Host, Db, USer from db;                                 +-----------+--------------+------------+
                          | Host      | Db           | USer       |
                          +-----------+--------------+------------+
                          | localhost | phpmyadmin   | phpmyadmin |
                          | localhost | smarthome_db | smarthome  |
                          +-----------+--------------+------------+
                          Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

                          Kommentar


                            #88
                            also ich kann die Datenbank smarthome_db mit dem user smarthome von der Console öffnen. Meintest Du das?

                            Code:
                             mysql -u smarthome -p smarthome_db
                            Enter password:
                            Welcome to the MariaDB monitor.  Commands end with ; or \g.
                            Your MariaDB connection id is 321
                            Server version: 10.0.32-MariaDB-0+deb8u1 (Debian)
                            
                            Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
                            
                            Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
                            
                            MariaDB [smarthome_db]>
                            Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

                            Kommentar


                              #89
                              jetzt gehts. Es waren die Leerzeichen nach dem Doppelpunkt im plugin im Bereich connect. Hier jetzt das plugin wie es funktioniert:
                              Code:
                              database:
                                  class_name: Database
                                  class_path: plugins.database
                                  driver: pymysql
                              [COLOR=#FF0000]    connect:
                                    - host:localhost
                                    - user:smarthome
                                    - passwd:geheim
                                    - db:smarthome_db[/COLOR]
                                  instance: mysqldb
                              Meine Installation: VM Debian Buster SH NG 1.8.1, SmartVISU 3.0, KNX, DMX, 1-wire, Fortigate 30E IPS, VMware vSphere 6.7

                              Kommentar


                                #90
                                yachti habe ich ja oben geschrieben ;-) YAML verzeiht bei den Sachen etwas weniger leicht als .conf

                                Kommentar

                                Lädt...
                                X