Ich steh gerade auf dem Schlauch - attr <device> user1 <2-dimensionaler hash>?

Begonnen von alanblack, 22 Oktober 2019, 22:49:13

Vorheriges Thema - Nächstes Thema

alanblack

Hallo zusammen,

mir fehlt gerade der programmatische Ansatz, wie ich für eine Idee eienn zwei-(oder gar drei-)dimensionalen Hash als Reading oder Attribut ablegen kann.

Ich brauche einen Parametersatz. Dieser Parametersatz ist sei Laufzeit statisch; theoretisch vom Benutzer änderbar, nicht aber von FHEM. Dabei brauche ich für einige Devices ein mindestens 2-dimensionalen Hash.
In einer prozeduralen Desktop-Anwendung würde ich vielleicht eine INI-Datei anlegen, die ich beim Start auslese, in einer OOP-Anwendung würde ich eventuell den Klassen eine Eigenschaft als zweidimensionales Array verpassen. Aber in FHEM + perl...?
setreading dummy Parameter %hash? Oder baue ich eine Tabelle in einer Datenbank auf, welche ich bei Bedarf spezifisch abfragen kann?
Dem Anschein nach muss ich JSON-encodierte Hashes in die Readings (oder ein eigenes user-Attribut) ablegen. Korrekt?
Da der Parametersatz insgesamt recht groß sein wird, müsste ich eine sub schreiben, welche die Parameter EINMALIG in die Devices wegschreibt. Schön ist das nicht, pflegbar auch nicht und für den Ausnahmefall des Benutzereingriffs schon gar nicht geeignet.

Ich suche also nach Ansätzen für zwei Teilprobleme:
1. Erzeugen und Speichern eines mehr-dimensionalen Hashes an Devices
2. Pflege des Inhalts dieser Hashes

Hat da mal einer einen Tipp für mich?

Danke!
FHEM 6.0 auf raspi3&ODROID XU4 mit HMLAN und HM-MOD-RPI-PCB, LaCrosse via JeeLink, COC868 und CUL433, Xiaomi Aqara+div. Zigbee via deCONZ, Dooya via SIGNALDuino, ZWave mit Danalock
Jeder Witz kann ein Einzeiler sein mit genügend Semikolons