[alexa-fhem | Custom Skills] Probleme mit euren Setups

Begonnen von prodigy7, 19 Februar 2017, 13:16:06

Vorheriges Thema - Nächstes Thema

Jojo3108

#75
Hallo Justme,

erstmal tolle Arbeit was du leistest, danke!

Mave

Gutes Neues @all

Ich habe sowohl Alexa Smart Home als auch Custom Skill nun schon seit ein paar Wochen erfolgreich am Laufen.
Tolle Sache. Vielen Dank nochmal an justme für seinen Einsatz.

Bei der Steuerung unserer Jalousien über das SOMFY Modul habe ich das Problem, dass wenn ich sage "Alexa, sage James, mache den Rollladen im Wohnzimmer auf", dass die Jalousien dann zu gemacht werden.....und andersherum.
Wenn ich sage "Alexa, sage James, stelle den Rollladen im Wohnzimmer auf 60%", dass die Jalousien dann auf 40% heruntergefahren werden....entsprechen bei Ansage 40% auf 60% heruntergefahren wird.

Ich suche mir einen Wolf, finde aber nicht die Ursache, warum nur bei den SOMFY Jalousien die Steuerung verkehrt herum ist....wohingegen bei den normalen HomeMatic Rollladen alles richtig funktioniert.

Sowohl Jalousien als auch Rollladen sind bei state 0 geöffnet und bei state 100 geschlossen.

Vielen Dank im Voraus für sachdienliche Hinweise.

Grüße Mave

justme1968

#77
das ist schon genau dein problem.

homematic, homekit und alexa ist 0 geschlossen und 100 offen.

bei somfy ist das umgekehrt. das erkennt alexa aber und dreht es entsprechend um.

die frage ist jetzt: warum ist hm bei dir hm verdreht und warum wird es bei somfy nicht gedreht.

zeig mal ein xmllist von beiden devices.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Mave

Vielen Dank für Deine schnelle Rückmeldung.

Ich glaube mich zu erinnern, dass ich es letztes Jahr bei den HM Rollläden "gedreht" habe, damit - in Tablet UI - die Rollläden bei 0 offen und bei 100 geschlossen sind.


