Fhem auf Windows mit Mariadb

Begonnen von Geisha2021, 07 März 2023, 07:59:42

Vorheriges Thema - Nächstes Thema

Geisha2021

Ich habe auf Windows 8.1 fhem installiert sowie eine Mariadb. Auf der Mariadb ist ein Backup meiner Daten von der Raspi Installation.
Die Mariadb kann ich über Heidi und localhost erreichen und die Daten von history und current auslesen.
Fhem auf Windows kann ich starten jedoch wenn ich die Verbindung zur Mariadb mit define logdb DbLog ./contrib/dblog/db.conf .*:.* herstellen will bekomme ich die Fehlermeldunginstall_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted. Compilation failed in require at (eval 296) line 3. at ./FHEM/93_DbLog.pm line 2513..

In der Zeile 2513 steht folgendes:
2513.              $dbh = DBI->connect("dbi:$dbconn", $dbuser, $dbpassword, { PrintError => 0,
2514.                                                                         RaiseError => 1,
2515.                                                                         ShowErrorStatement  => 1,
2516.                                                                         AutoInactiveDestroy => 1
2517.                                                                       }


user und password habe ich aber gesetzt.

Warum geht es dann nicht?

Ralli

Zitat
install_driver(mysql) failed: Attempt to reload DBD/mysql.pm aborted.

Wahrscheinlich fehlt das entsprechende Perl-Modul.

https://metacpan.org/dist/DBD-mysql/view/lib/DBD/mysql/INSTALL.pod
Gruß,
Ralli

Proxmox 8.1 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.6.20240316) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

Geisha2021

Danke für den Typ.

Ich habe jedoch Strawberry Perl installiert und da ist unter vendor\lib\DBD mysql.pm vorhanden.

Gibt es noch einen weiteren Typ?

Geisha2021

Ich habe es jetzt geschafft. Alles nochmal von vorne aufgesetzt. So bin ich vorgegangen:

Die Datenbank ist  auf dem Raspi schon über 2,6GB groß und ich möchte sie verkleinern aber trotzdem die alten Daten nicht verlieren und sie ebenso über Plots darstellbar machen.
Dazu habe ich auf meinem Windows 8.1 PC eine MariaDB erstellt und mit Heidi ein Backup der DB auf dem Raspi in die Windows DB eingespielt.

Für die Installation von FHEM bin ich nach der Anleitung "FHEM unter Windows 7/8/8.1 installieren" vorgegangen.
CUL Treiber habe ich nicht installiert da ich FHEM nur zur Anzeige der Plots verwende.
Als Perl Interpreter habe ich die 32-bit version von Strawberry Perl (Windows installer strawberry-perl-5.32.1.1-32bit.msi) unter c:/ installiert.

FHEM habe ich aus der ZIP-Datei fhem-6.2.zip extrahiert in das Verzeichnis c:/ProgramData/fhem.

Fhem dann starten mit dem Befehl: "C:\ProgramData\fhem> perl fhem.pl fhem.cfg"
Nach jedem hochfahren des PC's muss FHEM neu gestartet werden.
Dies kann man sich mit einem kleinen Batch-Programm StartFHEM.bat vereinfachen:

set fhemDir=%~dp0
set fhemDir=%fhemDir:"=%
cd /d "fhemDir%"
start perl fhem.pl fhem.cfg

Man macht eine Verknüpfung auf  StartFHEM.bat und legt sie auf den Desktop. Mit Doppelclick darauf startet man dann FHEM.

Für die Verbindung zur MariaDB muß man die Konfigurationsdatei db.conf bearbeiten (sie liegt im Verzeichnis fhem/contrib/dblog):

%dbconfig= (                                                   
   connection => "mysql:database=fhem2021db;host=localhost;port=3306",       
    user => "xxxxx",                                         
    password => "yyyyyyy",
   # optional enable(1) / disable(0) UTF-8 support (at least V 4.042 is necessary)    
    utf8 => 1   
);

Die MariaDB ist unter c:/Programme installiert. Der Daten Ordner "fhem2021db" liegt unter c:/Programme/MariaDB 10.9/data.#
als user und password müssen die entsprechenden Daten der Datenbank eingetragen werden.

In FHEM muss dann noch mit "define logdb DbLog ./contrib/dblog/db.conf .*:.*" die Datenbank einbinden.

Mit Create SVG plot from DbLog kann man dann seine Plots konfigurieren.
Leider muß man seine Readings eintippen (zum.Bsp.MQTT2_T_und_H_0:Temperature) da es keine Dropdownliste zur Auswahl gibt.
Ich habe mal irgendwo gelesen dass man das konfigurieren könnte doch leider weiß ich nicht mehr wo.

rudolfkoenig

ZitatNach jedem hochfahren des PC's muss FHEM neu gestartet werden.
Dies kann man sich mit einem kleinen Batch-Programm StartFHEM.bat vereinfachen:
Vor Jahren habe ich auch ein Patch integriert, damit man FHEM als Windows service installieren kann.
Wenn man FHEM unter Windows ohne Argumente aufruft, dann gibt es folgende Usage zusaetzlich:
install as windows service: perl fhem.pl configfile -i
uninstall the windows service: perl fhem.pl -u

Keine Ahnung ob es noch funktioniert, ich habe es seit langen nicht mehr getestet.


ZitatLeider muß man seine Readings eintippen (zum.Bsp.MQTT2_T_und_H_0:Temperature) da es keine Dropdownliste zur Auswahl gibt.
Ich habe mal irgendwo gelesen dass man das konfigurieren könnte doch leider weiß ich nicht mehr wo.
Vor kurzem wurde das implementiert, wenn das mit einem aktualisierten FHEM nicht geht, dann wuerde ich in der DbLog Forums-Abteilung nachfragen.

Ralli

https://wiki.fhem.de/wiki/DbLog#Tabellen

Darin steht, was man tun muss, damit es eine Dropdownliste gibt.
Gruß,
Ralli

Proxmox 8.1 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.6.20240316) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa