fhem.cfg import von Sensordefinitionen mit Name als Übergabeargument

Begonnen von kh.schmidt, 27 Juli 2015, 07:34:25

Vorheriges Thema - Nächstes Thema

kh.schmidt

Hallo,

um die fhem.cfg übersichtlich zu halten, habe ich schon den Vorschlag gesehen, die Sensoren per import einzubinden. Der Nachteil von import ist jedoch, dass ich trotzdem für jeden Sensor eine eigene Datei benötige. Ich habe viele gleichartige Sensoren, zB. Rauchmelder, für die ich alle die gleiche Vorlage mit define, attr, mapReading usw. verwenden möchte. Der einzige Unterschied ist der Name des Sensors.

Frage:
gibt es eine Möglichkeit mit solchen Vorlagen zu arbeiten; beim Einbinden der Vorlage soll dann nur der Name des Sensors übergeben werden (wie bei einer Funktion)

KH

Wuppi68

gibt es so nicht, ist aber relativ einfach zu erledigen ...

- Du erstellt Dir eine z.B. 99_myTemplates.pl

dort kommen dann Deine Templates rein

zb. so ... (keine 1:1 Übernahme möglich)

sub addRauchmelder($$)
{
  my ($name, $id) = @_;
  fhem("define $name ...");
  fhem("attr $name ...");
}


aber ich glaueb es macht keinen Sinn diese jedesmal dynamisch zu generieren - Rauchmelder und anderes fest verbautes Zeugs ändert sich ja so oft ...

Du meinst aber bestimmt include wo Du die einzelnen Definitionen auslagern kannst - macht aber auch keinen Sinn, da FHEM dann keine Kontrolle mehr über die Definitionsreihenfolge im System hat und dadurch gerne unschöne Seiteneffekte auftreten (können)

Mein Tipp: einfach alles im WebFrontend machen - geht deutlich weniger Fehleranfällig :-) und die Finger von der fhem.cfg lassen
FHEM unter Proxmox als VM


krikan

Stimme Wuppi68 zu: Mache es über das WebFrontend und verzichte include. Das könnte Dir eine Menge Arbeit ersparen. http://www.fhemwiki.de/wiki/Konfiguration

Im WebFrontend:
Device-übergreifende Attribute kannst Du mit http://fhem.de/commandref.html#attr und Nutzung der <devspec> (http://fhem.de/commandref.html#devspec) anlegen. Evtl. ist auch http://fhem.de/commandref.html#copy etwas für Deine Zwecke.
Natürlich könntest Du mit Vorsicht auch http://fhem.de/commandref.html#setdefaultattr nutzen. Ich mag es aber nicht.