Umstellung Filelog auf Dblog

Begonnen von dlehmann69, 18 März 2014, 07:43:08

Vorheriges Thema - Nächstes Thema

dlehmann69

Hallo,

ich bin gerade dabei, mein FHEM auf Dblog umzustellen. Die Datenbank läuft bereits und logt zurzeit parallel zu den Filelog mit. Jetzt möchte ich die Plots von Filelog auf Dblog umstellen. Ich habe bereits hier im Forum und auch im Wiki allerlei dazu gelesen. Aber den richtigen Durchblick habe ich noch nicht gewonnen. Entweder bin ich blind oder habe Tomaten auf den Augen, aber eine kurze Anleitung zur Umstellung habe ich in beiden Quellen nicht gefunden.

Was muss ich alles wo umstellen? Ich habe gelesen, das die gplot Files angepasst werden müssen. Und dann muss ich wohl auch das define entsprechend anpassen.

Danke schon mal für eure Tipps.

Dirk
FHEM 6.0 Development auf Ubuntu 20.04 GIGABYTE GB-BACE mit Intel(R) Celeron(R) CPU N3150
CUL 3.4 FW 1.53 868 MHz für FS20, FHT
CUL 3.4 FW 1.66 868 MHz für HM
configDB; DbLog
FHT80, FS20, HMS, EM1000WZ, FHTTF, HM-LC-Sw1-DR; Lightify; HM-CC-RT-DN; HM-TC-IT-WM-W-EU; HM-SEC-SCO

betateilchen

In den SVG Definitionen musst Du FileLog durch DbLog ersetzen und :CURRENT durch :HISTORY

Im Normalfall war es das dann schon.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JoeALLb

Willst du altdaten aus den Filelogs  in die DB importieren oder werden diese nicht mehr benötigt?

Gesendet von meinem Xperia Pro mit Tapatalk

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

AHA1805

Ist eigentlich der Regex in der Länge von DBLog begrenzt? 
Hintergrund,  das nur das geloggt wird was man auch in FileLog bisher loggt.
Alle FileLog Regex zu einem zusammen fassen und in Dblog verwenden.   

Ich würde nämlich gerne die Größe der DB so klein wie möglich halten :-).

SG Hannes

Gesendet von Unterwegs mit Tapatalk 4

AHA 1805 RIP 29.08.2016 --> RUHE IN FRIEDEN
In Gedanken Bei dir HANNES
Dein Bruder Gerd (Inputsammler) Vermisst dich Hannes (AHA1805)

dlehmann69

die Altdaten will erst einmal noch nicht importieren.
FHEM 6.0 Development auf Ubuntu 20.04 GIGABYTE GB-BACE mit Intel(R) Celeron(R) CPU N3150
CUL 3.4 FW 1.53 868 MHz für FS20, FHT
CUL 3.4 FW 1.66 868 MHz für HM
configDB; DbLog
FHT80, FS20, HMS, EM1000WZ, FHTTF, HM-LC-Sw1-DR; Lightify; HM-CC-RT-DN; HM-TC-IT-WM-W-EU; HM-SEC-SCO

chris1284

Zitat von: betateilchen am 18 März 2014, 09:22:10
In den SVG Definitionen musst Du FileLog durch DbLog ersetzen und :CURRENT durch :HISTORY

weißt du ob :CURRENT und :HISTORY im SVG-Modul mit dem zu benutzendem Tabellennamen gleichbedeutend ist?

betateilchen

es ist mehr oder weniger egal, ob Du CURRENT oder HISTORY angibst, weil immer aus HISTORY gelesen wird. Der einzige Unterschied ist, dass Du bei CURRENT eine Hinweismeldung bekommst, dass Du das bitte auf HISTORY ändern sollst, weil DbLog das CURRENT für Plots nicht mehr unterstützt. Dazu gibts schon seitenlange Diskussionen hier im Forum.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

jschmitt

Hallo allerseits,

@chris1284
Zitatweißt du ob :CURRENT und :HISTORY im SVG-Modul mit dem zu benutzendem Tabellennamen gleichbedeutend ist?

darüber bin ich aber auch schwer gestolpert, aber betateilchen bestätigt, daß nur die Tabelle HISTORY ausgelesen wird...
Das kann man auch im Modul 93_DbLog.pm nachvollziehen.

Wie aber kann ich ein SVG aus DbLog erstellen, wenn die Daten NICHT in HISTORY stehen?

Ich will (und kann auch) Daten erfassen per Script, z.B. Börsenkurse, Heizungsdaten Viessmann in eine MySQL-Datenbank.

Allerdings will ich diese Daten nicht in die Tabelle fhem HISTORY speichern, da mir das für spätere Auswertungen keine optimale
Struktur bietet. Ich täte die Daten gerne (getrennt von fhem- Daten) gerne in einer Tabelle wie "boersenkurse" oder "heizung"
speichern und in einem Grafen anzeigen wollen. Das gibt 93_DbLog.pm wohl aber nicht her. 

Ist eine solche Erweiterung angedacht, DbLog aus verschiedenen (von "auswärts befüllten" Tabellen) bedienen zu lassen und die
dann auch als SVG zu plotten? Es geht ja nur um die Abfrage der Daten.

Ich könnte natürlich Börsenkurse bzw. Heizungsdaten als FILELOG aufzeichnen und darstellen, aber das will ich nicht: es soll per MySQL gehen.
Auch könnte ich die 93_DbLog.pm klonen in z.B. 93_myDbLog_boerse.pm und in dieser die Abfrage auf Tabelle boerse umcodieren...
Ebenso für Heizung eine 93_myDbLog_heizung.pm.