<FHZINFO>
<SOMFY_LIST>
<SOMFY name="wz_Jalousien" state="50" sets="runter:noArg hoch:noArg stop:noArg go-my:noArg off:noArg off-for-timer:textField on:noArg on-for-timer:textField prog:noArg stop:noArg z_custom:textField go-my:noArg manual:200,100,90,80,70,60,50,40,30,20,10,0,on,off pos:100,90,80,70,60,50,40,30,20,10,0 position:100,90,80,70,60,50,40,30,20,10,0 wind_only_a:noArg wind_sun_9:noArg" attrs="alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5  drive-down-time-to-100 drive-down-time-to-close drive-up-time-to-100 drive-up-time-to-open  additionalPosReading   positionInverse:1,0   IODev symbol-length repetition switch_rfmode:1,0 fixed_enckey:1,0 do_not_notify:1,0 ignore:0,1 model:somfyblinds,somfyshutter,somfyremote,somfyswitch2,somfyswitch4 loglevel:0,1,2,3,4,5,6 rawDevice event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading alarmDevice:Actor,Sensor alarmSettings alexaName alexaRoom cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride userattr">
<INT key="ADDRESS" value="FAFAF0"/>
<INT key="DEF" value="FAFAF0 A1 3327"/>
<INT key="NAME" value="wz_Jalousien"/>
<INT key="NR" value="62"/>
<INT key="STATE" value="50"/>
<INT key="TYPE" value="SOMFY"/>
<INT key="move" value="stop"/>
<INT key="IODev" value="SDUINO433"/>
<ATTR key="IODev" value="SDUINO433"/>
<ATTR key="alexaName" value="Rollladen"/>
<ATTR key="alexaRoom" value="Wohnzimmer"/>
<ATTR key="devStateIcon" value="open:fts_shutter_10 10:fts_shutter_10 20:fts_shutter_20 30:fts_shutter_30 40:fts_shutter_40 50:fts_shutter_50 60:fts_shutter_60 70:fts_shutter_70 80:fts_shutter_80 90:fts_shutter_90 100:fts_shutter_100 down:fts_shutter_100 closed:fts_shutter_100"/>
<ATTR key="drive-down-time-to-100" value="60"/>
<ATTR key="drive-down-time-to-close" value="63"/>
<ATTR key="drive-up-time-to-100" value="3"/>
<ATTR key="drive-up-time-to-open" value="64"/>
<ATTR key="event-min-interval" value=".*:300"/>
<ATTR key="event-on-change-reading" value=".*"/>
<ATTR key="eventMap" value="on:runter off:hoch stop:stop go-my:go-my"/>
<ATTR key="genericDeviceType" value="blind"/>
<ATTR key="group" value="Fenster und Türen"/>
<ATTR key="icon" value="fts_shutter"/>
<ATTR key="model" value="somfyshutter"/>
<ATTR key="repetition" value="30"/>
<ATTR key="room" value="Wohnzimmer"/>
<ATTR key="sortby" value="1"/>
<ATTR key="webCmd" value="runter:hoch:stop:go-my"/>
<STATE key="enc_key" value="A1" measured="2018-01-01 12:22:25"/>
<STATE key="exact" value="50" measured="2018-01-01 12:22:25"/>
<STATE key="parsestate" value="on" measured="2017-06-02 19:30:10"/>
<STATE key="position" value="50" measured="2018-01-01 12:22:25"/>
<STATE key="rolling_code" value="3327" measured="2018-01-01 12:22:25"/>
<STATE key="state" value="50" measured="2018-01-01 12:22:25"/>
</SOMFY>
</SOMFY_LIST>
</FHZINFO>


