FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Grml am 10 November 2016, 10:50:15

Titel: Wert auslesen und "übersetzt" in Dummy-Device speichern
Beitrag von: Grml am 10 November 2016, 10:50:15
Hi zusammen,
ich bin auch noch recht am Anfang und habe noch keine Idee wie ich Folgendes umsetzen kann...

Ich lese ein bestimmtes Attribut eines Devices aus (das Attribut kann 3 verschiedene Stati haben) und gebe das über Tablet UI aus. So weit, so gut.
Nun kam ich auf die Idee, den Wert der auf Englisch ausgegeben wird manuell zu übersetzen und in ein Dummy-Device zu speichern und dann dessen Wert in FTUI auszugeben.

Also quasi:
Wenn DeviceAttribut1 = Car dann DummyAttribut1 = Auto
Wenn DeviceAttribut1 = Bike dann DummyAttribut1 = Fahrrad
Wenn DeviceAttribut1 = Plane dann DummyAttribut1 = Flugzeug

Wie müsste ich denn sowas angehen?
Titel: Antw:Wert auslesen und "übersetzt" in Dummy-Device speichern
Beitrag von: kumue am 10 November 2016, 10:56:17
ich glaube, du suchst so etwas wie eventMap

attr <DEINE_DEVICE> eventMap Car:Auto Bike:Fahrrad Plane:Flugzeug

schau mal in die commandref zu eventMap
Titel: Antw:Wert auslesen und "übersetzt" in Dummy-Device speichern
Beitrag von: Grml am 10 November 2016, 11:01:45
Danke, das klingt im Prinzip eigentlich gut. Aber wird hier dann nicht der Original-Inhalt des Attributs überschrieben?
Mein Gefühl sagt mir, dass das evtl. ungeschickt wäre, weil andere Devices auf den Originalwert zugreifen/angewiesen sind.

Deshalb meine Idee ein Dummy-Device zu füttern, weil es "nur" um die Ausgabe im FTUI geht (Stichwort "WAF" ;-)). Alles andere, "interne", soll weiterhin mit dem Originalwert arbeiten können.
Titel: Antw:Wert auslesen und "übersetzt" in Dummy-Device speichern
Beitrag von: kumue am 10 November 2016, 11:11:36
fällt mir noch readingsProxy ein und dort das eventMap setzen..
Titel: Antw:Wert auslesen und "übersetzt" in Dummy-Device speichern
Beitrag von: Ellert am 10 November 2016, 11:22:13
Du könntest in FHEM auch mit userReadings und Perl-Code arbeiten.
In die Eingabezeile
attr <Device> userReadings auf_deutsch {}

und im DEF-Editor bearbeiten

{
my $val = Value($name);
$val =~ s/Car/Auto/;
$val =~ s/Bike/Rad/;
return $val
}
Titel: Antw:Wert auslesen und "übersetzt" in Dummy-Device speichern
Beitrag von: Grml am 10 November 2016, 11:39:03
Danke, ich versuchs mit dem readingsProxy mal.