Seite 1 von 1
Cache
Verfasst: 13. Mär 2021 14:41
von AndreM77
Hi,
mich nervt ein Verhalten und zwar werden irgendwo Konfigurationsdaten irgendwo gespeichert. Selbst wenn ich tmp und Cache Ordner löschen und OH restarte, sind z.B.
- CalDav Kalenderdefinitionen noch vorhanden
- hat das Volumen Bindung immer noch ein altes Passwort zusätzlich aus der Thing Definition geladen, wobei im Thing schon wieder ein anderes Passwort steht
Selbst wenn ich via Entfernen der Textdateien die Dinge deinstallieren und wieder installiere.
Problem tritt inOH2.5 und OH3 gleichermaßen auf.
Wo stehen die Sachen?
Danke & Grüße
André
Re: Cache
Verfasst: 13. Mär 2021 23:40
von udo1toni
Das hat ja nichts mit dem Cache zu tun. Vielmehr handelt es sich um ganz gewöhnliche Konfigurationen. Es passiert schon mal, dass dabei etwas hängen bleibt. Wenn Du eh komplett von vorn beginnen willst, kannst Du die alte Konfiguration los werden, indem Du apt purge openhab ausführst, dabei wird nicht nur das Programm deinstalliert, sondern auch jegliche Konfiguration beseitigt. Der Rechner vehält sich dann so, als wäre openHAB nie installiert oder gar konfiguriert gewesen.
Geht es hingegen nur um einzelne Dinge, die hartnäckig rumliegen, so kannst Du oftmals über die karaf Konsole die unerwünschten Teile finden und löschen. Aalternativ sollte das auch über die REST API gehen. In ganz schlimmen Fällen kannst Du auch die JSON Datenbank in einem Texteditor öffnen, allerdings solltest Du dann schon genau wissen, was Du tust, das ist wie eine Operation am offenen Herzen.
Re: Cache
Verfasst: 15. Mär 2021 17:12
von AndreM77
Danke für Deine Rückmeldung.
Ein apt purge kann ja nicht die Lösung sein, ich kann ja nicht jedes Mal alles weg werfen.
Wie geht das über die karaf Konsole am Beispiel des Velux Bindings, welches auf Teufel komm raus, ein altes PWD (Typo) aus der Thing Datei nicht vergessen will... o(
Danke!
Grüße
André
Re: Cache
Verfasst: 16. Mär 2021 05:19
von udo1toni
Vielleicht fangen wir dann doch einen Schritt vorher an: Wie (und wo) hast Du die Things angelegt?
Re: Cache
Verfasst: 16. Mär 2021 07:52
von AndreM77
Things definiere ich per things Datei und hatte dort einen Typo im Passwort. Jetzt habe ich im Reiter Code des Things 2 Angaben für Passwort stehen.
Re: Cache
Verfasst: 16. Mär 2021 08:08
von udo1toni
Also gewöhnlich sollte es ausreichen, das Thing aus der *.things Datei zu entfernen (z.B. durch auskommentieren), openHAB einmal neu zu starten und anschließend das Thing wieder anzulegen. Ist das nicht der Fall, so muss man das genauer anschauen.
Wie sieht das Thing in der Code-Ansicht aus? Was passiert, wenn Du das Thing aus der Datei entfernst, wird es weiterhin angezeigt, oder taucht es erst später (beim Neu anlegen) wieder auf, dann aber mit dem alten (fehlerhaften) Eintrag?
Re: Cache
Verfasst: 16. Mär 2021 08:21
von AndreM77
ja, daher sprach ich von Cache.
Wenn ich das Thing entferne und dann später wieder hinzufüge, ist es mit den doppelten Einträgen wieder da.
Thing Datei:
Bridge velux:klf200:home "Velux KLF200 Hub" @ "HomeIO" [ ipAddress="192.168.x.x", Password="pwd1"] {...
"Code Tab" in OH3
UID: velux:klf200:home
label: Velux KLF200 Hub
thingTypeUID: velux:klf200
configuration:
tcpPort: 51200
retries: 5
protocol: slip
password: pwd2
isBulkRetrievalEnabled: true
refreshMsecs: 10000
ipAddress: 192.168.x.x
isSequentialEnforced: false
Password: pwd1
timeoutMsecs: 2000
isProtocolTraceEnabled: false
location: HomeIO
Re: Cache
Verfasst: 16. Mär 2021 20:21
von udo1toni
Ja, aber die Konfiguration wird nicht gecached.
Wenn Du das Thing aus der *.things Datei entfernt hast, ist das Thing auch über die Main U nicht mehr sichtbar? Kannst Du mal über die REST API (Main UI -> Administration -> Entwickler Tools -> API Explorer -> Things -> Get /things/{thingUID} versuchen, ob Du das Thing dorst sehen kannst?
Try it out (rechts oben) -> thingUID: velux:klf200:home -> Execute
Wenn Du dort das Thing findest, sollte es möglich sein, das Thing mittels Delete /things/{thingUID} das Thing zu löschen. (das geht natürlich nur, wenn das Thing nicht mehr als Textkonfiguration vorliegt).
So am Rande: Ich kann verstehen, dass die Thing Konfiguration über Textdateien angenehm erscheint. Das Problem ist aber, dass die Konfiguration indirekt geschieht. openHAB liest bei Änderungen an der Textdatei die Konfiguration neu in die interne Datenbank ein. Dieses Konstrukt ist nicht sehr stabil. Die Entwickler von openHAB empfehlen diesen Weg ausdrücklich nicht.
Falls Der Zugriff auf die Things Konfiguration über die REST API nicht funktioniert, kannst Du immer noch versuchen, die Daten manuell aus der json Datei zu entfernen. Die Daten sollten in der Datei /var/lib/openhab/jsondb/org.openhab.core.thing.Thing.json liegen. Dort musst Du allerdings höllisch aufpassen (es gibt zur Sicherheit auch Backups der Datei, aber Du willst ja die reparierte Version haben). Du musst für die Operation openHAB zunächst herunterfahren. Anschließend kannst Du den betreffenden Block aus der Datei entfernen (am besten geht das mit einem Editor, der json gut unterstützt.
Re: Cache
Verfasst: 16. Mär 2021 21:12
von AndreM77
Hi,
ja ist schon spannend - entferne ich das Thing über die thing Datei, ist es weg (auch über die REST API). Lade ich es wieder, hab ich die altbekannte Konstellation mit beiden Passwörtern wieder da.
Hab auch im Rahmen des "Semantic Models" auch schon gemerkt, dass die Anlage über das UI (anstatt per txt Datei) ein paar Vorteile mit sich bringt. Vielleicht steige ich im Rahmen von OH3 jetzt auch auf UI um. Hab das damals gemacht, weil so der Transport von einem OH zum anderen deutlich einfacher war. War halt ein einfacher Weg zum Backup. Hab jetzt auf Docker umgestellt und hab dort mal stumpf probiert, die Datenordner zu kopieren. Damit lassen sich auch gut alle Daten & Konfigurationen sichern. Vielleicht ist die Zeit der textbasierten Konfig wirklich gekommen. Zumal, wie oftmals gelesen, es ja auch nicht der zukunftsweg sei.
Hab vielen Dank!
Jetzt brauch ich nur noch meinen Z-Wave Stick im OH3 Docker Container, dann könnte ich alles auf OH3 umziehen o)
Grüße
André