<FHZINFO>
<HMCCUDEV_LIST>
<HMCCUDEV name="sz_Rollladen" state="0" sets="stop:noArg down:noArg up:noArg clear config control datapoint defaults:noArg devstate:up,down up:noArg down:noArg toggle:noArg pct" attrs="alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev ccuackstate:0,1 ccucalculate:textField-long ccuflags:multiple-strict,altread,nochn0,trace ccureadingfilter:textField-long ccureadingformat:name,namelc,address,addresslc,datapoint,datapointlc ccureadingname:textField-long ccureadings:0,1 ccuget:State,Value ccuscaleval ccuverify:0,1,2 disable:0,1 hmstatevals:textField-long statevals substexcl substitute:textField-long statechannel statedatapoint controldatapoint stripnumber peer:textField-long event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading alarmDevice:Actor,Sensor alarmSettings alexaName alexaRoom cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride userattr">
<INT key="DEF" value="NEQ1564966"/>
<INT key="NAME" value="sz_Rollladen"/>
<INT key="NR" value="120"/>
<INT key="STATE" value="0"/>
<INT key="TYPE" value="HMCCUDEV"/>
<INT key="ccuaddr" value="NEQ1564966"/>
<INT key="ccudevstate" value="active"/>
<INT key="ccuif" value="BidCos-RF"/>
<INT key="ccuname" value="HM-LC-Bl1PBU-FM NEQ1564966"/>
<INT key="ccutype" value="HM-LC-Bl1PBU-FM"/>
<INT key="channels" value="2"/>
<INT key="firmware" value="2.11"/>
<INT key="statevals" value="devstate|up|down"/>
<INT key="IODev" value="CCU2"/>
<ATTR key="IODev" value="CCU2"/>
<ATTR key="alexaName" value="Rollladen"/>
<ATTR key="alexaRoom" value="Schlafzimmer"/>
<ATTR key="ccureadingfilter" value="(LEVEL|INHIBIT|DIRECTION|WORKING)"/>
<ATTR key="ccuscaleval" value="!LEVEL:0:1:0:100"/>
<ATTR key="cmdIcon" value="up:fts_shutter_up stop:fts_shutter_manual down:fts_shutter_down"/>
<ATTR key="controldatapoint" value="1.LEVEL"/>
<ATTR key="event-on-change-reading" value=".*"/>
<ATTR key="eventMap" value="/datapoint 1.STOP true:stop/datapoint 1.LEVEL 100:down/datapoint 1.LEVEL 0:up/"/>
<ATTR key="genericDeviceType" value="blind"/>
<ATTR key="group" value="Fenster und Türen"/>
<ATTR key="icon" value="fts_shutter"/>
<ATTR key="room" value="Schlafzimmer"/>
<ATTR key="statechannel" value="1"/>
<ATTR key="statedatapoint" value="1.LEVEL"/>
<ATTR key="statevals" value="up:0,down:100"/>
<ATTR key="stripnumber" value="1"/>
<ATTR key="substexcl" value="control"/>
<ATTR key="webCmd" value="control:up:stop:down"/>
<ATTR key="widgetOverride" value="control:slider,0,10,100"/>
<STATE key="0.AES_KEY" value="0" measured="2017-09-02 08:11:22"/>
<STATE key="0.CONFIG_PENDING" value="false" measured="2017-09-02 08:11:22"/>
<STATE key="0.DEVICE_IN_BOOTLOADER" value="false" measured="2017-09-02 08:11:22"/>
<STATE key="0.DUTYCYCLE" value="false" measured="2017-09-02 08:11:22"/>
<STATE key="0.RSSI_DEVICE" value="189" measured="2017-09-02 08:11:22"/>
<STATE key="0.RSSI_PEER" value="206" measured="2017-09-02 08:11:22"/>
<STATE key="0.STICKY_UNREACH" value="true" measured="2017-09-02 08:11:22"/>
<STATE key="0.UNREACH" value="false" measured="2017-09-02 08:11:22"/>
<STATE key="0.UPDATE_PENDING" value="false" measured="2017-09-02 08:11:22"/>
<STATE key="1.DIRECTION" value="0" measured="2018-01-01 11:40:31"/>
<STATE key="1.INHIBIT" value="false" measured="2017-12-31 18:56:05"/>
<STATE key="1.LEVEL" value="0" measured="2018-01-01 11:40:31"/>
<STATE key="1.WORKING" value="0" measured="2018-01-01 11:40:31"/>
<STATE key="control" value="0" measured="2018-01-01 11:40:31"/>
<STATE key="hmstate" value="0" measured="2018-01-01 11:40:31"/>
<STATE key="state" value="0" measured="2018-01-01 11:40:31"/>
</HMCCUDEV>
</HMCCUDEV_LIST>
</FHZINFO>

justme1968

wie hast du hm gedreht? die kabel vertauscht? das ist die schlechteste aller möglichen lösungen. die kabel sollten richtig angeschlossen werden und dann levelInverse gesetzt werden. dann ist zumindest intern alles konsistent.

aber sinnvoller ist es sich an das 100 offen und 0 geschlossen zu gewöhnen. eine gute eselsbrücke ist es mit einer lampe zu vergleichen. 100 ist hell und 0 ist dunkel. oder sich immer x% geöffnet vor augen zu halten.

dann kannst du die hm 'normal' betreiben und SOMFY über positionInverse auf die gleiche logik bringen. das hat noch den vorteil das de weiterreiche wirklich von 0-100 geht und nicht noch die 200 eine rolle spielt die sich per alexa nicht gut abbilden lassen.

wenn du die rollläden nicht auf diese art 'richtig rum' einbinden willst gibt es keine möglichkeit die gesprochenen prozent werte und die gesprochenen auf/zu beide richtig umzusetzen. dann geht nur eins von beiden da alexa intern das auf und zu automatisch auf 100 und 0 umsetzt und an den skill nur die zahlen weiter gereicht werden . im nachhinein ist nicht mehr feststellbar ob es ein automatisch umgesetztes 100 für auf war oder ein manuelles 100 für ein (falsch herumes) ganz geschlossen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Mave

