Nutzung von Variablen in Deklaration der Objekte möglich?

Begonnen von Pietz, 28 Oktober 2016, 14:31:32

Vorheriges Thema - Nächstes Thema

Pietz

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

igami

Ich habe noch ein Modul in entwicklung: archetype
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.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED