Mein Problem:
Das Device xyz wird von 'device_xyz' in 'device.xyz' umbenannt (jo - da ist ein Punkt im Device-Namen).
Wie mache ich dem DBLog-Modul klar dass die alten Logeinträge umzuändern sind?
Ist diese Funktion im DBLog enthalten oder muss ich da selbst via SQL Hand anlegen?
Hast du die Funktion in der Doku von DBLog gefunden?
Wenn nicht, wird es nicht gehen und man kann es dann auf SQL Ebene erledigen.
Ich knöpfe hier mal an,
würde auch gerne umbenannte devices im dblog umbenennen.
dass das nicht auf FHEM heraus geht ist klar, aber hat zufällig jemand nen Link zu ner Anleitung?
sollte für nicht-SQL Profis verständlich sein. :-)
danke & Grüße
Frank
Falls Du MySQL verwendest:
mysql -u <username> -p
use <database>;
UPDATE history SET DEVICE = '<new_device_name>' WHERE DEVICE = '<old_device_name>';
UPDATE current SET DEVICE = '<new_device_name>' WHERE DEVICE = '<old_device_name>';
quit
Ohne Gewähr, auf eigene Gefahr.
Zitat von: dev0 am 30 November 2016, 12:06:39
Falls Du MySQL verwendest:
....
Ohne Gewähr, auf eigene Gefahr.
danke! schaut nach Konsolen Befehle aus?
also einfach telnetten und los gehts?
werd ich testen, melde mich wieder! :-)
/Frank
Du kannst es auch direkt in fhem durchführen. Ich würde allerdings vorher ein Backup der Datenbank erstellen.
set <dbLog> userCommand UPDATE history SET DEVICE = '<new_device_name>' WHERE DEVICE = '<old_device_name>';
set <dbLog> userCommand UPDATE current SET DEVICE = '<new_device_name>' WHERE DEVICE = '<old_device_name>';
Danke Leonie,
funktioniert einwandfrei!
:-)
Obacht !
Bei mir wurden die Daten dadurch das ich das device umbenannt habe auch alle Zeitstempel geändert .....also sind die Daten Quasi unbrauchbar .....
Hallo zusammen,
zur Info,. eine Funktion dafür gibt es im DbRep die alles nötige beachtet.
set ... deviceRename (readingRename)
siehe auch den Teil für RenameAgent im DbRep.
Grüße
Heiko