#80
Ich habe keine Kabel getauscht bzw. gedreht.

Ich meine, ich habe es über dieses Attribut umgesetzt: <ATTR key="ccuscaleval" value="!LEVEL:0:1:0:100"/>

Ich werde das wieder auf die original Einstellungen zurückstellen und mich an die 100=offen und 0=geschlossen gewöhnen.

Allerdings ist mir jetzt nicht ganz klar, was ich machen muss, damit Alexa mit SOMFY klarkommt. Da muss ich jetzt ja "auf" sagen, damit die Jalousien geschlossen werden und umgekehrt.

Vielen Dank.

Mave

justme,

hast Du eine Erklärung dafür, warum es derzeit bei den SOMFY Jalousien verdreht ist?

Vielen Dank.

justme1968

weil du vermutlich positionInverse nicht gesetzt hast.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Mave

Ah okay, von dem höre ich zum ersten Mal.... :-[

Danke.

Mave

Hat geklappt. Jetzt ist 100 ganz geöffnet und 0 ganz geschlossen.

Prima, vielen Dank.

Mave

justme,

wie bereits gesagt, läuft meine SOMFY Jalousie jetzt richtig herum. 100 ist offen, 0 ist geschlossen.

Wenn ich Alexa sage, sie soll die Jalousien auf machen, dann fährt die Jalousie ganz nach oben (100) und umgekehrt. Alles gut soweit.

Aber warum fährt die Jalousie auf den Wert 20 - also fast ganz herunter - wenn ich Alexa sage, sie soll die Jalousie auf 80% stellen?
Ich dachte, 100% ist ganz offen und 0% ganz geschlossen.  ::)


justme1968

zeig mal ein jsonlist2 vom somfy device und die zugehörige alexa-fhem ausgabe beim start mit --debug
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Mave

{
  "Arg":"wz_Jalousien",
  "Results": [
  {
    "Name":"wz_Jalousien",
    "PossibleSets":"runter:noArg hoch:noArg stop:noArg go-my:noArg off:noArg off-for-timer:textField on:noArg on-for-timer:textField prog:noArg stop:noArg z_custom:textField go-my:noArg manual:200,100,90,80,70,60,50,40,30,20,10,0,on,off pos:100,90,80,70,60,50,40,30,20,10,0 position:100,90,80,70,60,50,40,30,20,10,0 wind_only_a:noArg wind_sun_9:noArg",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5  drive-down-time-to-100 drive-down-time-to-close drive-up-time-to-100 drive-up-time-to-open  additionalPosReading   positionInverse:1,0   IODev symbol-length repetition switch_rfmode:1,0 fixed_enckey:1,0 do_not_notify:1,0 ignore:0,1 model:somfyblinds,somfyshutter,somfyremote,somfyswitch2,somfyswitch4 loglevel:0,1,2,3,4,5,6 rawDevice event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading alarmDevice:Actor,Sensor alarmSettings alexaName alexaRoom cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      "ADDRESS": "FAFAF0",
      "DEF": "FAFAF0 AE 3344",
      "NAME": "wz_Jalousien",
      "NR": "62",
      "STATE": "open",
      "TYPE": "SOMFY",
      "move": "stop"
    },
    "Readings": {
      "enc_key": { "Value":"AE", "Time":"2018-01-04 07:42:38" },
      "exact": { "Value":"100", "Time":"2018-01-04 07:43:28" },
      "parsestate": { "Value":"on", "Time":"2017-06-02 19:30:10" },
      "position": { "Value":"100", "Time":"2018-01-04 07:43:28" },
      "rolling_code": { "Value":"3344", "Time":"2018-01-04 07:42:38" },
      "state": { "Value":"open", "Time":"2018-01-04 07:43:28" }
    },
    "Attributes": {
      "IODev": "SDUINO433",
      "alexaName": "Rollladen",
      "alexaRoom": "Wohnzimmer",
      "devStateIcon": "open:fts_shutter_10 100:fts_shutter_10 90:fts_shutter_10 80:fts_shutter_20 70:fts_shutter_30 60:fts_shutter_40 50:fts_shutter_50 40:fts_shutter_60 30:fts_shutter_70 20:fts_shutter_80 10:fts_shutter_90 0:fts_shutter_100 down:fts_shutter_100 closed:fts_shutter_100",
      "drive-down-time-to-100": "60",
      "drive-down-time-to-close": "63",
      "drive-up-time-to-100": "3",
      "drive-up-time-to-open": "64",
      "event-min-interval": ".*:300",
      "event-on-change-reading": ".*",
      "eventMap": "on:runter off:hoch stop:stop go-my:go-my",
      "genericDeviceType": "blind",
      "group": "Fenster und Türen",
      "icon": "fts_shutter",
      "model": "somfyshutter",
      "positionInverse": "1",
      "repetition": "30",
      "room": "Wohnzimmer",
      "sortby": "1",
      "webCmd": "runter:hoch:stop:go-my"
    }
  }  ],
  "totalResultsReturned":1
}


