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?
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
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.
fällt mir noch readingsProxy ein und dort das eventMap setzen..
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
}
Danke, ich versuchs mit dem readingsProxy mal.