Hauptmenü

Eventmap für dim

Begonnen von dennis_n, 28 August 2015, 01:07:13

Vorheriges Thema - Nächstes Thema

dennis_n

Hi,

Ich habe die Fibaro Roller Shutter. Manchmal haben die im State statt on oder off dim 2 oder irgendein andere dim Wert stehen.
In der eventmap fange ich on und off ab.
Gibt es auch eine Möglichkeit bestimmte dim-Bereiche abzufangen ohne dass ich extra jeden dim-Wert einzeln eintragen muss?
Also ich meine so etwas hier:
   
/on:Hoch/off:Runter/dim %1,2,3,4,5,6,7,8,9,10:Runter



Danke Gruß
Dennis

rudolfkoenig

eventMap verwendet regexps, allerdings ist fuer eine sinnvolle Konvertierung in manchen Faellen die lange Version (siehe commandref) notwendig.
Beispiele fuer dim-Regexps findet man hier im Forum im Zusammenhang mit devStateIcon.

dennis_n

Hallo,

danke für den Hinweis.
Müsste mein EventMap dann so aussehen?

/on:Hoch/off:Runter/dim (1[0-9]|2[0-9]):Runter

Demnach würde dim 10 bis dim 29 Runter bedeuten?

Danke
Gruss
Dennis

krikan

Nicht direkt eine Antwort, aber speziell zum FGRM222 könntest Du Dir http://forum.fhem.de/index.php/topic,40304.0.html mal als alternative Wege zur eventMap-Änderung anschauen.

dennis_n

Sorry aber ich bekomme es einfach nicht hin.
Derzeit habe ich das hier als attr beim DevStateIcon stehen:
Hoch:shutter_1 Runter:shutter_closed dim [1-6]:shutter_closed dim [80-99]:shutter_1

Aber das funktioniert nicht. Ich komme mit der Syntax einfach nicht klar.
Kann jemand einem Anfänger wie mir einen Tipp geben wie das attr auszusehen hat?

In der EventMap steht: /on:Hoch/off:Runter/dim [1-6]:Runter/dim [80-99]:Hoch

Danke

rudolfkoenig

Ich weiss nicht genau, was du moechtest (FHEM wohl auch nicht), ich interpretiere mal folgendes: dim 70 bis dim 99 soll als Hoch interpretiert werden, alles andere mit dim als Runter. Weiterhin on als Hoch und off als Runter. Versuch mal folgendes als Eventmap:
on:Hoch off:Runter dim.[789]\d:Hoch dim.*:Runter
Falls man "set Geraet Hoch" absetzt, dann wird das immer als on interpretiert, und Runter als off.

dennis_n

Danke Rudi, das habe ich gesucht.

Gruss
Dennis

fireball

Moinsen,

ich habe ein ähnliches Problem... ich habe ja meine Merten HomeTouch Jalousiesteuerung jetzt seit einem Jahr in Benutzung und super in FHEM integriert (mit meinen Mitteln... ein Modul wäre genialer)

Ich kann das das auch super über Alexa steuern... bisher nur mit "Ein" und "Aus"... jetzt habe ich das mit der Einstellung "Blinds" gesehen und zusammen mit dem eventMapping würde das prima bei mir fuktionieren... ABER:

Mein eventMapping:
Internals:
   FUUID      5df64707-f33f-0804-2126-7077c610c7b47af7
   NAME       Rollladen_EG_WZ_T_S
   NR         426
   STATE      84
   TYPE       dummy
   READINGS:
     2020-11-08 16:30:27   Link_im_HomeTouch wlss97
     2020-11-08 16:30:27   Name_im_HomeTouch Terrasse
     2020-11-08 16:30:27   OpenLevel       84
     2020-11-08 16:30:27   Raum_im_HomeTouch 17_WZ
     2020-11-08 16:30:27   state           pct auf
Attributes:
   alexaName  Rolladen Terrasse
   alexaRoom  Wohnzimmer
   devStateIcon 100:fts_shutter_10 1\d.*:fts_shutter_90 2\d.*:fts_shutter_80 3\d.*:fts_shutter_70 4\d.*:fts_shutter_60 5\d.*:fts_shutter_50 6\d.*:fts_shutter_40 7\d.*:fts_shutter_30 8\d.*:fts_shutter_20 9\d.*:fts_shutter_10 \d.*:fts_shutter_100
   eventMap   auf:0 zu:1 stop:2 pct.0:1 pct.100:0
   genericDeviceType blind
   icon       fts_shutter
   room       ALEXA,FENSTER_TÜREN
   stateFormat OpenLevel
   userReadings Name_im_HomeTouch {ReadingsVal("HomeTouch","Taster_WiserName-12",0)}, Link_im_HomeTouch {ReadingsVal("HomeTouch","Taster_WiserLink-12",0)}, Raum_im_HomeTouch {ReadingsVal("HomeTouch","Taster_WiserRoom-12",0)}, OpenLevel {ReadingsVal("HomeTouch","Taster_OpenLevel-12",0)},
   verbose    5
   webCmd     auf:zu:stop


Wenn ich jetzt sagen, Alexa öffne Rollladen Terasse, dann funktioniert es:

pct.100 wird zu 0 und an Rollladen_EG_WZ_T_S übergeben

2020-11-08 16:35:04 dummy Rollladen_EG_WZ_T_S 0
2020-11-08 16:35:04 dummy Rollladen_EG_WZ_T_S Name_im_HomeTouch: Terrasse
2020-11-08 16:35:04 dummy Rollladen_EG_WZ_T_S Link_im_HomeTouch: wlss97
2020-11-08 16:35:04 dummy Rollladen_EG_WZ_T_S Raum_im_HomeTouch: 17_WZ
2020-11-08 16:35:04 dummy Rollladen_EG_WZ_T_S OpenLevel: 84


Beim Schließen sieht es aber anders aus... das Mapping pct.0:1 bleibt unverändert.... es wird nicht ersetzt.... jemand ne Idee?

2020-11-08 16:30:27 dummy Rollladen_EG_WZ_T_S pct 0
2020-11-08 16:30:27 dummy Rollladen_EG_WZ_T_S Name_im_HomeTouch: Terrasse
2020-11-08 16:30:27 dummy Rollladen_EG_WZ_T_S Link_im_HomeTouch: wlss97
2020-11-08 16:30:27 dummy Rollladen_EG_WZ_T_S Raum_im_HomeTouch: 17_WZ
2020-11-08 16:30:27 dummy Rollladen_EG_WZ_T_S OpenLevel: 84


VG
René

dennis_n

Geht es Dir nur um die Sprachsteuerung über Alexa oder funktioniert es auch nicht, wenn Du den Rolladen über fhem steuern möchtest?

Gruss
Dennis

fireball

In FHEM ist alles super. Das läuft... Ich will über Alexa alles mit "gutem" Deutsch steuern :)
Bisher hatte ich meine Dummys für die Rollläden einfach als "Switch" eingebunden.
Mit Alexa, Rollladen ein oder Rollladen aus gehts... ist aber irgendwie unpraktisch...

genericDeviceType = switch
homebridgeMapping = On=state,cmdOn=1,cmdOff=0


Nun seh ich das Alexa "Blind" hat Alexa quasi ein pct=0 oder pct=100 sendet.
Das möchte ich auf 1 für zu und 0 für auf mappen.
Damit der Alexa Befehl quasi auf meine Skript/Einstellung/Rollläden passt.

pct.100 wird zu 0, das geht ja auch...
pct.0 wird aber nicht zu 1 und bleibt "pct 0"

VG
René

VG
René

dennis_n

Hmmm, also ich habe bei meinen Fibaro folgendes als Attribut hinterlegt:

eventMap: on:Hoch off:Runter dim.[89]\d:Hoch dim.[1-9]:Runter dim.*:Hoch
homeBridgeMapping: clear CurrentPosition=state,minValue=0,maxValue=99 TargetPosition=state,minValue=0,maxValue=99,minStep=10,cmd=dim
genericDeviceType: blind

Damit lassen sich bei mir die Rolländen nun einwandfrei per Alexa steuern.

Gruss
Dennis


fireball

Hi Dennis...

also ich weiß nicht ob ein Homebridgemapping notwendig ist... aber es geht ja für eine Richtung...