[2018-1-4 08:00:17] [FHEM] mappings for wz_Jalousien: { CurrentPosition: { reading: 'position', invert: true },
  TargetPosition: { reading: 'position', cmd: 'pos', delay: true, invert: true },
  On:
   { reading: 'state',
     valueOff: '/off|A0|000000/',
     cmdOn: 'on',
     cmdOff: 'off' } }
[2018-1-4 08:00:17] [FHEM] wz_Jalousien is blind
[2018-1-4 08:00:17] [FHEM] wz_Jalousien has
[2018-1-4 08:00:17] [FHEM]   CurrentPosition [position]
[2018-1-4 08:00:17] [FHEM]   TargetPosition [position]
[2018-1-4 08:00:17] [FHEM] { reading: 'position',
  invert: true,
  device: 'wz_Jalousien',
  informId: 'wz_Jalousien-position',
  characteristic_type: 'CurrentPosition',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2018-01-04 08:00:17 caching: wz_Jalousien-position: 100
[2018-1-4 08:00:17] [FHEM] { reading: 'position',
  cmd: 'pos',
  delay: true,
  invert: true,
  device: 'wz_Jalousien',
  informId: 'wz_Jalousien-position',
  characteristic_type: 'TargetPosition',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }

Mave

justme,

hast Du eine Idee, woran es liegen könnte?

Vielen Dank.

Mave

Moin zusammen,

ich habe eine Frage zur Steuerung von mehreren identischen Geräten in einem Raum.

Wenn in einem alexaRoom mehrere Devices denselben alexaName bekommen, meckert Alexa, dass sie mehrere Geräte mit demselben Namen gefunden hat und verweigert die Arbeit.

Kann man Alexa dazu bringen, dass sie in diesem Fall einfach alle Geräte mit dem identischen Namen schaltet?

Ich weiß, dass ich die Geräte natürlich in der Alexa App zu einer Gruppe zusammenfügen und damit steuern kann. Aber dafür muss ich mir wieder einen Namen für die Gruppe ausdenken und das möchte ich - wenn's geht - vermeiden.

Geht das nur über eine Gruppe von identischen Geräten oder eine structure?

Wenn ich z.B. alle Rollläden auf einem Stockwerk gleichzeitig öffnen oder schließen möchte, geht das auch nur über eine structure?

Sorry, für die vielleicht "dummen" Fragen. Aber bei dem Thema Alexa kann man lesen so viel man will, gefühlt versteht man nie alles und es bleiben immer Fragen offen.

Vielen Dank.