Sowas sollte doch gehen, obgleich es Aufwand ist und ich die Mehbelastung des Rechner in diesem Falle nicht einschätzen kann.

Hat wer ein ähnliches Szenario?


Viele Grüße,

Johannes
FHEM auf (QNAP TS-219P II, alt) HP T610 Thin Client : 1 x HM-CFG-LAN + 6 x HM-LC-Sw1PBU-FM (Rolladen) + 12 x  HM-Sec-SD (Rauchmelder) + 2 x HM-SWI-3-FM (diverses)

chris1284

so etwas in die richtung wollte ich auch schon einmal haben, eine angepasste dblog habe ich hier schon im forum hochgeladen da ich dblog mit 2 geräten benutze und jedes in seine eigen history/current schreibt. Ich habe 4 tabllen, eine db. das mit der unterschiedlichen struktur ist jedoch nicht dabei.

http://forum.fhem.de/index.php/topic,21441.msg150429.html#msg150429

leider findet Tobias die idee nicht gut. jedoch wäre er bereit wenn jemadn einen patch liefert zumindest die "host"-Spalte zu implementieren (siehe betateilchens vorschlag in dem fred aus dem link)


Tobias

Zitat von: betateilchen am 19 März 2014, 11:00:09
es ist mehr oder weniger egal, ob Du CURRENT oder HISTORY angibst, weil immer aus HISTORY gelesen wird. Der einzige Unterschied ist, dass Du bei CURRENT eine Hinweismeldung bekommst, dass Du das bitte auf HISTORY ändern sollst, weil DbLog das CURRENT für Plots nicht mehr unterstützt. Dazu gibts schon seitenlange Diskussionen hier im Forum.
Fast richtig.. und doch falsch.
Natürlich liest DbLog auch aus Current, nur eben für SVG´s macht das keinen Sinn.
Mittels der Get Methode kann man auch in anderen Modulen Daten aus DbLog lesen. Dafür gibt es seit neuestem der Outputparameter "Array" Und DANN wird sehr wohl unterschieden ob man aus Current oder History lesen möchte. (siehe 98_Text2Speech.pm)
Und ja, CURRENT/HISTORY sind nur Synonyme, nicht(!) die Angabe des Names der zu lesenden Tabelle

Und um OT zu bleiben: für gplot-Templates sollte man noch den Parameter Plotfunction benutzen sowie die dazugehörigen <SPECx> Direktiven im gplot einbauen
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

betateilchen

Zitat von: Tobias am 09 April 2014, 07:52:56
Fast richtig.. und doch falsch.
Natürlich liest DbLog auch aus Current, nur eben für SVG´s macht das keinen Sinn.

ich weiß nicht, was an meiner Antwort falsch war, denn die zugrundeliegende Frage bezog sich eindeutig auf SVG:

Zitat von: chris1284 am 19 März 2014, 06:38:25
weißt du ob :CURRENT und :HISTORY im SVG-Modul mit dem zu benutzendem Tabellennamen gleichbedeutend ist?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Tobias

Stimmt. In dem Kontext hattest du natürlich Recht!

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

jschmitt

@chris1284
Danke für den Link. Das hatte ich nicht gefunden. Genau DAS habe ich gesucht.
Ich probiere jetzt schon seit Stunden, ohne Erfolg. Aber ich taste mich heran...
Ein umbenennen in 93_myDbLog.pm war erfolglos (warum auch immer).
Mit 93_DbLog2.pm bin ich einenkleinen Schritt weiter, bekomme aber noch nix
angezeigt. Vielleicht sollte ich mal die Tabelle füllen...

Trotz alledem: Warum wird sowas nicht eingebaut? Ich will doch nur zusätzliche Daten
einbringen und diese anzeigen. Da wäre es schon nett, das in extra Tabellen zu verteilen
(kann das sqlite nicht?).
Mir ist es wichtig, FHEM-Daten von "externen" Daten wie z.B.
Börsenkurse, Zählerstände Gas, Wasser, Heizung zu trennen, da die Letztgenannten
zur Langzeitarchivierung herhalten müssen und eigentlich nichts mit fhem zu tn haben.

Nun gut, obwohl ich noch keine Werte in meinem Plot sehe, den Lösungsansatz von chris1284
werde ich verfolgen


Viele Grüße,

Johannes
FHEM auf (QNAP TS-219P II, alt) HP T610 Thin Client : 1 x HM-CFG-LAN + 6 x HM-LC-Sw1PBU-FM (Rolladen) + 12 x  HM-Sec-SD (Rauchmelder) + 2 x HM-SWI-3-FM (diverses)

Tobias

Würde es helfen wenn ich die Methode "DbLog_Push" um ein Attribut erweitere in dem man die Zieltabelle angeben kann??
Die Zieltabelle muss natürlich diesselbe Datenstruktur wie Current/History haben....
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

chris1284

#14
@jschmitt: ja, du musst die datei ins fhem verzeichnis kopieren und das log mit "define <name> dblog2 configurationfile regexp (history:<Name>) (current:<Name>)" definieren wenn du meine version nutzt. diese war eigentlich gedacht tobias zu zeigen wie ich es mir wünschen würde und wie man es evtl einfach umsetzen kann ums evtl. in die echte dblog zu übernehmen.

beispiel: define mydblog DbLog2 /opt/fhem/FHEM/db.conf wetter.*:.* current:currentWetter history:historyWetter änderungen in dblog fließen in dblog2 nicht umbedingt ein ;-) sprich es wird nicht umbeding supported.


@tobias:wenn ich wüsste was DbLog_Push macht.... ich habe nur feststellen müssen das svg mit meiner version nicht funktioniert, bzw nicht sauber. die datenstruktur ist die selbe wie im dblog