Alternativer Name für device

Begonnen von est, 05 November 2013, 22:12:23

Vorheriges Thema - Nächstes Thema

est

Hallo,

ich will von einem Arduino mit EthernetShield mit FHEM kommunizieren. Das funktioniert über Telnet bereits sehr gut.
Leider wird auf dem Mikrokontroler der Platz knapp. Deswegen würde ich gern die Dummys mit einem Alternativen Name ansprechen. Mal ein Beispiel:

define HKRuecklaufTemp2 dummy
attr HKRuecklaufTemp2 ID 28 C8 B1 EB 3 0 0 9B


Im Moment schicke ich als erstes

{"<OWA1=".AttrVal("HKRuecklaufTemp2","ID","0 0 0 0 0 0 0 0").">" }

und bekomme zurück
<OWA1=28 C8 B1 EB 3 0 0 9B>
oder ich setze den Wert vom OneWireBus mit
set HKRuecklaufTemp2 29.7
Dazu muß ich aber immer den Name als String im Arduino vorrätig haben.

Lieber wäre es mir wenn ich FHEM irgendwie beibringen könnte das "Val01" das gleiche ist wie "HKRuecklaufTemp2".
Val ist ein fester Wert, 01 der Index in dem Array das ich sowieso habe.
set Val01 29.7
Bei derzeit 45 Datenpunkten wären damit ettliche Bytes gespart.

Ich habe schon mit cmdalias probiert.
Das folgende funktioniert:

define V01alias cmdalias set Val01 .* AS set HKRuecklaufTemp2 $EVTPART1

Allerdings wären das für Adresse holen + set ja im moment schon 90 aliase und ich habe noch einige Ideen.


Hat jemand einen Tipp wie ich das besser umsetzen könnte?
FHEM unter Ubuntu Server aus ESXi 5
1 HM-LAN, 3 HM-CC-RT-DN, 3 HM-CC-TC, 4 HM-CC-VD
1 Arduino verbindet die Vitodens + oneWire + sonstigen Heizungskram über Ethernet mit dem telnet-Port von FHEM

betateilchen

rename HKRuecklaufTemp2 Val01

und für die "Optik" im Frontend kannst Du danach

attr Val01 alias HKRuecklaufTemp2

setzen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

est

Diese Idee hatte ich auch als erstes. Mir hat aber nicht gefallen das ich dann ja auch in FHEM immer die wenig aussagekräftigen Kurznamen verwenden müsste. Ausserdem habe ich mir Sorgen gemacht wass dann mit den Diagrammen passiert. Auch die Historie im dblog wird ja vermutlich nicht mit umbenannt.

Dann hatte ich die Idee eine Sub zu schreiben der ich Parameternummer und Wert übergebe. Dazu müsste man mal Perl lernen.

Als 3. Weg habe ich dann mit cmdalias probiert. Das gefiel mir eigentlich am besten, nur kriege ich das irgendwie nicht allgemein genug formuliert. Eigentlich will ich ja nur in jedem Befehl der rein kommt Valxx durch den echten Namen ersetzen.

Danke für Deine Hilfe
FHEM unter Ubuntu Server aus ESXi 5
1 HM-LAN, 3 HM-CC-RT-DN, 3 HM-CC-TC, 4 HM-CC-VD
1 Arduino verbindet die Vitodens + oneWire + sonstigen Heizungskram über Ethernet mit dem telnet-Port von FHEM