Longpoll in Kombination mit eventMap und widgetOverride

Begonnen von Loredo, 08 Februar 2015, 15:14:00

Vorheriges Thema - Nächstes Thema

Loredo

Hallo,


ich würde die Kombination aus eventMap und widgetOverride gerne dazu verwenden die FHEMWEB Oberfläche für einige Module zu übersetzen.
Beispielhaft klappt das hervorragend mit meinem ROOMMATE Modul:


define rr_Test ROOMMATE
attr rr_Test alias Mitbewohner1
attr rr_Test devStateIcon .*zuhause: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 rr_Test event-on-change-reading state
attr rr_Test eventMap home:zuhause absent:abwesend gone:verreist gotosleep:bettfein asleep:schläft awoken:aufgestanden
attr rr_Test icon people_sensor
attr rr_Test rr_realname alias
attr rr_Test webCmd state
attr rr_Test widgetOverride state:zuhause,abwesend,verreist,bettfein


Der Knackpunkt dabei ist, dass der richtige Wert im Dropdown Feld häufig nicht ausgewählt wird, auch nicht bei einem Reload der Seite. In ganz seltenen Fällen wird der aktuelle STATE Wert aber doch ausgewählt.

Ich kann mir daraus keinen Reim machen und dachte ich frage mal nach Ideen...



Gruß
Julian




PS: Ich weiß nicht genau, ob widgetOverride auch fürs Übersetzen gedacht war/ist. Was mir hier noch fehlen würde wäre das setzen von Werten in Abhängigkeit des aktuellen Wertes von STATE oder eines bestimmten Readings. Das ROOMMATE Device macht das intern (eben mit den englischen Werten), um eine Art Workflow für das "Zubettgehen" zu erreichen. Erst wenn man den Status "gotosleep" gesetzt hat, wird im Dropdown auch der Wert "asleep" angezeigt. Ähnlich verhält es sich mit "awoken", welcher erst angezeigt wird, wenn der Status auf "asleep" steht. Dazu würde aber natürlich auch noch eine dynamische Aktualisierung des Widget Inhalts per Longpoll gehören.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

rudolfkoenig

Es lag daran, dass der Anfangswert beim Erstellen eines Widgets nicht uebersetzt wurde, erst wenn man diese per longpoll befuellt hat.
Habs geaendert und eingecheckt.

Loredo

Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER