Moin zusammen,
Ich suche eine Möglichkeit, Variablen in der Definition einzusetzen.
Das zu behandelnde Objekt (zB. Messwert) würde ich gerne anfangs via Variable definieren und danach in allen folgenden Definitionen diese Variable nutzen.
Das würde Geschwindigkeit der Konfiguration und die Qualität erhöhen, da man einfach copy/paste für alle gleichartigen Objekte nutzen könnte (ggf. sogar per Funktion?)
So würde zB. aus dem folgenden (unübersichtlichen):
define EG_R01_GT_1_Beleuchtung_Stehlampe_Schalten KNX 1/1/12:dpt1.001
attr EG_R01_GT_1_Beleuchtung_Stehlampe_Schalten IODev KNX
attr EG_R01_GT_1_Beleuchtung_Stehlampe_Schalten room R01 Kinderzimmer
define FileLog_EG_R01_GT_1_Beleuchtung_Stehlampe_Schalten FileLog ./log/EG_R01_GT_1_Beleuchtung_Stehlampe_Schalten-%Y.log EG_R01_GT_1_Beleuchtung_Stehlampe_Schalten
attr FileLog_EG_R01_GT_1_Beleuchtung_Stehlampe_Schalten logtype text
attr FileLog_EG_R01_GT_1_Beleuchtung_Stehlampe_Schalten room R01 Kinderzimmer
ein sich wiederholender Block, in dem sich nur der Header ändern müsste:
$room = "Kinderzimmer"
$object = "EG_R01_GT_1_Beleuchtung_Stehlampe_Schalten"
$adr = "1/1/12"
$dpt = "1.001"
define $Object KNX $adr:dpt.$dpt
attr $Object IODev KNX
attr $Object room $room
define FileLog_.$object FileLog ./log/$object.-%Y.log $object
attr FileLog_.$object logtype text
attr FileLog_.$object room $room
Der Block ist zwar etwas länger durch die Variablendeklaration, es wird jedoch deutlich übersichtlicher und kopierfreundlicher.
Schöner noch, wenn man einfach einen Funktionsaufruf dazu machen könnte. Konfigurationen wären nie übersichtlicher :)
Viele Grüße,
Pietz
Ich habe noch ein Modul in entwicklung: archetype (https://forum.fhem.de/index.php/topic,53402.0.html)
Damit werden Vorgaben übertragen und es können auch neue Geräte nach einem bestimmten Muster erstellt werden.
Werde mich am Wochenende mal dransetzen und die ToDo Liste abarbeiten.