Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Database Plugin

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

    #16
    Darf man Fragen wann 1.3 ca. released wird? das neue database plugin kling sehr interessant.

    Kommentar


      #17
      wenn sie bald released wird dann ohne database plugin ;-) das ist gerade in einem sep. branch und zerschiesst mir aktuell fast alles ;-) ansonsten wird es noch dauern, eine planung kenne ich nicht.

      Kommentar


        #18
        Danke für die Info.

        Kommentar


          #19
          Hallo,

          jeder der das Plugin schon ausprobiert hat ist eingeladen, unter https://github.com/smarthomeNG/smarthome/issues/208 noch seine Meinung abzugeben, wie die Integration in Zukunft aussehen sollte.

          VG,
          René

          Kommentar


            #20
            Ich habe unter https://github.com/smarthomeNG/smart...-MySQL-MariaDB mal angefangen, eine Anleitung zur Einrichtung von MariaDB zu schreiben. Allerdings fehlt mir das Setting, um das vernünftig zu testen. Bitte mal nachstellen und ggf ergänzen.
            Zuletzt geändert von psilo; 02.08.2017, 16:24.

            Kommentar


              #21
              Danke sehr, probiere ich mal aus. Vielleicht sollte man kurz noch ausführen das beim Wechsel von Debian Jessie zu Debian Stretch auch von MySQL auf MariaDB gewechselt wurde. Die beiden Datenbanken sind nicht binärkompatibel so daß bei einem Systemwechsel verstärkt auf einen korrekten Dump geachtet werden sollte...

              Kommentar


                #22
                Ich versuche mich gerade an diesem Plugin, scheitere aber an dieser Fehlermeldung:

                Code:
                2017-08-02  16:03:49 ERROR    Main         Plugin database exception: 'str' object has no attribute 'paramstyle'
                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>
                  File "/usr/local/smarthome/plugins/database/__init__.py", line 83, in __init__
                    self._db = lib.db.Database(("" if prefix == "" else prefix.capitalize() + "_") + "Database", driver, connect)
                  File "/usr/local/smarthome/lib/db.py", line 171, in __init__
                    self._format_output = self._dbapi.paramstyle
                AttributeError: 'str' object has no attribute 'paramstyle'
                Code:
                [database]
                    class_name = Database
                    class_path = plugins.database
                    driver = mysql
                    connect = host:host.de | port:3306 | user:user  | passwd:passwort | database:smarthome
                    prefix = smarthome
                Kann mir einer sagen woran das liegt? Habe schon driver auf sqlite3 gehabt aber ohne Änderung.
                Ich möchte das auf eine Synology NAS loggen mit einer Maria DB

                VG knx fan

                Kommentar


                  #23
                  Knx fan als driver muss das python paket rein, dass du nutzt. bspw pymysql.

                  hast du dir meine anleitung durchgelesen?
                  sehe gerade, dass der link nicht mehr gepasst hat.. dieser ist korrekt: https://github.com/smarthomeNG/smart...-MySQL-MariaDB

                  wobei es noch gut wäre, dass blubbs99 hier ggf eine entsprechende fehlermeldung ausgibt und nur auf valide "driver" prüft.

                  im connectstring habe ich auch db:smarthome und nicht database:smarthome stehen. das könnte auch etwas ausmachen. im readme steht das korrekt drin:
                  Code:
                  connect - specifies the connection parameters which is directly used to invoke the connect() function of the DB API 2 implementation
                  (for SQLite lookup here, other databases depends on implementation). An example connect string for pymysql could be connect =
                  host:127.0.0.1 | user:db_user | passwd:db_password | db:smarthome
                  Zuletzt geändert von psilo; 02.08.2017, 16:26.

                  Kommentar


                    #24
                    Hallo,

                    ja das "database" hatte ich von hier, weil ich mein Fehler gesucht habe. Es zu ändern in db brachte nichts, es war vorher schon db.
                    Das Readme habe ich gelesen, deshalb die Frage!

                    pymysql ist installiert mit pypy, sowie mysql-server. Auf der NAS ist Maria DB. Datenbank ist mit User und Passwd angelegt.

                    Was kann das noch sein? Im yaml steht ein "instance" braucht man das in der plugin.conf nicht?

                    Achja, meine NG Version ist die aktuellste 1.4.e202d7f.dev
                    Zuletzt geändert von Knx fan; 02.08.2017, 20:13.

                    Kommentar


                      #25
                      Hallo,

                      hast vielleicht den ersten Satz von psilo übersehen: Da muss "driver = pymysql" hin.
                      Bei mir hat es damit geklappt, SH hat was in die Datenbank geschrieben. Hatte aber nicht abschließend getestet aus Zeitmangel und wieder auf sqlite umgestellt.

                      Kommentar


                        #26
                        Danke, das hatte auch nichts gebracht.
                        mysql hat doch den Verweis in der Smarthome conf. Meine Vorstellung ist, das du diesen Verweis nicht hattest und deshalb pymysql, dann bei dir lief.

                        Nach der Doku sollte in der smarthome.conf

                        Code:
                         
                         db = sqlite:sqlite3 | mysql:pymysql
                        stehen. Damit sollte man dann sqlite sowie auch database nutzen können.

                        Kommentar


                          #27
                          Hi Knx fan ,

                          aus der README sollte hervorgehen, dass es sich um ein Python (DB-API2) Modul handelt, welches bei der "driver" Einstellung angegeben werden sollte. D.h. dort muss ein Modulname hin, wie es auch schon von MaHe erlaeutert wurde.

                          Ich habe das Error-Handling noch etwas erweitert so dass nun eine ERROR-Log geschrieben wird und die Original-Exception im Log auftaucht. Beides sollte darauf hinweisen, dass es sich hierbei um ein fehlendes Modul handelt. Ausserdem steht in der README jetzt auch das entsprechende Beispiel fuer die `driver` Einstellung fuer die jeweiligen Treiber (bisher allerdings nur SQLite und PyMySQL - falls das Plugin mit anderen auch bereits laeuft, bitte Bescheid sagen, dann ergaenze ich das gerne).

                          Gruss

                          Kommentar


                            #28
                            Zitat von Knx fan Beitrag anzeigen
                            mysql hat doch den Verweis in der Smarthome conf. Meine Vorstellung ist, das du diesen Verweis nicht hattest und deshalb pymysql, dann bei dir lief.
                            Nein, das ist mit der neusten Version nicht mehr so. Die Abhaengigkeit zwischen dem Database-Plugin und SmartHomeNG-Core wurde aufgeloest. D.h. man muss nichts mehr in der smarthome.conf/yaml hinterlegen um das Database-Plugin nutzen zu koennen.

                            Zitat von Knx fan Beitrag anzeigen
                            Nach der Doku sollte in der smarthome.conf

                            db = sqlite : sqlite3 | mysql : pymysql

                            stehen.
                            Falls das aktuell noch irgendwo so dokumentiert ist, bitte Bescheid sagen. Das passt nicht mehr zum aktuellen Stand.

                            Zitat von Knx fan Beitrag anzeigen
                            Damit sollte man dann sqlite sowie auch database nutzen können.
                            Naja, nicht ganz richtig: damit kann man das Database-Plugin mit SQLite oder MySQL verwenden. Das SQLite-Plugin kann man nach wie vor verwenden, ohne eine Einstellung hinterlegen zu muessen.

                            Gruss

                            Kommentar


                              #29
                              Knx fan du hast wahrgenommen, dass es neben der readme noch eine zus. doku gibt? Insbesondere wenn db und smarthome auf unterschiedlichen maschinen laufen. Das wäre mein Link von oben gewesen.
                              Nur um sicherzugehen, sonst könnten noch mehr Fragen kommen

                              Ich habe SmartHomeNG in einem Dockercontainer und verbinde zur nativen db auf dem Synology NAS. Also ein sehr ähnliches Setting.

                              Bitte immer mindestens die neusten Versionen vom Develop-Branch der Plugins und Develop-Branch der SmartHomeNG nehmen.
                              Oder noch kurze Zeit warten, das Release 1.3 kommt nun bald ...

                              Das Plugin sollte jetzt aber schon ziemlich final sein.
                              Zuletzt geändert von psilo; 03.08.2017, 11:03.

                              Kommentar


                                #30
                                Falls du das auskommentieren der bind adress meinst, es ist auskommentiert!

                                Kommentar

                                Lädt...
                                X