Hallo,
ein kurzer Trick, um die in der Oberfläche oft in Englisch dargestellten Values zu übersetzen.
Am Beispiel eines ROOMMATE Devices lässt sich dies sehr gut veranschaulichen:
define rr_Mitbewohner ROOMMATE
attr alias Status
attr devStateIcon .*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown
attr icon people_sensor
group Mitbewohner
attr rr_realname group
webCmd state
Die Darstellung ist dann wie in Screenshot 1 in Englisch.
Möchte man es nun wie in Screenshot 2 in Deutsch dargestellt haben, kann man durch die Attribute widgetOverride und eventMap die Texte übersetzen:
define rr_Mitbewohner ROOMMATE
attr alias Status
attr devStateIcon .*zu_Hause:user_available:absent .*abwesend:user_away:home .*verreist:user_ext_away:home .*bettfein:scene_toilet:asleep .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown
attr eventMap home:zu_Hause absent:abwesend gone:verreist gotosleep:bettfein asleep:schläft awoken:aufgestanden
attr icon people_sensor
group Mitbewohner
attr rr_realname group
attr webCmd state
attr widgetOverride state:zu_Hause,bettfein,abwesend,verreist
Wenn auch devStateIcon entsprechend angepasst wird, erhält man eine vollständige Übersetzung.
Hallo Loredo,
danke für dieses kleine HowTo, hat nahezu prima funktioniert, die Wohnung selber habe ich mit den Auswahlmöglichkeiten "bewohnt" und "unbewohnt" versehen, fand ich etwas schöner und passender.
hier mein Code dazu:
devStateIcon
.*bewohnt:user_available:absent .*unbewohnt:user_away:home .*verreist:user_ext_away:home .*bettfein:scene_toilet:asleep .*schläft:scene_sleeping:awoken .*aufgestanden:scene_sleeping_alternat:home .*:user_unknown
eventMap
home:bewohnt absent:unbewohnt gone:verreist gotosleep:bettfein asleep:schläft awoken:aufgestanden
widgetOverride
state:bewohnt,bettfein,unbewohnt,verreist,schläft,aufgestanden
, für diejenigen, die es "nachbauen" möchten.
Hier gibt es allerdings noch einen kleinen Schönheitsfehler, das devStateIcon bleibt beim Status "unbewohnt" auf user_available stehen, anstelle auf user_away zu wechseln.
Und wäre es auch möglich den mood "einzudeutschen"?
Ich habe mal versucht das eventMap entsprechend zu erweitern, allerdings ziemlich erfolglos. :-[ :-\
Hast du noch einen Tip für mich? ;)
Liebe Grüße
Thorsten
Du musst mood in beide Richtungen übersetzen, also je Wert zwei Einträge machen:
deutsch:englisch englisch:deutsch
Ist aber reines FHEM Wissen ;)
Danke für den Übersetzungs-Trick :)
Um bei dem Beispiel zu bleiben, habe ich für mich folgendes übersetzt:
RESIDENTS:
Die Zustände heißen (unterstrichene sind auswählbar):
Ja|Nein (Jemand|Niemand anwesend), Verreist, Bettfertig, Schläft und Aufgestanden
devStateIcon:.*Ja:status_available:absent .*Nein:status_away_1:home .*Verreist:status_standby:home .*Verreist:control_building_empty .*Bettfertig:status_night:asleep .*Schläft:status_night:awoken .*Aufgewacht:status_available:home .*:user_unknown:home
eventMap:home:Ja absent:Nein gone:Verreist gotosleep:Bettfertig asleep:Schläft awoken:Aufgestanden
widgetOverride:state:Ja,Bettfertig,Nein,Verreist
ROOMMATE:
Die Zustände heißen (unterstrichene sind auswählbar):
Zu_Hause, Außerhaus, Verreist, Bettfertig, Schläft und Aufgestanden
devStateIcon:.*Zu_Hause:user_available:absent .*Außerhaus:user_away:home .*Verreist:user_ext_away:home .*Bettfertig:scene_toilet:asleep .*Schläft:scene_sleeping:awoken .*Aufgestanden:scene_sleeping_alternat:home .*:user_unknown
eventMap:home:Zu_Hause absent:Außerhaus gone:Verreist gotosleep:Bettfertig asleep:Schläft awoken:Aufgestanden
widgetOverride:state:Zu_Hause,Bettfertig,Außerhaus,Verreist
GUEST:
Die Zustände heißen (unterstrichene sind auswählbar):
Ja, Gehend, Nein, Bettfertig, Schläft und Aufgestanden
devStateIcon:.*Ja:user_available:absent .*Gehend:user_away:home .*Nein:user_ext_away:home .*Bettfertig:scene_toilet:asleep .*Schläft:scene_sleeping:awoken .*Aufgestanden:scene_sleeping_alternat:home .*:user_unknown
eventMap:home:Ja absent:Gehend none:Nein gotosleep:Bettfertig asleep:Schläft awoken:Aufgestanden
widgetOverride:state:Ja,Bettfertig,Gehend,Nein
Mood habe ich folgendermaßen übersetzt:
eventMap:calm:Gelassen relaxed:Entspannt happy:Glücklich excited:Aufgeregt lonely:Einsam sad:Traurig bored:Gelangweilt stressed:Gestresst uncomfortable:Unbehaglich sleepy:Müde angry:Verärgert toggle:Voriger_Status home:Zu_Hause absent:Außerhaus gone:Verreist gotosleep:Bettfertig asleep:Schläft awoken:Aufgestanden
widgetOverride:state:Zu_Hause,Bettfertig,Außerhaus,Verreist mood:-,Gelassen,Entspannt,Glücklich,Aufgeregt,Einsam,Traurig,Gelangweilt,Gestresst,Unbehaglich,Müde,Verärgert,Voriger_Status
edit: Fehler: Leerzeichen sind nicht erlaubt ;)
Über das Attribut rr_moods ist das viel einfacher. Kommt aber auch drauf an, ob man in seinem Code gerne auf die englischen Werte triggern möchte und in der Anzeige Deutsch haben möchte (so möchte ich es haben).
So ist mir das auch lieber (englischer Status, Deutsche Anzeige)
Wie ist es denn über das Attribut rr_moods zu machen?