dbrep Module nach restart von fhem immer auf disconnected

Begonnen von jailbreaker07, 17 April 2019, 07:10:25

Vorheriges Thema - Nächstes Thema

DS_Starter

Sorry, du musst natürlich "fhemtest" mit dem Namen deiner Datenbank ersetzen. Sollte bei dir "fhem" sein.
Proxmox+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

jailbreaker07

Nun ist der error:

DBD::mysql::st execute failed: Can't DROP 'Report_Idx'; check that column/key exists at ./FHEM/93_DbRep.pm line 5673.



Gesendet von iPhone mit Tapatalk

DS_Starter

Dann hattest du noch keinen Report_Idx angelegt. Einfach fortfahren mit:

set ... sqlCmd ALTER TABLE `fhem`.`history` ADD INDEX `Report_Idx` (TIMESTAMP,READING) USING BTREE;
Proxmox+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

jailbreaker07

Der erste Teil ging jetzt... beim zweiten Teil:

sqlCmd ALTER TABLE ADD INDEX `Report_Idx` (TIMESTAMP,READING) USING BTREE
Kommt der error...
DBD::mysql::st execute failed: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ADD INDEX `Report_Idx` (TIMESTAMP,READING) USING BTREE' at line 1 at ./FHEM/93_DbRep.pm line 5673.

DS_Starter

Da fehlt die Tabellenangabe. Schreibfehler:

sqlCmd ALTER TABLE `fhem`.`history` ADD INDEX `Report_Idx` (TIMESTAMP,READING) USING BTREE
Proxmox+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

jailbreaker07

Hmm, jetzt kommt der error:

DBD::mysql::st execute failed: Duplicate key name 'Report_Idx' at ./FHEM/93_DbRep.pm line 5673.

Muss aber gleich Schluss machen für heute...sorry

DS_Starter

Na dann als letzten Versuch für heute in dieser Reihenfolge nacheinander:


set ... sqlCmd ALTER TABLE `fhemtest`.`history` DROP INDEX `Report_Idx`;
set ... sqlCmd ALTER TABLE `fhemtest`.`history` ADD INDEX `Report_Idx` (TIMESTAMP,READING) USING BTREE;


Wirst sehen, alle guten Dinge sind 3  :)
Proxmox+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

jailbreaker07

Hey,
Jup alles gute ist drei :-)

Jetzt gehts...

get ... minTimestamp

Ging sehr schnell.... das heisst jetzt? Jetzt erstmal Nachtruhe :-)

Gruß

Thorsten

DS_Starter

Jo, schlaf gut  :D

Das heißt ich muss die Empfehlung für die Indexerstellung für DbRep anpassen. Und du kannst morgen dein DOIF entflechten.  ;)

LG,
Heiko
Proxmox+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

jailbreaker07

Hallo,

ich habe meine doif´s jetzt wieder umgestellt.... die dbrep´s gehen nacht dem fhem neustart nun sofort auf connected. Top :-) Muss ich das irgendwann wiederholen ? Oder inwieweit und was verbessert du noch?

vielen dank nochmal


Gruß

Thorsten

DS_Starter

Hallo Thorsten,

du bist quasi fertig, brauchst nichts wiederholen. Der Index ist nun passend erstellt.

ZitatOder inwieweit und was verbessert du noch?
Ich werde im nächsten DbRep-Release die Empfehlung zum Index in der Commandref anpassen. Der check in DbLog bekommt diese Änderung auch.

Außerdem werde ich im DbRep eine Set-Funktion einbauen, mit sich der Nutzer alle benötigten Indexe per Knopfdruck in den Tabellen erzeugen oder erneuern kann. Das ist einfacher für den User und macht es mir auch leichter eventuelle Änderungen auszurollen.
Dann reicht der Hinweis zur Ausführung von "set ... (re)createIndex ..." und der neue/geänderte Index ist da.
Das kommuniziere ich zu gegebenener Zeit im DbRep-Thread.

LG und schöne Ostern,
Heiko

Proxmox+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