und im Alexa Log wird 0 und 100 jeweils gesendet:

8.11.2020, 17:10:51] [FHEM] Rollladen_EG_WZ_T_S: executing set cmd for TargetPosition with value 0
[8.11.2020, 17:10:51] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20Rollladen_EG_WZ_T_S%20pct%200&fwcsrf=csrf_400132509756120&XHR=1
[8.11.2020, 17:10:51] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.RangeController","instance":"Blind.Position","name":"rangeValue","value":0,"timeOfSample":"2020-11-08T16:10:51.389Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"Response","payloadVersion":"3","messageId":"958b38db-1ebe-449f-a6ce-5e9edcf5714c","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"8AD79F46-"},"endpointId":"5df64707-f33f-0804-2126-7077c610c7b47af7"},"payload":{}}}
[8.11.2020, 17:11:02] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.RangeController","name":"SetRangeValue","payloadVersion":"3","instance":"Blind.Position","messageId":"d679a512-0ebc-41ee-abf8-72e998dae068","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"8AD79F46-"},"endpointId":"5df64707-f33f-0804-2126-7077c610c7b47af7","cookie":{"fuuid":"5df64707-f33f-0804-2126-7077c610c7b47af7","device":"Rollladen_EG_WZ_T_S"}},"payload":{"rangeValue":100}}}

[8.11.2020, 17:11:02] [FHEM] Rollladen_EG_WZ_T_S: executing set cmd for TargetPosition with value 100
[8.11.2020, 17:11:02] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20Rollladen_EG_WZ_T_S%20pct%20100&fwcsrf=csrf_400132509756120&XHR=1
[8.11.2020, 17:11:02] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.RangeController","instance":"Blind.Position","name":"rangeValue","value":100,"timeOfSample":"2020-11-08T16:11:02.057Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"Response","payloadVersion":"3","messageId":"8ef56d22-8d99-4ef0-85ce-70a02e4ad54d","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"8AD79F46-"},"endpointId":"5df64707-f33f-0804-2126-7077c610c7b47af7"},"payload":{}}}


und FHEM macht folgendes draus:

2020-11-08 17:10:51 dummy Rollladen_EG_WZ_T_S pct 0
2020-11-08 17:10:51 dummy Rollladen_EG_WZ_T_S Name_im_HomeTouch: Terrasse
2020-11-08 17:10:51 dummy Rollladen_EG_WZ_T_S Link_im_HomeTouch: wlss97
2020-11-08 17:10:51 dummy Rollladen_EG_WZ_T_S Raum_im_HomeTouch: 17_WZ
2020-11-08 17:10:51 dummy Rollladen_EG_WZ_T_S OpenLevel: 100
2020-11-08 17:11:02 dummy Rollladen_EG_WZ_T_S 0
2020-11-08 17:11:02 dummy Rollladen_EG_WZ_T_S Name_im_HomeTouch: Terrasse
2020-11-08 17:11:02 dummy Rollladen_EG_WZ_T_S Link_im_HomeTouch: wlss97
2020-11-08 17:11:02 dummy Rollladen_EG_WZ_T_S Raum_im_HomeTouch: 17_WZ
2020-11-08 17:11:02 dummy Rollladen_EG_WZ_T_S OpenLevel: 100


nur das Mapping für "pct 0" wird irgendwie nicht übersetzt...

dennis_n

Das war bei mir genauso. Erst durch das Mapping konnte fhem das richtig umsetzen.

Gruss
Dennis

fireball

Ich habe mich jetzt am Ende richtig verbissen und habe es gelöst...

Ich habe mich in die HombridgeMappings reinglelesen und jetzt folgendes gemacht:

homebridgeMapping    clear TargetPosition=state,cmds=100:0;0:1

TargetPosition wird auf state gesetzt und mit cmds (homebridge => fhem) die Werte die Alexa liefert bei "Blind", nämlich 100 für auf und 0 für zu auf mein Rollläden gemappt:
100/auf ist bei mir 0
0/zu ist bei mir 1

damit funktioniert es jetzt wie geschnitten Brot... puhhh 3h später aber es geht!!!

Hier noch der entscheidene Link:
https://forum.fhem.de/index.php/topic,48558.msg402024.html#msg402024

VG
René