Umstellung auf MySQL sinnvoll

Begonnen von Otto, 20 Juni 2017, 18:08:43

Vorheriges Thema - Nächstes Thema

chris1284

Nachteil beim meiner Diskstation das dadurch nie die Platten schlafen gegangen sind (was egal ist wenn das NAS eh 24/7 am ackern ist). Man könnte aber auf nen Stick am NAS loggen.
Denkbar wäre sicher auch eine DB auf dem PI die dann beim Backup von FHEM mit der DB auf dem synchronisiert wird (ob das db-technsich mit mysql einfach so möglich ist weiss ich nicht)

Otto

ist zwar etwas Offtopic:

Wie schaue ich mir die logs an, geht der event monitor dann noch?

Ich nutze eigentlich immer sowas wie tail -f /opt/fhem/log/fhem-2017-06.log


Das habe ich mit dem Event Monitor noch nicht hin bekommen, also die fhem.log
Gruss Otto

.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.

docker - homematic

bjoernbo

DB_Starter:
ZitatBin ebenfalls bekennender MySQL-Fan.
Mit Erfahrungen bzgl. Pi kann ich nicht dienen, aber ich betreibe die MariaDB von FHEM getrennt auf dem NAS (Synology). Die Daten werden also remote von den FHEM-Servern an die DB übertragen.
Funktioniert prima mit mehreren MySQL-DB's.

gibt es dazu irgendwo eine Anleitung? Will auch alles auf meiner DS916+ mittels SQL auslagern.

Danke.
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

DS_Starter

#18
Hallo zusammen,

@Otto,

der Eventmonitor geht natürlich noch. Aber mit

tail -f /opt/fhem/log/fhem-2017-06.log

schaust du dir die Meldungen an, die in das zentrale FHEM-Logfile geschrieben werden. Das sind Einträge die der Modulautor explizit
mit entsprechendne Befehlen in das Logfile schreiben lässt.
Im Eventmonitor siehst du die durch die Module generierten Events, die durch Readingwertänderungen hervorgerufen werden. DIESE Events
können dann im Filelog bzw. hier Datenbanklog gespeichert werden.

Den Inhalt der Datenbank (bzw. speziell die Logtabelle "history") kannst du dir mit einem Admintool deiner Wahl (ich nutze phpMyadmin)
oder auch mit dem DbRep-Modul (https://wiki.fhem.de/wiki/DbRep_-_Reporting_und_Management_von_DbLog-Datenbankinhalten) anschauen.

@bjoernbo,

die grundsätzliche Einrichtung für MySQL ist im Wiki hier https://wiki.fhem.de/wiki/DbLog#Beispiel:_Anlegen_und_Nutzung_einer_Mysql-Datenbank
beschrieben.

Speziell für den remoten Betrieb auf Synology noch ein paar Hinweise.

* da der MySQL-Server auf der Syno läuft braucht man nur die Client-Komponenten auf dem FHEM-Rechner zu installieren:

  apt-get update && apt-get install mysql-client libdbd-mysql libdbd-mysql-perl
 
* auf Synology die Pakete MySQL und am besten gleich phpMyadmin zur Verwaltung mit installieren
 
* auf der Syno den Port für MySQL in der Firewall öffnen ... 3306

* am besten gleich in der Systemsteuerung -> Sicherheit -> Konto - automatische Blockierung die IP-Adressen des/der FHEM-Server
  auf die Whitelist setzen damit die nicht mal gesperrt werden und man sich wundert

Wenn man diese Dinge erledigt hat, sollte man sich per phpMyAdmin und dem root-User von MySQL an dem DBMS anmelden können.
Ist man mit der Bedienung von phpMyadmin vertraut kann man die nachfolgenden Befehle zur Anlage der Tabellen, Index und User
in dem SQL-Editor absetzen:

CREATE DATABASE `fhem` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'fhemuser'@'%' IDENTIFIED BY 'fhempassword';
CREATE TABLE `fhem`.`history` (TIMESTAMP TIMESTAMP, DEVICE varchar(64), TYPE varchar(64), EVENT varchar(512), READING varchar(64), VALUE varchar(64), UNIT varchar(32));
CREATE TABLE `fhem`.`current` (TIMESTAMP TIMESTAMP, DEVICE varchar(64), TYPE varchar(64), EVENT varchar(512), READING varchar(64), VALUE varchar(64), UNIT varchar(32));
GRANT SELECT, INSERT, DELETE, UPDATE ON `fhem`.* TO 'fhemuser'@'%';
CREATE INDEX Search_Idx ON `history` (DEVICE, READING, TIMESTAMP);


Den Nutzer, Passwort natürlich anpassen.
Wenn man es von der Kommandoebene erledigen will, geht das so wie im Wiki beschrieben, .... auf der Synology natürlich durchführen!
(Achtung: letztes Jahr haben sich die Feldgrößen so geändert wie ich es oben angegeben habe.)

Ist das erledigt, kann man mal den remoten Zugriff vom FHEM-Rechner aus testen mit:

   mysql -u fhemuser -p -h <Syno-IP>  (anpassen)
   
Das PW wird abgefragt und dann sollte man eingeloggt sein. Kleiner Zugriffstest:

  mysql> select count(*) from fhem.history;
+----------+
| count(*) |
+----------+
|  7230708 |
+----------+
1 row in set (10.59 sec)


Ist natürlich "0" bei einem frischen System.

Zum Schluß muß man noch die db.conf anpassen. Das ist auch im Wiki beschrieben. Im Prinzip nur die IP der Syno, den User und
das PW eintragen. Evtl. (seit heute) noch den UTF8-Parameter setzen. Die db.conf ist auch in der Commandref bzw. im contrib/dblog-Verzeichnis
beschrieben.

Jetzt ist alles vorbereitet und man kann mit dem Define des DbLog-Devices fortfahren. Dabei auch mal die Beschreibung bzgl.
Current-Tabelle und des synchronen/asynchronen Modus beachten.

So, ich hoffe ich habe nichts vergessen und nirgendwo einen Fehler reingebaut ....

Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

FranzB94

Hi DS_Starter!

Danke für die ausführliche Anleitung! Da will ich mich doch gleich mal an die Einrichtung wagen.


Gruß Franz

Tedious

Stell um, wenn möglich. Mal davon abgesehen dass die Performance selbst auf einer SD-Karte (was ich nicht wirklich empfehlen würde...) um Welten besser ist ist ein Flatfile für Datenlogging eben nur begrenzt sinnvoll - wenn man eben nicht nur loggen will, sondern auch analysieren. Dafür gibt's eben Datenbanken ;)
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

bjoernbo

.... auf der SYNO soweit alles angelegt, DB, Tabellen USER etc....

auf dem Fhem-Pi bekomme ich jedoch die Meldung
ZitatW: Failed to fetch http://packages.dotdeb.org/dists/wheezy/Release  Unable to find expected entry 'all/binary-armhf/Packages' in Release file (Wrong sources.list entry or malformed file)

W: Failed to fetch http://packages.dotdeb.org/dists/wheezy-php55/Release  Unable to find expected entry 'all/binary-armhf/Packages' in Release file (Wrong sources.list entry or malformed file)

E: Some index files failed to download. They have been ignored, or old ones used instead.

jem. der Anwesenden einen Tipp für mich?

DANKE.
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

Amenophis86

Wann bekommst du denn die Meldung? Beim installieren? Funktioniert es trotzdem? Was sagte Google Suche (Nein, der Link führt nicht auf Google ;) )
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

bjoernbo

... sollte ich natürlich auch erwähnen, dass die Medlung nach dem Ausführen von ....

Zitatapt-get update && apt-get install mysql-client libdbd-mysql libdbd-mysql-perl
erscheint. Wobei im Vorfeld einige Dateien heruntergeladen werden bevor der Abbruch kommt. Herrn Google und Frau Bing habe ich schon befragt, allerdings lande ich immer auf Seiten die nichts mit der Meldung zu tun haben  :-\
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

Amenophis86

Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

bjoernbo

jeppp.....
dann kann ich eine ReleaseDatei herunterladen die folgenden Inhalt hat:

ZitatOrigin: packages.dotdeb.org
Label: packages.dotdeb.org
Suite: wheezy
Codename: wheezy
Date: Wed, 7 Jun 2017 02:02:49 UTC
Architectures: amd64 i386
Components: all
Description: Generated by aptly
MD5Sum:
6e0cd3f7f30dc503380fc8112263f7a0   483619 all/binary-amd64/Packages
5d6fc65ec5cf0a3fa4d746f79412268c    65275 all/binary-amd64/Packages.bz2
c506b2e9bb267d97e9a83c5574680827    73778 all/binary-amd64/Packages.gz
5a33ab9767a9c950a8c75170a21bc2ee      106 all/binary-amd64/Release
0dfed760ebdd4247d4889ab9f0eb04bb   483317 all/binary-i386/Packages
f46d9ea2b656486b0ae5344073304416    65294 all/binary-i386/Packages.bz2
8235387da9c36b0282e3646ee36e845b    73816 all/binary-i386/Packages.gz
1a8b0a35eafaf542773cd150bee045cf      105 all/binary-i386/Release
919fb8c421c0d3c395e36a59f2710a90      107 all/source/Release
d736ac086c6d39efdcec4aa10ff85ebc    77796 all/source/Sources
af63a1e158345b9446fb04cb0ae6f325    15287 all/source/Sources.bz2
5c3abb4703bf36f8a3a101ec6183bc4b    15349 all/source/Sources.gz
SHA1:
2add77f0a3851dada865824235b42d994b37682a   483619 all/binary-amd64/Packages
7d0471c43ff3e8844df9280dcd772cfc86bce4c6    65275 all/binary-amd64/Packages.bz2
64889f9b2df3bd1360ba15d9236fdbe7dd9c04a0    73778 all/binary-amd64/Packages.gz
f1de2f4a9d2475115b591b69dc3a874199f40057      106 all/binary-amd64/Release
4fb83e7f983ab0fff8c2bb2319e8c7d1c5dd66b0   483317 all/binary-i386/Packages
bb4a55c334df4084ebace011401ad8a9d364e840    65294 all/binary-i386/Packages.bz2
f250e63e6941f3ac75b09f70f7486fb228efc8aa    73816 all/binary-i386/Packages.gz
369d4c30b3af7811ca9dcdf87c44e53830dd8227      105 all/binary-i386/Release
496304a1f24560fdd4b7131d948abab5e5a490c0      107 all/source/Release
c8ac1d8a443bab63eba4f40c03cb68860bb59a8c    77796 all/source/Sources
7b6d4915f199dbe8b1b34510e0e71b956d260088    15287 all/source/Sources.bz2
eb0487fda96dba662888a34bf682cf8036ea14a1    15349 all/source/Sources.gz
SHA256:
84e6a660a1c20af5816ff95a77f4575156af2469fbd2bd0cd45d8a8c21742608   483619 all/binary-amd64/Packages
d97ffbd8cc720b016071bbce4d800db11110000b8f16d86988416fb44a5f6f2e    65275 all/binary-amd64/Packages.bz2
becc450350a38f3d6543e4c8a3e52b5150797e61b5228b6f1088b381f2e96068    73778 all/binary-amd64/Packages.gz
e9a30df18ae151188b4ede1b886e371a7be0d90ab3a7d5e5fdbb3a0707877e7b      106 all/binary-amd64/Release
727f834e8a226994a85c9c3311d936becab8b8e8293977ed4cc748fe02569b06   483317 all/binary-i386/Packages
5efc69071becb7b90258f0828ed1c462d115f38200998c3fb84e79fa84cf14ac    65294 all/binary-i386/Packages.bz2
7a612197e1b5b0ff7a2b4dd77b4c74f384a6e41b7e6a9311d9c150bcabf61034    73816 all/binary-i386/Packages.gz
d56423391b409ab0dcc71aa6cb8c7db3e96ca9a1ce54aa186fcd7b1faf950fe3      105 all/binary-i386/Release
c4973353d91c403ded42280cc371ded33bcd79c447a3cf516e8a06d9b1be6507      107 all/source/Release
58a100bf26a3bda7a034a455d75cddb2d2ae8dd0fb2b95654f0ba11f9704ac66    77796 all/source/Sources
faf5c5af2d0ccbead7e09787abb4f4d35caad10e53b887d4396ee1db35ea2044    15287 all/source/Sources.bz2
6e2d26a0a73a313c858c37fcf0d0d2659d71fdb8cabfcb4cd47251a16d7d67e0    15349 all/source/Sources.gz
SHA512:
f45aa0fa9c1998cd35047a09ef74421e456ecdcc8c80d8ba11ed418480700233a8ac8de282e9da311185757c71c7e46a47b870b57c066b1e406ad5f1fe5d1e16   483619 all/binary-amd64/Packages
66dc05092635eece3f5edfb48ff4c13f594a912e2ba27357c4ccccc365b3b313ea92673fbfd726efa6bbc34d16934ca0d617b18e86548092a165aa4f81fe89d1    65275 all/binary-amd64/Packages.bz2
687f22627900d6e37d90f410298969fa1559965a6c2da748c09f1abcd1aaa207f529aece8434925172a7e6c892aa8f3e4c9f3a021eace4fff4c949ee03e12fba    73778 all/binary-amd64/Packages.gz
15052abc85f518ea718beeb1522c0e5038177ad1eb39e0e554252d43f799eb09da9bc16e8ee88e5dcdf560b628cf218cd7a004d94e569dbd4bfcdeae905b8dc5      106 all/binary-amd64/Release
b6fa440162617d2bda8444de993f7bdb6a4a688fcd39306104cd870979b6b54ed006341119ee1f9d674d4f5873c96fb76945ef8036e525b002368b4387f8677d   483317 all/binary-i386/Packages
6f7165b08cc38ccc5d4a13b7fe2f404e0c1833c24bc1c567d13343e5bc28aa15d9654a84c0ee36e11fe53235b66220ef6d15553124fa698aff4977aa5b6d4092    65294 all/binary-i386/Packages.bz2
9f11228181cf8ce29523ee63333e1c902d02c72deca1ab14113e87abab67882502c33bd3826d092b1bd1dbcd653ddd2e1dc340c16e703b2cb8c369363c292f81    73816 all/binary-i386/Packages.gz
78833cb78101c8c1ce59ac6de4ae49fcbd257b023500b2ec683021f5259c49fde200414011437e6d4d180a9e0f878633e2e278a069444f1f493c86aebb99b220      105 all/binary-i386/Release
7d680d7327510ef5c91b1c31fb0323df329aecd2785598e9f30db7871cd4feeccaea4f84befc2cad8d5ae150216ef0b7ccdbcccdec2a8868db4cdacb54498fd3      107 all/source/Release
d0a4b3b47cba92e3753eb7282cf7e18105c10623bf32c4a14c9329daaa60c5ac028d9d86570748ebcf455603c993b707fae9227620a18732e6e6aba74ac89969    77796 all/source/Sources
f90a07537344ce61040f91b944b25c6c610c2153dbfd76a6284220f8da4dc23380af3edb4d26fae093f77cafec2730b0abc020cfb9c679a2e2fdd128e6d47024    15287 all/source/Sources.bz2
43421929366c1e5679912bda7302858122c9db1a1f412b54a89fc02160a9f817048affc216ee12b096eda0f9af9a8b2abc753838279b16e5c9316f49946d1819    15349 all/source/Sources.gz
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

Hollo

Zitat von: bjoernbo am 22 Juni 2017, 10:10:33
.... auf dem Fhem-Pi bekomme ich jedoch die Meldung
jem. der Anwesenden einen Tipp für mich?

DANKE.
Was nutzt Du denn für eine Distri auf dem Pi?

P.S.:
wheezy ist ja mittlerweile quasi uroldstable und bei einer frischen Neuinstallation von stretch gibt es kein MySQL, da ist dann MariaDB.
Beim Upgrade von wheezy/jessie soll die Umstellung automatisch gehen.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

CoolTux

fast

http://www.linux-magazin.de/NEWS/Debian-9-ersetzt-MySQL-und-IPtables

die Ersetzung erfolgt von Jessie auf Stretch. In Jessie ist noch mysql mit dabei, man kann/sollte aber auch in Jessie MariaDB nehmen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

bjoernbo

egal..... da ich das Tool WEBMIN auf dem Pi installiert habe, habe ich das fehlende SQL Paket darüber installiert!
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

Hollo

Zitat von: CoolTux am 22 Juni 2017, 12:49:58
...
die Ersetzung erfolgt von Jessie auf Stretch. In Jessie ist noch mysql mit dabei, man kann/sollte aber auch in Jessie MariaDB nehmen.
Genau das habe ich ja auch geschrieben.   ;D
Da er laut Angabe noch wheezy hat, hatte ich Upgrade von wheezy/jessie (auf das erwähnte stretch) geschrieben.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"