Darf man Fragen wann 1.3 ca. released wird? das neue database plugin kling sehr interessant.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Database Plugin
Einklappen
X
-
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é
- Likes 1
Kommentar
-
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
-
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
-
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
Ich möchte das auf eine Synology NAS loggen mit einer Maria DB
VG knx fan
Kommentar
-
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
-
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.devZuletzt geändert von Knx fan; 02.08.2017, 20:13.
Kommentar
-
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
Kommentar
-
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
-
Zitat von Knx fan Beitrag anzeigenmysql hat doch den Verweis in der Smarthome conf. Meine Vorstellung ist, das du diesen Verweis nicht hattest und deshalb pymysql, dann bei dir lief.
Zitat von Knx fan Beitrag anzeigenNach der Doku sollte in der smarthome.conf
db = sqlite : sqlite3 | mysql : pymysql
stehen.
Zitat von Knx fan Beitrag anzeigenDamit sollte man dann sqlite sowie auch database nutzen können.
Gruss
Kommentar
-
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
Kommentar