Umsteig von fhem.cfg auf configDB

Begonnen von -Stefan-, 01 November 2014, 17:08:43

Vorheriges Thema - Nächstes Thema

Newbee

Habe fhem mit perl fhem.pl configDB gestartet.

Folgende Fehlermeldung.

DBI connect('database=fhem;host=localhost;port=3306','fhemuser',...) failed: Access denied for user 'fhemuser'@'localhost' to database 'fhem' at configDB.pm line 636.

perl Vers. ist wie folgt.

This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue

betateilchen

Eins nach dem anderen...

Bei perl 5.18.2 kannst Du die Warnungen wegen experimental einfach ignorieren, das sind keine echten Fehler.

Das Verbindungsproblem zu Deiner Datenbank musst Du selbst lösen, das hat nichts mit configDB zu tun, sondern mit MySQL.

CREATE USER 'fhemuser'@'localhost' IDENTIFIED BY 'fhemuser';

Dir ist schon klar, was Du da tust? Du weist dem User "fhemuser" das Passwort "fhemuser" zu.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Newbee

Zitat von: betateilchen am 11 März 2015, 19:36:07
Eins nach dem anderen...

Bei perl 5.18.2 kannst Du die Warnungen wegen experimental einfach ignorieren, das sind keine echten Fehler.

Das Verbindungsproblem zu Deiner Datenbank musst Du selbst lösen, das hat nichts mit configDB zu tun, sondern mit MySQL.

CREATE USER 'fhemuser'@'localhost' IDENTIFIED BY 'fhemuser';

Dir ist schon klar, was Du da tust? Du weist dem User "fhemuser" das Passwort "fhemuser" zu.

Nicht immer!  ;) Aber das war mal Absicht, kann ich mir dann besser merken (fürs testen)  ::)

Nun habe ich nach configdb migrate folgendes erhalten.

Ver 0 saved: Wed Mar 11 20:14:53 2015 def: 341 attr: 1102
Ver 1 saved: by cfgDB_Init  def: 3 attr: 4
-----------------------------------------------------------------
state: 2494 entries saved: Wed Mar 11 20:14:53 2015
-----------------------------------------------------------------
filesave: 51 files stored in database
-----------------------------------------------------------------


Wenn ich es richtig deute ERFOLG...  :D Lag an den Rechten in MySQL

DANKE!
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue

Zilon

#33
Hallo zusammen,

ich betreibe FHEM nun schon seit einiger Zeit erfolgreich mit configDB. FHME läuft dabei auf einem RPi3, die DB liegt auf einem Synology NAS. Um auch IPv6 nutzen zu können, wollte ich nun die FHEMWEB-Definition ändern, was aus irgendwelchen Gründen nicht über das Interface möglich war. Also habe ich es direkt in der Datenbank via PHPMyAdmin versucht. Dabei ist mir aufgefallen, dass alle Einträgemehrfach in der configDB vorhanden sind, teilweise über 100x. Außerdem war mir die Bearbeitung nicht möglich, da es für die Einträge keine eindeutige ID gibt. Ist das so gewollt?

Danke und Gruß
Zilon

EDIT: Beim bearbeiten habe ich dann viele der mehrfach vorhandenen Einträge entfernt, jetzt lädt das Frontend nicht mehr.

Benni

Zitat von: Zilon am 09 April 2017, 13:02:04
Hallo zusammen,

ich betreibe FHEM nun schon seit einiger Zeit erfolgreich mit configDB. FHME läuft dabei auf einem RPi3, die DB liegt auf einem Synology NAS. Um auch IPv6 nutzen zu können, wollte ich nun die FHEMWEB-Definition ändern, was aus irgendwelchen Gründen nicht über das Interface möglich war. Also habe ich es direkt in der Datenbank via PHPMyAdmin versucht. Dabei ist mir aufgefallen, dass alle Einträgemehrfach in der configDB vorhanden sind, teilweise über 100x. Außerdem war mir die Bearbeitung nicht möglich, da es für die Einträge keine eindeutige ID gibt. Ist das so gewollt?

Danke und Gruß
Zilon

EDIT: Beim bearbeiten habe ich dann viele der mehrfach vorhandenen Einträge entfernt, jetzt lädt das Frontend nicht mehr.

Die FHEMWEB-Devices lassen sich natürlich über das Web-UI bearbeiten.
Alternativ gibt es auch noch telnet.

Und wenn man in der Datenbank rumfuhrwerkt ohne, dass man die Datenbankstruktur verstanden hat ist ist das grob fahrlässig und die Wahrscheinlichkeit, dass man sich was zerschießt eben sehr hoch.

Die Vielen Einträge waren lauter unterschiedliche Versionen der Konfiguration, und dazu gibt es natürlich eine eindeutige ID (für die jeweilige Version).
Keine Ahnung was du da jetzt alles raus gelöscht hast, aber sehr wahrscheinlich war die aktuelle Version der Konfiguration betroffen.

