Aufm Image ist eh schon alles vorbereitet mit der Datenbank. Man muss das Service nur noch enablen und sich daran halten: https://sourceforge.net/p/smarthomen...ge/wiki/mysql/
psilo welches knxd docker image nutzt du? Ich hatte letztens sowohl mit dem von henfri als auch foxi massive Probleme. Müsst's mir nochmals anschauen, da ich es definitiv irgendwann mal funktionsfähig am Laufen hatte.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Database Plugin
Einklappen
X
-
sonst testweise die db halt auch erstmal auf dem pi installieren?
Einen Kommentar schreiben:
-
Wie gesagt - ich hatte erst alles auf dem Pi, der über UBS-RS485 mit der KWL verbunden war. Dann aus Performancegründen die Visu und dB auf das QNAP NAS umgezogen (was in meinen Augen eine valide Konfiguration darstellt). Erst kürzlich, mit der Einführung des RS485-LAN-Konverters, ist auch shNG auf das NAS umgezogen, vorher ging's halt technisch nicht (NAS steht räumlich woanders als die über USB mit dem Pi verbundene KWL).Zitat von psilo Beitrag anzeigenaber es macht keinen sinn, die DB auf das NAS zu legen SHNG aber dann als single instanz woanders zu hosten.
/tom
Einen Kommentar schreiben:
-
Servus René,
zur Frage warum SHNG auf Raspi und mySQL auf NAS:
a) Wenn Ihr – vom Wissen – in der Bundesliga spielt, bin ich in der C-Kasse
( ohne Raspi-Image wäre ich nie zu SH / KNX gekommen )
Es ist für mich die einzig vertretbare Art bei Eurem Verbesserungen mitmachen zu können. ( Hab von GIT keine Ahnung )
b) Mein NAS - QNAP TS-459 - ist alt und da soll Docker – mangels Arbeitsspeicher, 1GB - nicht laufen.
( ist für mich zur Zeit auch besser so ….. )
c) Ohne Andys Raspi-Image würde ich vermutlich auch nicht von SH zu SHNG wechseln.
Danke für Eure Unterstützung….
Alles weiter kann ich erst am WE machen / beantworten.
Einen Kommentar schreiben:
-
smai den stick kannste auch ans nas anstecken, sofern das im technikraum steht
Tom Bombadil-> auch dann kann ich per wifi die daten zu einer zentralen shng instanz auf dem nas synchen. ich habe auch 2 verteilte shng's, die aber alle die daten zum SHNG auf dem NAS senden. und das schreibt dann in die DB weg (wenn Haiphong kein netzwerk hätte, käme er auch nicht auf die datenbank die ja bei ihm auf dem NAS liegt!).Es werden Daten für Geräte aufgezeichnet, in deren Nähe kein Bus / Netzwerk existiert
daher stimme ich 2 auch zu, weil ich das selber ja identisch nutze, aber es macht keinen sinn, die DB auf das NAS zu legen SHNG aber dann als single instanz woanders zu hosten.Zuletzt geändert von psilo; 25.01.2019, 10:30.
Einen Kommentar schreiben:
-
Die Rechte "FILE" und in der zweiten Spalte alles ab "CREATE TEMPORARY TABLE" werden ziemlich sicher nicht benötigt.Zitat von Haiphong Beitrag anzeigenDiese Berechtigungen reichen:
rechte.jpg
Bei mir hat der RasPi direkt einen USB-KNX-Stick, so dass SHNG weiterhin funktioniert, auch wenn das Netzwerk ausfällt.Zitat von psilo Beitrag anzeigenwelchen sinn macht es, shng auf einen raspi auszulagern, wenn du ein leistungsstaerkeres NAS hast, auf dem sowieso die DB läuft
Einen Kommentar schreiben:
-
Spontan: Solange im gesamten Haus ein Bus installiert ist und alle Geräte irgendwie da dran hängen, sollte es möglich sein, die Daten an einem beliebigen Ort direkt an shNG auf dem NAS zu geben. Ansonsten:Zitat von psilo Beitrag anzeigentrotzdem eine relevante frage:
welchen sinn macht es, shng auf einen raspi auszulagern, wenn du ein leistungsstaerkeres NAS hast, auf dem sowieso die DB läuft
1) Es werden Daten für Geräte aufgezeichnet, in deren Nähe kein Bus / Netzwerk existiert (mein shNG-Raspi hing lange neben der KWL im Technikraum, bis ich den RS485 USB-Stick gegen einen RS485-LAN-Konverter ersetzt habe; von da an hatte ich die KWL-Daten im LAN und konnte shNG auf das NAS in einem anderen Raum umziehen, statt es auf dem Raspi direkt an der KWL zu betreiben).
2) Bei mehreren Installationen von shNG, die sich gegenseitig synchronisieren (Sandman60 hat sowas z.B., wenn ich mich richtig erinnere).
/tom
Einen Kommentar schreiben:
-
Haiphong nach dem pip update nochmal pymysql updaten? 0.9.3 ist aber die aktuellste.. du hast dann pymysql aber doch verfügbar? vorher in #203 sagst du, das gäbe es nicht und du nimmst y26-mysql (was ich nicht kenne)?
was genau ist die frage? in diesser datei sollte eine sektion namens [mysqld] sein. Auf NAS'sen musst Du acht geben, weil da oft die DB für die eigene Oberfläche mitgenutzt wird.. da sind dann spezielle konfigurationen drin oder das zeug ist in includete weitere konfigdateien ausgelagert... bei synology versuche ich da auch möglichst wenig selber rumzueditieren.. dann lieber die DB sauber in nen docker container.Frage zu "bind-address" in "/etc/mysql/my.cnf":
auf meiner synology musste ich allerdings auch nichts anpassen, weil mein shng im docker läuft und ich daher "nativ" und nicht von aussen auf die synology datenbank konnte. meine anleitung im blog bezieht sich auf einen "normalen" raspi.. qnap kenne ich nicht
trotzdem eine relevante frage:
welchen sinn macht es, shng auf einen raspi auszulagern, wenn du ein leistungsstaerkeres NAS hast, auf dem sowieso die DB läuftZuletzt geändert von psilo; 25.01.2019, 06:14.
Einen Kommentar schreiben:
-
Rückmeldung
a) Es kommen - ohne Änderung von mir - keine Rechte Probleme mehr im Logging
b) Es werden Werte geschrieben
c) Diese Berechtigungen reichen:
rechte.jpg
Item Beispiel:
( ob "init" in Hochkomma steht ist offensichtlich egal )
Lt. BlogCode:%YAML 1.1 --- bluetooth: pflanzen: sensor_i_a: temp: name: temp type: num database@mysqldb: 'init' xiaomi_data_type@sensor_a: temperature send_nw_udp: 1
ergibt: ( aktuelles Raspi Image von Andy )sudo pip3 install --upgrade pymysql
upgrade mysql.jpg
sudo pip install --upgrade pip
ergibt:
pip inst.jpg
Frage zu "bind-address" in "/etc/mysql/my.cnf":
Da bei mir mySQL auf NAS QNAP und SHNG auf Raspi
Die Datei beinhaltet bisher folgendes:
Hier füge ich folgenden Eintrag hinzu:Code:[client-server] # Import all .cnf files from configuration directory !includedir /etc/mysql/conf.d/ !includedir /etc/mysql/mariadb.conf.d/
hinzuCode:[mysqld] bind-address = 192.168.178.44
Zuletzt geändert von Haiphong; 25.01.2019, 00:03.
Einen Kommentar schreiben:
-
Hallo Kollegen,
danke für Eure Unterstützung......
Komme erst morgen wieder an das System....
Nur zur Info,
a) zuerst kam die Fehlermeldung - Post # 206 - mit der Anmeldung ( min. 1 Seite lang )
b) dann wurden - automatisch - die drei Tabellen in der DB "Smarthome" erstellt
c) ob jetzt noch Fehlermeldungen kommen werde ich prüfen
René,
Deinen Blog zu dem Thema hab ich wohl gelesen, aber gestern nicht mehr auf dem Schirm gehabt. ( also auch nicht befolgt )
Werde ich aber nachholen....
Einen Kommentar schreiben:
-
Stimmt, das hatte ich übersehen.Zitat von Onkelandy Beitrag anzeigenDass offenbar ein Mal in die Datenbank geschrieben wurde und dann nicht mehr,
Haiphong noch ein Wort zum "instance":
Dies hat nichts mit DB zu tun, sondern ist die Plugin-Instanz. Falls du Multiinstance nutzen willst (und weisst wie und was du tust) ist das in Ordnung. Wenn aber alle DB-Items in dieselbe DB sollen, lässt du es besser weg.
Einen Kommentar schreiben:
-
Die Angaben im plugin.yaml passen so wie oben gepostet, läuft bei mir mit quasi gleicher Config.
Dass offenbar ein Mal in die Datenbank geschrieben wurde und dann nicht mehr, ist schon sehr sonderbar. Aber es muss letztlich fast ein Rechteproblem sein.
Würde in phpmyadmin mal auf die Rechte der Datenbank gehen und wie smai vorgeschlagen hatte "ALL PRIVILEGES" granten.
Einen Kommentar schreiben:
-
Meines Wissens passt die Liste schon so wie sie ist.
In database/__init__.py wird Utils.string_to_list verwendet, und da hast du selbst implementiert, dass eine Liste direkt wieder als Liste zurückkommt.
Entscheidend ist aber, dass es eine Liste von Strings ist und nach den Doppelpunkten kein Leerzeichen stehen darf.
Sonst wird es in YAML als eine Liste von dicts interpretiert. Aber auch Anführungszeichen helfen nicht, weil in lib/db.py ein Partition nach : ohne Trim geschieht.
Einen Kommentar schreiben:
-
Ich meine das Problem hatte schon jemand hier im Forum.
Wenn ich das richtig erinnere, muss connect ein String sein. So wie es in der Konfiguration steht, ist das aber eine Liste von Strings. Schreib mal die ganzen -Optionen auf eine Zeile und setze sie in Anführungszeichen.
Einen Kommentar schreiben:
-
Ist ja wieder ziemlich eindeutig: Der User hat keine rechte auf die Datenbank."Access denied for user 'Smarthome'@'SmartHomeNG.fritz.box' (using password: YES)"
Schau mal in das Register "Rechte" in phpMyAdmin. Er braucht sicherlich mindestens INSERT, SELECT, DELETE, UPDATE.
Falls jemand anderes das hier mal liest:
Wenn man die Datenbankobjekte nicht vorher manuell angelegt hat, würde dies das Plugin tun. Dazu braucht es mindestens noch CREATE.
Im selbst betreuten Heimnetz kann man aber IMHO auch getrost ALL PRIVILEGES geben.
Dass das Plugin nach diesem Fehler trotzdem ein Select versucht, ist eigentlich falsch.
Einen Kommentar schreiben:


Einen Kommentar schreiben: