Hallo,
ich frage mit JsonMod die Statistik meiner Pi-Hole Instanz ab. Das funktioniert auch prima, nur nach einem Restart des FHEM-Servers geht das gespeicherte Secret offenbar verloren.
Die Abfrage funktioniert erst wieder, wenn ich das Secret über den entsprechenden set-Befehl neu eingebe.
Gibt es bei der Wahl des Secret-Identifiers oder der Secret-Länge irgendetwas zu beachten?
Tobias
Bisschen wenig Information, um Dir wirklich helfen zu können.
Grundsätzlich ist es JsonMod völlig wurscht, wie das secret aussieht, das wird nichtmal im device selbst gespeichert.
Dein Fehlerbild klingt mir eher danach, dass das secret erst gar nicht gespeichert werden kann (weil z.B. ein Rechteproblem besteht und die zugehörige Datei nicht beschrieben werden darf).
In diesem Fall steht das secret nur zur Laufzeit von FHEM zur Verfügung, nicht aber nach einem Neustart - das würde genau zu Deiner Beschreibung passen.
Setze doch mal in Deinem JsonMod device verbose 5 und setze dann das secret.
Danach kontrolliere die Logausgabe und setze das verbose auf jeden Fall wieder zurück auf maximal 3.
Außerdem ist hier das falsche Unterforum für Fragen zu JsonMod.
https://forum.fhem.de/index.php?topic=13092.0
Bitte verschiebe den Thread mit dem Button unten links in den richtigen Bereich, danke.
Zitat von: betateilchen am 20 Januar 2024, 10:41:57Grundsätzlich ist es JsonMod völlig wurscht, wie das secret aussieht, das wird nichtmal im device selbst gespeichert.
Dein Fehlerbild klingt mir eher danach, dass das secret erst gar nicht gespeichert werden kann (weil z.B. ein Rechteproblem besteht und die zugehörige Datei nicht beschrieben werden darf).
In diesem Fall steht das secret nur zur Laufzeit von FHEM zur Verfügung, nicht aber nach einem Neustart - das würde genau zu Deiner Beschreibung passen.
Setze doch mal in Deinem JsonMod device verbose 5 und setze dann das secret.
Danach kontrolliere die Logausgabe und setze das verbose auf jeden Fall wieder zurück auf maximal 3.
Außerdem ist hier das falsche Unterforum für Fragen zu JsonMod.
https://forum.fhem.de/index.php?topic=13092.0
Bitte verschiebe den Thread mit dem Button unten links in den richtigen Bereich, danke.
Vielen Dank für deine Hinweise.
Im Log gab es leider keine Hinweise auf Probleme beim Schreiben der Secrets in die Datei.
Ich habe mir dann den Inhalt der Datei mal etwas genauer angeschaut.
Nach 117 Zeichen wurde ein LF eingefügt, der gesamte Eintrag ist aber 157 Zeichen lang.
Dieses LF sorgt beim wieder Einlesen, z.B. nach einem Neustart, dafür, dass das Secret verloren geht.
Tobias
Hi,
ich muss mich hier auch nochmal mit dranhängen.
Auch mein JSONMOD Secrect verliert sein Gültigkeit.
Ich habe ein Secret mit 129 Zeichen Ich habe ein verbose = 5 gesetzt und dann nochmal das Secret abgespeichert, im Log war nix zu sehen.
BTW: Das Secret hat zwei Sonderzeichen bei mir ein + und mehrere / , sonst nur Zahlen und Buchstaben.
Was kann man noch machen um der Ursache auf den Grund zu gehen?
Ein Restart war meines Wissen nach nicht die Ursache, es war auf einmal weg. Es ist dann auch nicht mehr in den Internals sichtbar.
VG
René
Zitat von: fireball am 04 Februar 2024, 19:09:24Was kann man noch machen um der Ursache auf den Grund zu gehen?
Ein Restart war meines Wissen nach nicht die Ursache, es war auf einmal weg.
Es ist dann auch nicht mehr in den Internals sichtbar.
Das secret wird grundsätzlich nicht primär in den Internals "gespeichert", sondern beim define des JsonMod aus einem keyfile gelesen und dann in die Internals übertragen.
Zitat von: fireball am 04 Februar 2024, 19:09:24BTW: Das Secret hat zwei Sonderzeichen bei mir ein + und mehrere / , sonst nur Zahlen und Buchstaben.
Da könnte ggf. eine Ursache zu finden sein. Aber das sollte der Modulautor prüfen und beantworten.
Zitat von: fireball am 04 Februar 2024, 19:09:24BTW: Das Secret hat zwei Sonderzeichen bei mir ein + und mehrere / , sonst nur Zahlen und Buchstaben.
Kannst Du mal bitte nur das + aus dem secret entfernen und dann testen?
Hab ich, das + ändert nix, nach einem Restart ist das Secret weg.
VG
Du hast eine PN.
Danke für Deine Antwort - ich denke, ich weiß jetzt, wo der Hund begraben liegt.
Die Ursache für das Problem liegt darin, dass die Funktionen zum Schreiben und (insbesondere) Lesen von key/values mit mehrzeiligen Einträgen nicht zurechtkommen.
Es bleibt also die Frage zu beantworten, warum JsonMod einen mehrzeiligen Eintrag beim Speichern des secrets erzeugt.
Zitat von: betateilchen am 04 Februar 2024, 21:07:46Es bleibt also die Frage zu beantworten, warum JsonMod einen mehrzeiligen Eintrag beim Speichern des secrets erzeugt.
Das liegt daran, wie das Modul das Secret "verschlüsselt".
Ich habe dafür ein Bugfix gefunden, das ich dem Modulautor auch schon zur Prüfung geschickt hatte.
vielen Dank, übernommen und damit gefixed
Feddback: Der Fix für das Secret funzt. Das Thema kann auf gelöst gesetzt werden.