Du hast ja aber sicher ein Backup (der DB) gemacht, bevor du die Operation am offenen Herzen begonnen hast? ;) Das würde ich an deiner Stelle wiederherstellen, alles andere wird ziemlich müßig.

Sorry, aber ich fürchte mehr Hilfe wird da so nicht möglich sein.




Zilon

Alles wieder gut. Habe mittels Telnet FHEMWEB neu eingerichtet und nun geht alles wieder wie gewohnt. Über das UI wollte sich die Definition jedenfalls nicht änder lassen. Mittels Telnet hat das bei mir auch nur durch Löschen des vorherigen Devices und Einfügen eines Neuen funktioniert. Im Nachhinein ist das aber auch egal. Ich bin wieder zur alten Variante zurückgekehrt und nutze nginx als Reverse Proxy .

Dass die Einträge über Version und die entpsrechende VersionsID eindeutig sein sollten, habe ich mir dann auch überlegt, dass ist jedoch für PHPMyAdmin nicht so einfach erkennbar ;-) Im Umkehrschluss wird man natürlich so auch erst einmal davon abgehalten in DB rumzupfuschen.

Hab mir jetzt auch mal die weiteren Befehle für configDB angesehen (hätte ich natürlich früher machen sollen) und kann darüber jetzt die Datenbank ausmisten.

87insane

Hallo zusammen,

hänge mich mal hier dran, da dies mein neues "Projekt" sein wird.
Aktuell hänge ich auf normalen cfg Dateien usw.

Nachdem ich nun viel gelesen habe, frage ich mich zwei Dinge:
1. Gibt es eine Best Practice für die Umstellung? Wenn ja, wo ist diese dokumentiert? Oder kann man das so eben schreiben?
2. Welche Datenbank hängt man am besten dahinter? (Mein FHEM läuft auf einem Raspi 3 ).

Danke!

Astrofreak85

Steht doch mehr oder weniger im angehefteten Post hier...?

Was ich mich eher frage: Was bringts? Im Bezug auf die reine Verlagerung der config in die db wohl zumindest nicht mehr performance?
Zumindest hab ich bei meinen Tests vor einigen Jahren nix gemerkt...

mele

Zitat von: Astrofreak85 am 16 August 2019, 12:09:58
Steht doch mehr oder weniger im angehefteten Post hier...?

Was ich mich eher frage: Was bringts? Im Bezug auf die reine Verlagerung der config in die db wohl zumindest nicht mehr performance?
Zumindest hab ich bei meinen Tests vor einigen Jahren nix gemerkt...
Als tolles Feature auf jeden Fall die Versionierung (bei jedem save config), um im Zweifel alte Configs lesen zu können.

Gesendet von meinem SM-G973F mit Tapatalk

FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

87insane

Habe mir x Dinge durch gelesen... Es gibt x Varianten und ich dachte es gäbe wirklich ne Art best practice guide....

Laut lesen soll es schneller werden. Hinzu gibt es z.B. Befehle die ich mit den normalen Konfigs nicht machen kann. Beispiel wäre zb ein Logging das erst ab 10 Watt mit loggt und darunter nicht. Ist ggf. nicht das beste Beispiel aber ein Grund mehr. Bei normalen LOGs müsste man sonst Regexen oder sonst was.

Ist das von der Performance wirklich nicht spürbar?

LuckyDay

du verwechselst wohl

configDB mit logdb

;D

Otto123

#41
Zitat von: fhem-hm-knecht am 16 August 2019, 13:12:46
du verwechselst wohl

configDB mit logdb

;D
Und für DbLog gab es beim Leipziger Stammtisch jetzt sogar mal einen kleinen Lehrgang :)

Viel Erfolg
Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

87insane

Will beides umstellen. Schrieb ich ja....
Dann google ich mal weiter...

Otto123

#43
Zitat von: 87insane am 16 August 2019, 15:33:51
Will beides umstellen. Schrieb ich ja....
Bin ich blind? Oder wo hast Du das verklausuliert?
Für configDb gibt es hier angepinnt einen Workshop. Direkt über diesen Thread.

Wenn Du das Vortragsscript von Heikos Workshop lesen willst gern, das ist öffentlich im Stammtisch Leipzig Thread. Da gibt es bald noch ein Update.

Meine Meinung: "Beides" sind trotzdem zwei getrennte Paar Schuhe.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

87insane

Hey Otto....
Eingangs schrieb ich das ich konfig und log umstellen wollen würde. Die Vorteile (zumindest was ich las) sind Performance usw. Da ich nun eine woche UL habe, wollte ich das mal machen.

Gibt es auch Nachteile?

Gesendet von meinem LG-H850 mit Tapatalk