NEWS
[gelöst] Werte zuordnen/übersetzen
-
Hallo liebe Community,
ich möchte mich diesmal auch mit der Bitte um Unterstützung an euch wenden.
Ich betreibe neben ioBroker noch eine openHAB-Instanz und hole mir über den ioBroker-openHAB-Adapter die Werte meines Gardena-Rasenmähroboters welchen ich in openHAB eingebunden habe. Dies funktioniert auch prima und fehlerlos.
Mein Problem ist, dass die übermittelten Werte alle in englischer Sprache sind, was den WAF deutlich herabsetzt
In einem anderen Forum habe ich eine Zuordnung der englischen Werte zu den deutschen Werten gefunden
Auszug
! paused=Pausiert
! ok_cutting=Mähen
! ok_searching=Suche Ladestation
! ok_charging=Lädt
! ok_leaving=Mähen
! wait_updating=Wird aktualisiert …
! wait_power_up=Wird eingeschaltet ...
! parked_timer=Geparkt nach Zeitplan
! parked_park_selected=Geparkt
! off_disabled=Der Mäher ist ausgeschaltet
! off_hatch_open=Deaktiviert. Abdeckung ist offen oder PIN-Code erforderlich
! unknown=Unbekannter Status
! error=Fehler
! error_at_power_up=Neustart ...
! off_hatch_closed=Deaktiviert. Manueller Start erforderlich
! ok_cutting_timer_overridden=Manuelles Mähen
! parked_autotimer=Geparkt durch SensorControl
! parked_daily_limit_reached=AbgeschlossenMeine Frage ist nun, wie kann ich diese "Übersetzung" der englischen Werte ins Deutsche programmtechnisch am besten umsetzen. Irgendwie stehe ich gedanklich hierzu auf dem Schlauch.
Vielleicht hat von euch einer einen Tipp oder eine Idee? Für eine Gedankenstütze wäre ich sehr dankbar.
Dankeschön vorab und Grüße
Thomas
-
Hallo zusammen,
hat keiner einen Rat/Idee für mich wie ich die ankommenden Werte per Script o.ä. den deutschen Werten zuordnen kann? Es würde den häuslichen Akzeptanzfaktor ungemein erhöhen, wenn z.B statt "paused" der String "Pausiert" ausgegeben oder in ein Object geschrieben werden könnte.
Danke nochmal und VG
Thomas
-
Ich würde ein Javascript Objekt erstellen in dem der jeweilige Name z. B. ok_cutting ist und als Wert/Eigenschaft dann "Mähen" drin steht usw..
Dann kannst du dir mit obj.ok_cutting einfach "Mähen" zurück geben lassen.
Oder du erstellst für jeden Wert eine eigene Konstante.
const ok_cutting = 'Mähen';
Gibt wie du siehst mehrere Wege.
Gruß
-
Hallo BuZZy,
herzlichen Dank erstmal für die Antwort. Ich hatte gehofft, dass man so etwas über eine Art array o.ä. (wo alle Werte drinstehen und in dem man darin sucht) realisieren könnte. Leider reichen meine Kenntnisse hierzu offenbar nicht aus
Trotzdem Danke und VG
Thomas
Ich würde ein Javascript Objekt erstellen in dem der jeweilige Name z. B. ok_cutting ist und als Wert/Eigenschaft dann "Mähen" drin steht usw..
Dann kannst du dir mit obj.ok_cutting einfach "Mähen" zurück geben lassen.
Oder du erstellst für jeden Wert eine eigene Konstante.
const ok_cutting = 'Mähen';
Gibt wie du siehst mehrere Wege.
Gruß `
-
Das ist das was ich oben geschrieben habe..
Schau hier:
const mower = { paused: 'Pausiert', ok_cutting: 'Mähen', ok_searching: 'Suche Ladestation', ok_charging: 'Lädt', ok_leaving: 'Mähen', wait_updating: 'Wird aktualisiert ...', wait_power_up: 'Wird eingeschaltet ...', parked_timer: 'Geparkt nach Zeitplan', parked_park_selected: 'Geparkt', off_disabled: 'Der Mäher ist ausgeschaltet', off_hatch_open: 'Deaktiviert. Abdeckung ist offen oder PIN-Code erforderlich', unknown: 'Unbekannter Status', error: 'Fehler', error_at_power_up: 'Neustart ...', off_hatch_closed: 'Deaktiviert. Manueller Start erforderlich', ok_cutting_timer_overridden: 'Manuelles Mähen', parked_autotimer: 'Geparkt durch SensorControl', parked_daily_limit_reached: 'Abgeschlossen' };
Das ist das Objekt was du brauchst.
Jetzt wird dir mit
mower[paused]
"Pausiert" zurückgegeben..
mit
mower[ok_cutting]
erhältst du "Mähen" zurück..
Also wenn dein Datenpunkt für den Rasenmäher 'mäher.0.status' heißt, kannst du dann mit
mower[getState('mäher.0.status').val]
die Übersetzung aus dem Objekt oben ziehen.
Arbeitest du bei dem Rasenmäher überhaupt schon mit einem Script in ioBroker?
Wie sieht deine Einbindung von dem Rasenmäherstatus aus? Lässt du den nur im VIS anzeigen oder was genau machst du mit dem Wert der von openHAB übermittelt wird?
Gruß
-
Vielen Dank für die Antwort. Das war genau das was ich gesucht habe.
Bisher habe ich noch kein Script für den Rasenmähroboter benötigt. Die entsprechenden Werte werden mit dem ioBroker-openHAB-Adapter aus der openHAB-Instanz in die entsprechenden ioBroker-Objekte als States geschrieben. Diese verwende ich dann zur Anzeige im VIS - ab dem kommenden Wochenende dann hoffentlich in deutscher Sprache
Also nochmal Danke für den Hinweis und VG
Thomas
-
Meld dich einfach wenn du dann noch Hilfe benötigst.
Gruß
-
-
So, Script läuft und macht was es soll
Danke nochmal BuZZY für die Unterstützung!
VG und ein schönes Wochenende
Thomas
-
Hallo,
könnte mir jemand dieses Script zur Übersetzung zur Verfügung stellen?