[gelöst] UNIRoll und structure -> undefined

Begonnen von hatamoto, 06 Juli 2015, 12:18:40

Vorheriges Thema - Nächstes Thema

hatamoto

Hallo,

folgende Ausgangssituation:
Ich habe Lott UNIRoll Gurtwickler mit dem entsprechenden UNIRoll-Modul im Einsatz.
Damit lassen sich Zwischenpositionen mit "set <name> pos #" ansteuern. Das Readings:state ist dann z.B. pos 14 (eventMap pos 14:Beschattung)

Ich habe nun mehrere Gurtwickler in Strukturen zusammengefasst. Da die Fenster unterschiedlich Groß sind, sind die Zwischenpositionen auch unterschiedlich.

Der Versuch mittels struct_*_map ein Mapping zu bekommen klappt nur bei up:Auf und down:Zu. Bei "pos #" ist structure state und STATE undefined.

Ich vermute, dass das Mapping ein Problem mit der Leerstelle bei "pos #" hat oder habe ich einen Fehler im Mapping?


Gruß Chris


Structure

define test_struc structure struct_UNIRoll schlafzimmer.gurtwickler.ostseite_rechts
attr test_struc clientstate_behavior relative
attr test_struc clientstate_priority Zu Lueften Beschattung Auf


UNIRoll

define schlafzimmer.gurtwickler.ostseite_rechts UNIRoll 3337 0
attr schlafzimmer.gurtwickler.ostseite_rechts userattr struct_UNIRoll struct_UNIRoll_map struct_wohnung struct_wohnung_map structexclude
attr schlafzimmer.gurtwickler.ostseite_rechts IODev CUL_Chris
attr schlafzimmer.gurtwickler.ostseite_rechts alias Rollladen Ostseite rechts
attr schlafzimmer.gurtwickler.ostseite_rechts devStateIcon Zu:fts_shutter_100 Auf:fts_shutter_10 Beschattung:fts_shutter_60 Lueften:fts_shutter_80
attr schlafzimmer.gurtwickler.ostseite_rechts eventMap /pos 14:Beschattung/down:Zu/up:Auf/stop:Stop/pos 16:Lueften
attr schlafzimmer.gurtwickler.ostseite_rechts group Gurtwickler
attr schlafzimmer.gurtwickler.ostseite_rechts model r-23700
attr schlafzimmer.gurtwickler.ostseite_rechts rMax 18
attr schlafzimmer.gurtwickler.ostseite_rechts rPos 14
attr schlafzimmer.gurtwickler.ostseite_rechts room Schlafzimmer
attr schlafzimmer.gurtwickler.ostseite_rechts sendStopBeforeCmd 2
attr schlafzimmer.gurtwickler.ostseite_rechts struct_UNIRoll test_struc
attr schlafzimmer.gurtwickler.ostseite_rechts struct_UNIRoll_map down:Zu pos 16:Lueften pos 14:Beschattung  up:Auf stop:Stop
attr schlafzimmer.gurtwickler.ostseite_rechts struct_wohnung gurtwickler.alle
attr schlafzimmer.gurtwickler.ostseite_rechts useRolloPos 1
attr schlafzimmer.gurtwickler.ostseite_rechts webCmd Auf:Stop:Beschattung:Lueften:Zu

hatamoto

So, hab's doch noch hinbekommen.
Die Lösung ist eigentlich recht einfach.
Das Mapping muss als Regex dargestellt werden. In diesem Fall (pos[\s]14):Beschattung und schon war es erledigt.
Das [\s] maskiert in diesem Fall das Leerzeichen.

Darauf zu kommen hat ein wenig gedauert bzw. bis ich es verstanden habe.
Aber ich bin wieder mal begeistert, was mit FHEM alles möglich ist.

Gruß Chris