Nach einigen Anlaufschwierigkeiten habe ich mein FHEM endlich dazu bekommen, sich mit Alexa zu unterhalten :)
Ich habe den Lampen, Steckkdosen, Rolläden und diversen Sensoren jetzt (Alexa) Namen gegeben und angefangen zu testen. Zunächst mal eine Frage zu den Attributen:
- alexaName ist der Name, also z.B. "Rolladen Wohnzimmer"
- alexaRoom wäre in dem Fall "Wohnzimmer"
- alexaProactiveEvents habe ich nicht verwendet (wozu bräuchte ich das ?)
Wofür genau wird alexaRoom genutzt ? Ich hätte mir vorstellen können den Raum dann im Namen wegzulassen, aber das funktionierte nicht.
Ich habe folgende genericDeviceType Werte eingesetzt:
- Lampen "light"
- Rolläden "blind"
- Steckdosen "ignore"
Ich kann jetzt schonmal alle Lampen gebündelt an/aus schalten (ohne "ignore" bei den Steckdosen wurden die auch geschaltet).
Probleme hab' ich bei
- Steckdosen - hatte ich auf "outlet" statt "ignore", konnte aber z.B. nicht "schalte alle Steckdosen an" sagen
- Rollläden - reagieren nicht, seit sie auf "blind" stehen
- Luftfeuchtigkeit (Sensoren) - die kennt Alexa wohl nicht
Was ich auf jeden Fall noch umsetzen möchte ist die Anwesenheitssteuerung. Ich habe ein Dummy "HomeStatus" mit den Werten "home", "away", "holiday", sleep".
Gibt es da irgendeine Möglichkeit diesen Status über die Standard Routinen (Alexa, guten Tag usw.) zu steuern ?
Das sind ja viele Punkte... ;)
Ich fang schon mal an:
das hast du gelesen?
https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#Ger.C3.A4te_im_FHEM-Webfrontend_zuweisen
Da sind schon mal mindestens 2 deiner Fragen beantwortet ;)
alexaRoom: das ist (bis auf Ausnahmen) nur für den Custom Skill
Auch wie alexa-fhem die "Möglichkeiten" der Geräte/Devices erkennt wird behandelt und auch was generell überhaupt geht (wichtig ist nat. am Anfang, bei Amazon, zu beginnen: was da nicht geht [verm. immer noch Luftfeuchte] geht nat. nicht)...
in alexaName sollte man keine Raumnamen haben. Räume gehen über Gruppen in der Alexa-App (sollte)...
Dann geht z.B. "Alexa, schalte das Licht im Wohnzimmer aus", dann sollten alle Lichter (also gefundene Devices die Lichter sind) in der Gruppe Wohnzimmer aus gehen usw.
Bzgl. Rollladen gibt es einen extra Thread...
proactiveEvents: damit kann die "Automatisierung" nach Amazon "verlagert" werden.
Also z.B. ein Fenstersensor (MIT proactiveEvents) meldet offen/geschlossen, dann kann in der Alexa-App das als "Trigger" für Aktionen (Routinen) verwendet werden...
So weit so schnell ;)
Gruß, Joachim
Zitat von: MadMax-FHEM am 21 Januar 2021, 14:48:10
das hast du gelesen?
https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#Ger.C3.A4te_im_FHEM-Webfrontend_zuweisen
Da sind schon mal mindestens 2 deiner Fragen beantwortet ;)
in alexaName sollte man keine Raumnamen haben. Räume gehen über Gruppen in der Alexa-App (sollte)...
Bzgl. Rollladen gibt es einen extra Thread...
proactiveEvents: damit kann die "Automatisierung" nach Amazon "verlagert" werden.
Erstmal danke für die schnelle Antwort :)
ja, hab ich gelesen - vielleicht nicht so aufmerksam ;)
- alexaRoom hab' ich jetzt mal entfernt
- alexaProactiveEvents tangiert mich aktuell nicht
- Rollladen muss ich noch den thread suchen
Den Raum in alexaName hatte ich eingebaut um identischen alexaName Werte zu vermeiden. Wenn das aber funktioniert 5x Deckenlicht zu haben, ist das für mich auch ok :) Räume hab' ich in Alexa schon angelegt.
Das mit der Luftfeuchtigkeit hatte ich gelesen ... hoffe das kommt irgendwann noch.
Fehlt dann aktuell (wenn ich den Rollladen Thread mit positivem Ergebnis durch habe) nur noch
- Steckdosen
- HomeStatus
Dann teste ich mal weiter :)
p.s.: gibt es irgendwo Infos zum Custom Skill ?
das mit den Steckdosen nervt ziemlich ... ich habe in der Küche Teekocher, Kaffeemaschine und Toaster jeweils an einer Funksteckdose.
Setze ich genericDeviceType auf "ignore" kann ich keine davon per Alexa schalten, mache ich es nicht werden bei "licht aus" alle Steckdosen ausgeschaltet :-\
Meine (Homematic-)Steckdosen kommen ohne genericDeviceType aus und stehen in der Alexa-App als Schalter.
Zitat von: rabehd am 21 Januar 2021, 16:43:09
Meine (Homematic-)Steckdosen kommen ohne genericDeviceType aus und stehen in der Alexa-App als Schalter.
Wenn ich genericDeviceType entferne, wird die Steckdose immer noch als Lampe angezeigt. Ich kann sie dann zwar per Alexa an und ausschalten, aber wenn ich "alexa, licht aus" sage, geht auch die Steckdose und somit z.B. die Kaffemaschine aus.
Gehe doch mal in der Alexa App auf Deine Steckdose, dann oben rechts aufs Zahnrad dann steht da unter "Info" der Punkt "Typ" hier mal drauf klicken und "Steckdose" auswählen (vorher war vermutlich der Typ Licht eingetragen)
Das sollte dann funktionieren und die Steckdose nicht mehr als Licht erkannt werden und so über ihren Namen oder den Raum angesprochen werden können.
ignore bedeutet ignorieren. klar das sie dann nicht verwendet werden können.
wenn etwas keine lampe ist solltest du auch nicht light als genericDeviceType verwenden. switch oder outlet wäre für steckdosen richtig.
generische namen kennt alexa aktuell scheinbar nur für licht, rollläden und thermostate. steckdosen noch nicht. -> bei amazon beschweren.
ZitatWenn ich genericDeviceType entferne, wird die Steckdose immer noch als Lampe angezeigt.
Wenn Du nicht mehr getan hast, dann ist das klar.
Entweder der Tip mit dem Ändern in der App oder in der App löschen und Neueinlesen. Vorher aber auch ein Restart des Alexa-Device.
Zitat von: justme1968 am 21 Januar 2021, 18:37:32
ignore bedeutet ignorieren. klar das sie dann nicht verwendet werden können.
wenn etwas keine lampe ist solltest du auch nicht light als genericDeviceType verwenden. switch oder outlet wäre für steckdosen richtig.
Die Steckdose war auch nie als "light" definiert, sondern als "outlet", "ignore" oder ohne genericDeviceType. Dass "ignore" ignorieren bedeutet ist schon klar - war ja auch Absicht, damit die Kaffeemaschine an bleibt, wenn ich alle Lampen aus mache ...
Zitat von: rabehd am 21 Januar 2021, 19:57:52
Wenn Du nicht mehr getan hast, dann ist das klar.
Natürlich wurde ein Alexa restart ausgeführt und Geräte (im Browser unter alexa.amazon.de) neu gesucht.
Zitat von: Andi35 am 21 Januar 2021, 17:17:41
Gehe doch mal in der Alexa App auf Deine Steckdose, dann oben rechts aufs Zahnrad dann steht da unter "Info" der Punkt "Typ" hier mal drauf klicken und "Steckdose" auswählen (vorher war vermutlich der Typ Licht eingetragen)
Ich habe die Steckdosen jetzt aus der Alexa App entfernt, als genericDeviceType "outlet" eingerichtet, Alexa neu gestartet und nach neuen Geräten gesucht.
Ergebnis: Die Steckdosen erscheinen - wie zuvor - als Lampen. In den Einstellungen sehe ich zwar den Typ "Lampe" (weshalb auch immer), kann ihn aber nicht ändern. Wenn ich drauf klicke passiert gar nichts. Das einzige, was ich in der App ändern kann ist der Name.
schau doch mal, ob die Characteristics richtig sind bei Deinen Devices, näheres siehe "Alexa und Mappings"
Wenn das -aus welchen Gründen auch immer- nicht passt, dann geht's halt nicht.
Zeig doch mal ein List einer der Steckdosen die als light gefunden werden und eines der Rollläden der nicht reagiert.
Auch wenn man eine gewisse Vorstellung des Anwesenheits-Dummy hat, auch ein List von dem.
Zitat von: guhu am 22 Januar 2021, 09:11:36
schau doch mal, ob die Characteristics richtig sind bei Deinen Devices, näheres siehe "Alexa und Mappings"
Wenn das -aus welchen Gründen auch immer- nicht passt, dann geht's halt nicht.
Ich vermute mal Du beziehst dich auf das Attribut alexaMapping. Das Attribut ist seit Definition unverändert
#Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um
Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220
Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER
TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
Ich hab' jetzt mal spasseshalber genericDeviceType auf "switch" gesetzt. Auch dann wird das Gerät als Lampe angezeigt. In der Alexa App kann man leider nur Switch > Lampe ändern, aber nicht umgekehrt.
Eine Sache ist noch seltsam:
Ich hab' 2 verschiedene Typen von Steckdosen
- Greenwave PowerNode (ZWave): 1x als Lampe, 1x als Steckdose
- Aeotec Smart Switch (ZWave): 3x Steckdose
Die Aeotecs werden immer - egal ob oder welcher genericDeviceType genutzt wird - als Lampe angezeigt.
Die Greenwave Steckdose, die nicht als Lampe definiert ist, kann ich umschalten zwischen Lampe und Schalter. Da sie aber über einen Luftfeuchtigkeitssensor aktiviert wird, hab' ich sie auf "ignore" stehen.
Zitat von: TomLee am 22 Januar 2021, 09:27:51
Zeig doch mal ein List einer der Steckdosen die als light gefunden werden und eines der Rollläden der nicht reagiert.
Auch wenn man eine gewisse Vorstellung des Anwesenheits-Dummy hat, auch ein List von dem.
Steckdose
Internals:
DEF xxxxxxxx 27
FUUID xxxxxxxx-xxxxxxxxx-xxxx-xxxxxxxxxxxxxxxx
IODev AeonGen5
NAME Aeotec_Smart_Switch_6_ID27
NR 148
STATE on
TYPE ZWave
ZWaveSubDevice no
homeId xxxxxxxx
nodeIdHex 1b
READINGS:
2021-01-21 16:53:57 CMD ZW_APPLICATION_UPDATE
2019-09-25 10:20:59 UNPARSED SENSOR_MULTILEVEL 063101012200d6
2021-01-22 08:31:05 basicReport 255
2020-02-09 22:33:10 config_85 5
2019-11-08 14:27:38 deviceName Kaffeemaschine
2019-10-30 19:35:49 devices
2020-03-26 12:32:02 energy 2.92 kWh
2019-10-30 19:35:49 plugsOn 0
2019-01-04 14:40:56 setOnHomeDay on
2019-01-04 14:41:02 setOnHomeNight on
2019-01-04 14:41:10 setOnHomeTwilight on
2021-01-22 08:31:05 state on
2019-09-24 12:59:21 temperature 21.6 C
2021-01-22 08:31:05 timeToAck 0.133
2021-01-22 08:31:05 transmit OK
Attributes:
DbLogExclude .*
DbLogInclude state:3600
IODev AeonGen5
Plugs Plugs
alexaName Kaffeemaschine
alias Kaffeemaschine
classes ZWAVEPLUS_INFO SWITCH_BINARY SWITCH_MULTILEVEL COLOR_CONTROL CONFIGURATION SWITCH_ALL METER CLOCK ASSOCIATION ASSOCIATION_GRP_INFO MANUFACTURER_SPECIFIC VERSION FIRMWARE_UPDATE_MD POWERLEVEL MARK DEVICE_RESET_LOCALLY HAIL
genericDeviceType switch
group Steckdosen
icon hue_filled_outlet
room Raum_EG_Küche
stateFormat {ReadingsVal("Aeotec_Smart_Switch_6_ID27","basicReport","") eq "255" ? "on" : "off" }
userattr Plugs Plugs_map group_map structexclude
vclasses ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 CLOCK:1 COLOR_CONTROL:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:2 HAIL:1 MANUFACTURER_SPECIFIC:2 METER:3 POWERLEVEL:1 SWITCH_ALL:1 SWITCH_BINARY:1 SWITCH_MULTILEVEL:2 VERSION:2 ZWAVEPLUS_INFO:2
Rolladen
Internals:
AeonGen5_MSGCNT 1
AeonGen5_RAWMSG 000400110a32022144000000cf0000
AeonGen5_TIME 2021-01-22 09:21:38
DEF xxxxxxxx 17
FUUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx
IODev AeonGen5
LASTInputDev AeonGen5
MSGCNT 1
NAME FGR222_ID17
NR 115
STATE dim 98
TYPE ZWave
ZWaveSubDevice no
homeId xxxxxxxx
isWakeUp
nodeIdHex 11
READINGS:
2019-05-19 18:05:20 UNKNOWN multilevel type 00 fl: 22 arg: 0000
2018-11-16 17:24:25 UNPARSED SENSOR_MULTILEVEL 063101042204fa
2019-01-02 10:35:27 battery 100 %
2019-01-02 10:35:27 batteryPercent 100
2019-01-02 10:35:27 batteryState ok
2018-08-02 10:35:41 configEnergyReports 10
2018-08-02 10:35:41 configInRollerBlindModeOrVenetianBlind17 10
2018-08-02 10:35:41 configInVenetianBlindModeTheParameter12 150
2018-08-02 10:35:46 configManagingLamellasInResponseTo35 SetLamellasToTheirExtreme1
2018-08-02 10:35:47 configMotorOperationDetection 10
2018-08-02 10:35:47 configMotorOperationTime 240
2018-08-02 10:35:47 configPeriodicPowerOrEnergyReports 3600
2018-08-02 10:35:47 configPowerReports 10
2018-08-02 10:35:52 configReportsType BlindPositionReportsSentToThe1
2018-08-02 10:35:53 configResponseToFloodingAlarm NoReaction
2018-08-02 10:35:53 configResponseToGeneralAlarm CloseBlind
2018-08-02 10:35:53 configResponseToSmokeCOOrCO2Alarm OpenBlind
2018-08-02 10:35:54 configResponseToTemperatureAlarm OpenBlind
2018-08-02 10:35:55 configRollerShutterOperatingModes 1RollerBlindModeWithPositioning
2018-08-02 10:35:55 configScenesAssociationsActivation AssociationsActivation
2018-08-02 10:35:55 configSelfMeasurement SelfMeasurementInactive
2018-08-02 10:35:56 configSetLamellasBackToPrevious13 1LamellasReturnToPreviouslySet1
2018-08-02 10:35:56 configSwitchType MomentarySwitches
2019-10-31 09:47:05 devices
2021-01-22 09:21:38 energy 2.07 kWh
2018-08-02 10:34:07 model FIBARO System FGRM222 Roller Shutter Controller 2
2018-08-02 10:34:07 modelConfig fibaro/fgrm222.xml
2018-08-02 10:34:07 modelId 010f-0302-1000
2021-01-22 07:40:47 position 96
2021-01-22 08:40:47 power 0.0 W
2016-11-19 17:57:01 reportedState off
2019-10-31 09:47:05 shuttersOpen 0
2021-01-22 07:40:26 state dim 98
2021-01-22 07:40:26 timeToAck 0.313
2021-01-22 07:40:26 transmit OK
2019-04-19 05:38:05 ultraviolet 0 UV
2018-09-19 14:15:44 undef 0.93 undef
Attributes:
IODev AeonGen5
Shutters Shutters
alexaName Rolladen Büro
alias Rollladen
classes MULTI_CHANNEL_ASSOCIATION MANUFACTURER_SPECIFIC VERSION CONFIGURATION ASSOCIATION POWERLEVEL METER SWITCH_MULTILEVEL SENSOR_MULTILEVEL SWITCH_BINARY MANUFACTURER_PROPRIETARY PROTECTION MARK METER SENSOR_MULTILEVEL MANUFACTURER_PROPRIETARY SCENE_ACTIVATION SWITCH_MULTILEVEL SWITCH_BINARY
genericDeviceType blind
group Rollladen
icon fts_shutter
room Raum_EG_Büro
roomName Büro
userattr Shutters Shutters_map group_map structexclude
vclasses ASSOCIATION:2 CONFIGURATION:1 MANUFACTURER_PROPRIETARY:1 MANUFACTURER_SPECIFIC:1 METER:2 MULTI_CHANNEL_ASSOCIATION:2 POWERLEVEL:1 PROTECTION:2 SCENE_ACTIVATION:1 SENSOR_MULTILEVEL:2 SWITCH_BINARY:1 SWITCH_MULTILEVEL:3 VERSION:1
Homestatus
Internals:
FUUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx
NAME HomeStatus
NR 237
STATE Home
TYPE dummy
READINGS:
2021-01-22 08:01:28 state Home
Attributes:
group Anlagenstatus
icon status_available
room System
setList Home Bed Away Holiday
Zitat von: dt2510 am 22 Januar 2021, 09:33:11
Ich hab' jetzt mal spasseshalber genericDeviceType auf "switch" gesetzt. Auch dann wird das Gerät als Lampe angezeigt. In der Alexa App kann man leider nur Switch > Lampe ändern, aber nicht umgekehrt.
Interessanterweise wird die Steckdose in der Alexa App immer noch als Lampe angezeigt, aber nicht mehr mit den Lampen geschaltet. Ich kann sie also normal per "Kaffeemaschine an" einschalten usw. bei "Licht an" oder "Licht aus" wird sie - wie gewünscht - nicht geschaltet.
editKommando zurück ... die Steckdosen waren nicht im Raum "Küche" (wie die Beleuchtung) - werden immer noch mit dem Licht geschaltet. :-[
Und wenn du die Steckdose jetzt aus der App löschst, vorsichtshalber nochmal alexa-fhem neu startest und die Gerätesuche startest, ist es dann ein switch ?
Zitat von: TomLee am 22 Januar 2021, 10:03:15
Und wenn du die Steckdose jetzt aus der App löschst, vorsichtshalber nochmal alexa-fhem neu startest und die Gerätesuche startest, ist es dann ein switch ?
- Steckdose aus der App gelöscht
- alexa-fhem neu gestartet
- Gerätesuche gestartet
Ergebnis: Lampe
Ich habe mal noch ins Alexa Protokoll gesehen und einige merkwürdige Einträge gefunden:
[22.1.2021, 10:11:28] [FHEM] Aeotec_Smart_Switch_6_ID27-rgb reading2homekit: TypeError: Cannot read property '2' of undefined
[22.1.2021, 10:11:28] [FHEM] Aeotec_Smart_Switch_6_ID27-rgb reading2homekit: TypeError: Cannot read property '0' of undefined
[22.1.2021, 10:11:28] [FHEM] Aeotec_Smart_Switch_6_ID27-rgb reading2homekit: TypeError: Cannot read property '1' of undefined
[22.1.2021, 10:11:28] [FHEM] Aeotec_Smart_Switch_6_ID27-rgb reading2homekit: TypeError: Cannot read property '2' of undefined
Es scheint so als ob das Alexa device die Steckdose schon falsch erkennt...
Hier noch ein list des alexa devices
Internals:
FD 37
FUUID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx
FVERSION 39_alexa.pm:0.216510/2020-04-12
LAST_START 2021-01-22 10:10:05
LAST_STOP 2021-01-22 10:10:05
NAME Alexa
NOTIFYDEV global,global:npmjs.*alexa-fhem.*
NR 403
NTFY_ORDER 50-Alexa
PARTIAL
PID 8253
STARTS 4
STATE running /usr/local/bin/alexa-fhem
TYPE alexa
active 0
alexa-fhem version 0.5.57
currentlogfile ./log/alexa-2021-01-22.log
logfile ./log/alexa-%Y-%m-%d.log
CoProcess:
cmdFn alexa_getCMD
name alexaFHEM
state running /usr/local/bin/alexa-fhem
Helper:
DBLOG:
alexaFHEM:
logdb:
TIME 1611306605.31837
VALUE running /usr/local/bin/alexa-fhem
alexaFHEM.ProxyConnection:
logdb:
TIME 1611306607.20927
VALUE running; SSH connected
READINGS:
2021-01-22 10:10:05 alexaFHEM running /usr/local/bin/alexa-fhem
2021-01-22 10:10:07 alexaFHEM.ProxyConnection running; SSH connected
2021-01-21 11:01:44 alexaFHEM.bearerToken crypt:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2021-01-21 11:01:44 alexaFHEM.skillRegKey crypt:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
helper:
Attributes:
alexaFHEM-config ./alexa-fhem.cfg
alexaFHEM-log ./log/alexa-%Y-%m-%d.log
alexaMapping #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um
Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220
Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER
TargetPosition=verb=mach,articles=den;die,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
alexaTypes #Type=<alias>[,<alias2>[,...]]
light=licht,lampen
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
outlet=steckdose,steckdosen
devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop
echoRooms #<deviceId>=<room>
fhemIntents #IntentName=<sample utterance>
gutenMorgen=guten morgen
guteNacht=gute nacht
persons #<personId>=<name>
room Amazon
stateFormat alexaFHEM
Zitat von: dt2510 am 22 Januar 2021, 10:21:35
Ich habe mal noch ins Alexa Protokoll gesehen und einige merkwürdige Einträge gefunden:
[22.1.2021, 10:11:28] [FHEM] Aeotec_Smart_Switch_6_ID27-rgb reading2homekit: TypeError: Cannot read property '2' of undefined
[22.1.2021, 10:11:28] [FHEM] Aeotec_Smart_Switch_6_ID27-rgb reading2homekit: TypeError: Cannot read property '0' of undefined
[22.1.2021, 10:11:28] [FHEM] Aeotec_Smart_Switch_6_ID27-rgb reading2homekit: TypeError: Cannot read property '1' of undefined
[22.1.2021, 10:11:28] [FHEM] Aeotec_Smart_Switch_6_ID27-rgb reading2homekit: TypeError: Cannot read property '2' of undefined
Es scheint so als ob das Alexa device die Steckdose schon falsch erkennt...
Naja, wenn du schon den Verdacht hast: schau ins alexa-fhem Log bzgl. Erkennung der Steckdose ;)
Gruß, Joachim
Zitat von: MadMax-FHEM am 22 Januar 2021, 10:33:39
Naja, wenn du schon den Verdacht hast: schau ins alexa-fhem Log bzgl. Erkennung der Steckdose ;)
Gruß, Joachim
hier ein Auszug mit der letzten Erkennung
[22.1.2021, 10:10:06] [FHEM] Aeotec_Smart_Switch_6_ID27 is light
[22.1.2021, 10:10:06] [FHEM] Aeotec_Smart_Switch_6_ID27 has
[22.1.2021, 10:10:06] [FHEM] On [state;on,off]
[22.1.2021, 10:10:06] [FHEM] Brightness [rgb]
[22.1.2021, 10:10:06] [FHEM] Custom Color Temperature [color]
[22.1.2021, 10:10:06] [FHEM] Hue [rgb;rgb;0-359]
[22.1.2021, 10:10:06] [FHEM] Saturation [rgb;rgb;0-100]
[22.1.2021, 10:10:06] [FHEM] Custom Energy [energy]
[22.1.2021, 10:10:06] [FHEM] CurrentTemperature [temperature]
Warum erkennt er das Gerät als "light" obwohl es als genericDeviceType "switch" definiert ist ?
Zitatclasses ZWAVEPLUS_INFO SWITCH_BINARY SWITCH_MULTILEVEL COLOR_CONTROL CONFIGURATION SWITCH_ALL METER CLOCK ASSOCIATION ASSOCIATION_GRP_INFO MANUFACTURER_SPECIFIC VERSION FIRMWARE_UPDATE_MD POWERLEVEL MARK DEVICE_RESET_LOCALLY HAIL
Hab kein Zwave, muss diese Angabe bei einer Steckdose sein, gibts deswegen irgendwelche setter zu Farbsteuerung zu Auswahl ?
Kannst du mal noch ein
jsonlist2 Aeotec_Smart_Switch_6_ID27 zeigen.
Die classes wurden automatisch angelegt COLOR_CONTROL kann ich aber mal entfernen.
Hier noch der jsonlist
{
"Arg":"Aeotec_Smart_Switch_6_ID27",
"Results": [
{
"Name":"Aeotec_Smart_Switch_6_ID27",
"PossibleSets":"associationAdd associationDel clock:noArg color configByte configDefault configLong configWord dim:slider,0,1,99 dimUpDown dimUpDownWithDuration dimWithDuration fwUpdate meterReset:noArg neighborUpdate:noArg off:noArg on:noArg powerlevel powerlevelTest returnRouteAdd returnRouteDel:noArg rgb:colorpicker,RGB stop:noArg swaIncludeNone:noArg swaIncludeOff:noArg swaIncludeOn:noArg swaIncludeOnOff:noArg swaOff:noArg swaOn:noArg wcrgb off-till-overnight blink off-for-timer toggle intervals on-for-timer on-till-overnight off-till on-till attrTemplate:?,General_Info_ZWave,zwave_delete_error_readings,zwave_get_myutils_from_svn,zwave_showcase_show_main_and_channel_devices_2,----Fibaro-devices-section--------,FGRM222_Roller_Mode,FGRM222_Ventian_Blind_Mode,FGR223_Roller_Mode,FGR223_Venetian_Mode,FGRM222_Choice_demo,----AEOTEC-devices-section--------,ZW095_Home_Energy_Meter,ZW100_Multisensor_Battery,ZW100_Multisensor_USB,ZWA005_TriSensor,----Eurotronic-devices-section--------,Eurotronic_Spirit,speech_recognition_general_naming_master_template,speechcontrol_general_naming_master_template",
"PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev WNMI_delay classes disable:0,1 disabledForIntervals do_not_notify:1,0 dummy:1,0 eventForRaw extendedAlarmReadings:0,1,2 ignore:1,0 ignoreDupMsg:1,0 neighborListPos noExplorerFrames:1,0 noWakeupForApplicationUpdate:1,0 secure_classes setExtensionsEvent:1,0 setList showtime:1,0 vclasses useMultiCmd:1,0 useCRC16:1,0 zwaveRoute event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading DbLogExclude DbLogInclude DbLogValueFn:textField-long alexaName alexaProactiveEvents:1,0 alexaRoom automateOnDaylightChange automateOnHomestatusChange automationDevice cmdIcon devStateIcon devStateIcon:textField-long devStateStyle deviceName deviceType genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,scene homebridgeMapping:textField-long humidityDevice icon readingsWatcher roomName sortby temperatureDevice1 temperatureDevice2 temperatureDevice3 temperatureDevice4 thermostatDevice webCmd webCmdLabel:textField-long widgetOverride windowDevice1 windowDevice2 windowDevice3 windowDevice4 Plugs Plugs_map group_map structexclude userattr",
"Internals": {
"AeonGen5_MSGCNT": "11",
"AeonGen5_RAWMSG": "0004001b032003ff",
"AeonGen5_TIME": "2021-01-22 10:02:19",
"DEF": "xxxxxxxx 27",
"FUUID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxxx",
"IODev": "AeonGen5",
"LASTInputDev": "AeonGen5",
"MSGCNT": "11",
"NAME": "Aeotec_Smart_Switch_6_ID27",
"NR": "148",
"STATE": "on",
"TYPE": "ZWave",
"ZWaveSubDevice": "no",
"cmdsPending": "0",
"homeId": "xxxxxxxx",
"isWakeUp": "",
"lastMsgSent": "1611306138.78284",
"nodeIdHex": "1b"
},
"Readings": {
"CMD": { "Value":"ZW_APPLICATION_UPDATE", "Time":"2021-01-21 16:53:57" },
"UNPARSED": { "Value":"SENSOR_MULTILEVEL 063101012200d6", "Time":"2019-09-25 10:20:59" },
"basicReport": { "Value":"255", "Time":"2021-01-22 10:02:19" },
"config_85": { "Value":"5", "Time":"2020-02-09 22:33:10" },
"deviceName": { "Value":"Kaffeemaschine", "Time":"2019-11-08 14:27:38" },
"devices": { "Value":"", "Time":"2019-10-30 19:35:49" },
"energy": { "Value":"2.92 kWh", "Time":"2020-03-26 12:32:02" },
"plugsOn": { "Value":"0", "Time":"2019-10-30 19:35:49" },
"setOnHomeDay": { "Value":"on", "Time":"2019-01-04 14:40:56" },
"setOnHomeNight": { "Value":"on", "Time":"2019-01-04 14:41:02" },
"setOnHomeTwilight": { "Value":"on", "Time":"2019-01-04 14:41:10" },
"state": { "Value":"on", "Time":"2021-01-22 10:02:18" },
"temperature": { "Value":"21.6 C", "Time":"2019-09-24 12:59:21" },
"timeToAck": { "Value":"0.132", "Time":"2021-01-22 10:02:18" },
"transmit": { "Value":"OK", "Time":"2021-01-22 10:02:18" }
},
"Attributes": {
"DbLogExclude": ".*",
"DbLogInclude": "state:3600",
"IODev": "AeonGen5",
"Plugs": "Plugs",
"alexaName": "Kaffeemaschine",
"alias": "Kaffeemaschine",
"automateOnHomestatusChange": "1",
"automationDevice": "Plug",
"classes": "ZWAVEPLUS_INFO SWITCH_BINARY SWITCH_MULTILEVEL COLOR_CONTROL CONFIGURATION SWITCH_ALL METER CLOCK ASSOCIATION ASSOCIATION_GRP_INFO MANUFACTURER_SPECIFIC VERSION FIRMWARE_UPDATE_MD POWERLEVEL MARK DEVICE_RESET_LOCALLY HAIL",
"deviceName": "Kaffeemaschine",
"genericDeviceType": "switch",
"group": "Steckdosen",
"icon": "hue_filled_outlet",
"room": "Raum_EG_Küche",
"roomName": "Küche",
"stateFormat": "{ReadingsVal(\"Aeotec_Smart_Switch_6_ID27\",\"basicReport\",\"\") eq \"255\" ? \"on\" : \"off\" }",
"userattr": "Plugs Plugs_map group_map structexclude",
"vclasses": "ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 CLOCK:1 COLOR_CONTROL:1 CONFIGURATION:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:2 HAIL:1 MANUFACTURER_SPECIFIC:2 METER:3 POWERLEVEL:1 SWITCH_ALL:1 SWITCH_BINARY:1 SWITCH_MULTILEVEL:2 VERSION:2 ZWAVEPLUS_INFO:2"
}
} ],
"totalResultsReturned":1
}
Zitat von: TomLee am 22 Januar 2021, 11:35:05
Hab kein Zwave, muss diese Angabe bei einer Steckdose sein, gibts deswegen irgendwelche setter zu Farbsteuerung zu Auswahl ?
Kannst du mal noch ein jsonlist2 Aeotec_Smart_Switch_6_ID27 zeigen.
:)
Und ja immer zum Log passende lists oder jsonist2
Weil im letzten list zum Aktor/Steckdose konnte ich das genericDeviceType nicht entdecken... ;)
EDIT: also in dem vor dem jetzt "nachgereichten" ;)
Im Wiki steht ja wie alexa-fhem Geräte/Eigenschaften erkennt.
EDIT: und zum Vorteil vieler wird halt schon recht viel automatisch erkannt (u.a. anhand vorhandener Readings, setter, ...), ohne groß was angeben zu müssen (oft zumindest kein homebridgeMapping, worüber ja viele froh sind ;) )...
Wenn etwas nicht passt, dann kann genericDeviceType "unterstützen" und man auch mit einem homebridgeMapping (weiter) "korrigieren"...
Gruß, Joachim
Zitat von: dt2510 am 22 Januar 2021, 11:38:05
Die classes wurden automatisch angelegt COLOR_CONTROL kann ich aber mal entfernen.
Alexa erkennt ihn dann als switch
[22.1.2021, 11:39:12] [FHEM] Aeotec_Smart_Switch_6_ID27 is switch
Na dann ...
gehts weiter mit den Rollläden, schau auch da mal ins Log und zeig ein jsonlist2.
Ich bekomme die Steckdosen jetzt auch als Schalter in der Raumübersicht der Alexa App angezeigt - die Rollläden noch nicht ... ich vermute da ist es ähnlich.
Im Alexa Log werden sie als "blind" erkannt. Ich tippe darauf, dass nicht richtig gemappt wird. Hier der jsonlist
{
"Arg":"FGR222_ID33",
"Results": [
{
"Name":"FGR222_ID33",
"PossibleSets":"associationAdd associationDel configByte configDefault configEnergyReports configForcedRollerShutterCalibration:StartCalibrationProcess,Default configInRollerBlindModeOrVenetianBlind17 configInVenetianBlindModeTheParameter12 configLocalProtection:NoProtection0,NotSupported,LocalProtectionActive2 configLong configManagingLamellasInResponseTo35:SetLamellasToTheirExtreme1,DoNotChangeLamellasPosition0 configMotorOperationDetection configMotorOperationTime configPeriodicPowerOrEnergyReports configPowerReports configRFProtectionRadioProtection:RFProtectionActive1,NoProtection0,NotSupported configReportsType:BlindPositionReportsSentToThe0,BlindPositionReportsSentToThe1 configResponseToFloodingAlarm:CloseBlind,NoReaction,OpenBlind configResponseToGeneralAlarm:CloseBlind,OpenBlind,NoReaction configResponseToSmokeCOOrCO2Alarm:NoReaction,OpenBlind,CloseBlind configResponseToTemperatureAlarm:CloseBlind,NoReaction,OpenBlind configRollerShutterOperatingModes:1RollerBlindModeWithPositioning,4GateModeWithPositioning,2VenetianBlindModeWith2,0RollerBlindModeWithout0,3GateModeWithoutPositioning configScenesAssociationsActivation:AssociationsActivation,ScenesActivation configSelfMeasurement:SelfMeasurementInactive,SelfMeasurementActive configSetLamellasBackToPrevious13:2LamellasReturnToPreviouslySet2,1LamellasReturnToPreviouslySet1,0LamellasReturnToPreviouslySet0 configSwitchType:ToggleSwitches,SingleMomentarySwitch,MomentarySwitches configWord dim:slider,0,1,99 dimUpDown dimUpDownIncDecWithDuration dimUpDownWithDuration dimWithDuration mcaAdd mcaDel meterReset:noArg neighborUpdate:noArg off:noArg on:noArg positionBlinds positionSlat powerlevel powerlevelTest protectionBytes protectionOff:noArg protectionOn:noArg protectionSeq:noArg returnRouteAdd returnRouteDel:noArg sceneActivate stop:noArg blink off-for-timer off-till-overnight toggle intervals on-for-timer on-till-overnight off-till on-till attrTemplate:?,General_Info_ZWave,zwave_delete_error_readings,zwave_get_myutils_from_svn,zwave_showcase_show_main_and_channel_devices_2,----Fibaro-devices-section--------,FGRM222_Roller_Mode,FGRM222_Ventian_Blind_Mode,FGR223_Roller_Mode,FGR223_Venetian_Mode,FGRM222_Choice_demo,----AEOTEC-devices-section--------,ZW095_Home_Energy_Meter,ZW100_Multisensor_Battery,ZW100_Multisensor_USB,ZWA005_TriSensor,----Eurotronic-devices-section--------,Eurotronic_Spirit,speech_recognition_general_naming_master_template,speechcontrol_general_naming_master_template",
"PossibleAttrs":"alias comment:textField-long eventMap:textField-long group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev WNMI_delay classes disable:0,1 disabledForIntervals do_not_notify:1,0 dummy:1,0 eventForRaw extendedAlarmReadings:0,1,2 ignore:1,0 ignoreDupMsg:1,0 neighborListPos noExplorerFrames:1,0 noWakeupForApplicationUpdate:1,0 secure_classes setExtensionsEvent:1,0 setList showtime:1,0 vclasses useMultiCmd:1,0 useCRC16:1,0 zwaveRoute event-aggregator event-min-interval event-on-change-reading event-on-update-reading oldreadings stateFormat:textField-long timestamp-on-change-reading DbLogExclude DbLogInclude DbLogValueFn:textField-long alexaName alexaProactiveEvents:1,0 alexaRoom automateOnDaylightChange automateOnHomestatusChange automationDevice cmdIcon devStateIcon devStateIcon:textField-long devStateStyle deviceName deviceType genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,scene homebridgeMapping:textField-long humidityDevice icon readingsWatcher roomName sortby temperatureDevice1 temperatureDevice2 temperatureDevice3 temperatureDevice4 thermostatDevice webCmd webCmdLabel:textField-long widgetOverride windowDevice1 windowDevice2 windowDevice3 windowDevice4 Shutters Shutters_map group_map structexclude userattr",
"Internals": {
"AeonGen5_MSGCNT": "9",
"AeonGen5_RAWMSG": "0004002106310504220000",
"AeonGen5_TIME": "2021-01-22 11:40:27",
"DEF": "xxxxxxxx 33",
"FUUID": "xx",
"IODev": "AeonGen5",
"LASTInputDev": "AeonGen5",
"MSGCNT": "9",
"NAME": "FGR222_ID33",
"NR": "127",
"STATE": "dim 98",
"TYPE": "ZWave",
"ZWaveSubDevice": "no",
"homeId": "xxxxxxxx",
"isWakeUp": "",
"nodeIdHex": "21"
},
"Readings": {
"SEND_DATA": { "Value":"failed:00", "Time":"2019-09-30 19:46:17" },
"UNKNOWN": { "Value":"multilevel type 00 fl: 22 arg: 0509", "Time":"2018-10-01 06:58:40" },
"UNPARSED": { "Value":"SENSOR_MULTILEVEL 06310704220000", "Time":"2020-12-02 12:31:30" },
"battery": { "Value":"100 %", "Time":"2018-09-27 19:46:28" },
"batteryPercent": { "Value":"100", "Time":"2018-09-27 19:46:28" },
"batteryState": { "Value":"ok", "Time":"2018-09-27 19:46:28" },
"configEnergyReports": { "Value":"10", "Time":"2018-08-02 10:36:05" },
"configInRollerBlindModeOrVenetianBlind17": { "Value":"10", "Time":"2018-08-02 10:36:05" },
"configInVenetianBlindModeTheParameter12": { "Value":"150", "Time":"2018-08-02 10:36:06" },
"configManagingLamellasInResponseTo35": { "Value":"SetLamellasToTheirExtreme1", "Time":"2018-08-02 10:36:11" },
"configMotorOperationDetection": { "Value":"10", "Time":"2018-08-02 10:36:11" },
"configMotorOperationTime": { "Value":"240", "Time":"2018-08-02 10:36:12" },
"configPeriodicPowerOrEnergyReports": { "Value":"3600", "Time":"2018-08-02 10:36:12" },
"configPowerReports": { "Value":"10", "Time":"2018-08-02 10:36:12" },
"configReportsType": { "Value":"BlindPositionReportsSentToThe0", "Time":"2018-08-02 10:36:17" },
"configResponseToFloodingAlarm": { "Value":"NoReaction", "Time":"2018-08-02 10:36:17" },
"configResponseToGeneralAlarm": { "Value":"CloseBlind", "Time":"2018-08-02 10:36:18" },
"configResponseToSmokeCOOrCO2Alarm": { "Value":"OpenBlind", "Time":"2018-08-02 10:36:18" },
"configResponseToTemperatureAlarm": { "Value":"OpenBlind", "Time":"2018-08-02 10:36:18" },
"configRollerShutterOperatingModes": { "Value":"1RollerBlindModeWithPositioning", "Time":"2018-08-02 10:36:18" },
"configScenesAssociationsActivation": { "Value":"AssociationsActivation", "Time":"2018-08-02 10:36:18" },
"configSelfMeasurement": { "Value":"SelfMeasurementInactive", "Time":"2018-08-02 10:36:18" },
"configSetLamellasBackToPrevious13": { "Value":"1LamellasReturnToPreviouslySet1", "Time":"2018-08-02 10:36:19" },
"configSwitchType": { "Value":"MomentarySwitches", "Time":"2018-08-02 10:36:19" },
"deviceName": { "Value":"Rollladen", "Time":"2019-11-08 14:27:39" },
"devices": { "Value":"", "Time":"2019-10-31 09:47:30" },
"energy": { "Value":"0.88 kWh", "Time":"2021-01-22 11:23:04" },
"model": { "Value":"FIBARO System FGRM222 Roller Shutter Controller 2", "Time":"2018-08-02 10:34:32" },
"modelConfig": { "Value":"fibaro/fgrm222.xml", "Time":"2018-08-02 10:34:32" },
"modelId": { "Value":"010f-0302-1000", "Time":"2018-08-02 10:34:32" },
"position": { "Value":"96", "Time":"2021-01-22 07:40:28" },
"power": { "Value":"0.0 W", "Time":"2021-01-22 11:40:27" },
"reportedState": { "Value":"dim 98", "Time":"2018-08-02 10:38:33" },
"shuttersOpen": { "Value":"0", "Time":"2019-10-31 09:47:30" },
"state": { "Value":"dim 98", "Time":"2021-01-22 07:40:26" },
"timeToAck": { "Value":"0.307", "Time":"2021-01-22 07:40:26" },
"transmit": { "Value":"OK", "Time":"2021-01-22 07:40:26" },
"undef": { "Value":"0.66 undef", "Time":"2020-06-05 22:30:07" }
},
"Attributes": {
"IODev": "AeonGen5",
"Shutters": "Shutters",
"alexaName": "Rolladen Küche",
"alias": "Rollladen",
"automateOnDaylightChange": "1",
"automateOnHomestatusChange": "1",
"automationDevice": "Shutter",
"classes": "MULTI_CHANNEL_ASSOCIATION MANUFACTURER_SPECIFIC VERSION CONFIGURATION ASSOCIATION POWERLEVEL METER SWITCH_MULTILEVEL SENSOR_MULTILEVEL SWITCH_BINARY MANUFACTURER_PROPRIETARY PROTECTION MARK METER SENSOR_MULTILEVEL MANUFACTURER_PROPRIETARY SCENE_ACTIVATION SWITCH_MULTILEVEL SWITCH_BINARY",
"deviceName": "Rollladen",
"genericDeviceType": "blind",
"group": "Rollladen",
"icon": "fts_shutter",
"room": "Raum_EG_Küche",
"roomName": "Küche",
"userattr": "Shutters Shutters_map group_map structexclude",
"vclasses": "ASSOCIATION:2 CONFIGURATION:1 MANUFACTURER_PROPRIETARY:1 MANUFACTURER_SPECIFIC:1 METER:2 MULTI_CHANNEL_ASSOCIATION:2 POWERLEVEL:1 PROTECTION:2 SCENE_ACTIVATION:1 SENSOR_MULTILEVEL:2 SWITCH_BINARY:1 SWITCH_MULTILEVEL:3 VERSION:1"
}
} ],
"totalResultsReturned":1
}
Ich öffne die Rolläden normalerweise mit "set FGR222_ID33 dim 98" und schließe sie entsprechend mit "set FGR222_ID33 dim 98"
Hier noch der Auszug aus dem Logfile
Ansage war: "Alexa, schließe Rolladen Küche komplett"
[22.1.2021, 12:03:48] [FHEM] FGR222_ID33: executing set cmd for TargetPosition with value NaN
[22.1.2021, 12:03:48] [FHEM] executing: http://127.0.0.1:8084/fhem?cmd=set%20FGR222_ID33%20pct%20NaN&XHR=1
Das device wurde erkannt, allerdings ein pct Wert (NaN ?) gesendet
ZitatIch öffne die Rolläden normalerweise mit "set FGR222_ID33 dim 98" und schließe sie entsprechend mit "set FGR222_ID33 dim 98"
Da stimmt doch was nicht, welcher dim_Befehl öffnet und welcher genau schließt ?
Bestimmt nicht für auf und zu beides mal dim 98.
Und was steh knapp zuvor im Log?
Also was kommt von Amazon?
Evtl. würde man so sehen, warum daraus naN (not a number) wird...
Du bist schon sehr "spärlich"... ;)
Gruß, Joachim
Schätze mal anhand von dim:slider,0,1,99 war mit schließen dim 0 und öffnen dim 99 gemeint.
Wenn du das folgende eventMap-Attribut vergibst:
attr FGR222_ID33 eventMap dim.99:on dim.0:off
das Device vorsichtshalber aus der App löschst, alexa-fhem neustartest und eine neu Gerätesuche machst, geht dann ein Alexa Rolladen Küche ganz hoch/runter
(Rolladen Küche als alexaName ist nicht optimal)
Zitat von: TomLee am 22 Januar 2021, 12:23:13
(Rolladen Küche als alexaName ist nicht optimal)
Und auch nicht korrekt ;)
Zitat
"alexaName": "Rolladen Küche",
"alias": "Rollladen",
Je nachdem wie genau es Amazon nimmt ;)
Gruß, Joachim
Zitat von: TomLee am 22 Januar 2021, 12:11:49
Da stimmt doch was nicht, welcher dim_Befehl öffnet und welcher genau schließt ?
Bestimmt nicht für auf und zu beides mal dim 98.
sorry ... schließen mit dim 0
Zitat von: MadMax-FHEM am 22 Januar 2021, 12:25:39
Und auch nicht korrekt ;)
Je nachdem wie genau es Amazon nimmt ;)
Gruß, Joachim
Ja, da arbeite ich noch dran (vor Allem an den 2-3 l's) ;)
Im Log davor steht
[22.1.2021, 12:03:48] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa.RangeController","name":"AdjustRangeValue","payloadVersion":"3","instance":"Blind.Position","messageId":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"xxxxxxxxxxxxxxxxxxxxxxxx"},"endpointId":"ZWave_xxxxxxxx-33","cookie":{"fuuid":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx","device":"FGR222_ID33"}},"payload":{"rangeValueDelta":-100,"rangeValueDeltaDefault":false}}}
Ich vermute das Problem ist die -100 ... beim Öffnen liefert er übrigens 100 und auch das wird in NaN übersetzt.
Zitat von: TomLee am 22 Januar 2021, 12:23:13
Schätze mal anhand von dim:slider,0,1,99 war mit schließen dim 0 und öffnen dim 99 gemeint.
schließen mit dim 0 und öffnen mit dim 98 (bis 99 lassen sich die Läden nicht öffnen).
Zitat von: TomLee am 22 Januar 2021, 12:23:13
Wenn du das folgende eventMap-Attribut vergibst:
attr FGR222_ID33 eventMap dim.99:on dim.0:off
das Device vorsichtshalber aus der App löschst, alexa-fhem neustartest und eine neu Gerätesuche machst, geht dann ein Alexa Rolladen Küche ganz hoch/runter
hat keine Auswirkung ... es wird immer noch -100/100 in NaN übersetzt und "set FGR222_ID33 pct NaN" ausgeführt
Doofe Frage, kanns ja nicht ausprobieren:
Wenn du in setList das hier ergänzt:
pct:slider,0,1,99
und im eventMap das:
{
usr=>{"^pct(.+)"=>'dim$1'},
fw=>{"^pct(.+)"=>"pct"}
}
Hast du dann einen pct-setter der genau das gleiche wie dim ausführt ?
dann bekomme ich beim Setzen des Attributes setList die Fehlermeldung
setList: unknown value pct:slider, use one of sml_CO2-level sml_airFlow sml_anglePosition sml_atmosphericPressure sml_barometricPressure sml_basicMetabolicRate sml_bloodPressure sml_bodyMassIndex sml_boneMass sml_carbonMonoxide sml_current sml_dewpoint sml_direction sml_distance sml_electricalConductivity sml_electricalResistivity sml_fatMass sml_formaldehydeLevel sml_frequency sml_generalPurpose sml_heartRate sml_humidity sml_loudness sml_luminance sml_methaneDensity sml_moisture sml_muscleMass sml_particulateMatter sml_power sml_radonConcentration sml_rain sml_rotation sml_seismicIntensity sml_seismicMagnitude sml_soilHumidity sml_soilReactivity sml_soilSalinity sml_soilTemperature sml_solarRadiation sml_tankCapacity sml_targetTemperature sml_temperature sml_tideLevel sml_time sml_totalBodyWater sml_ultraviolet sml_velocity sml_volatileOrganicCompound sml_voltage sml_waterTemperature sml_weight
ich kann pct auch nicht per set setzen, das gibt es beim device nicht
im Wiki hab' ich folgendes gefunden:
CurrentPosition Integer position oder pct
Wenn das Device einen set-Befehl position hat: CurrentPosition => reading=position
Wenn TYPE=DUOFERN, werden die Datenwerte invertiert.
Wenn TYPE=SOMFY, werden die Datenwerte invertiert.
Ansonsten wird gemappt: CurrentPosition => reading=pct
Wenn ein Attribut levelInverse gesetzt ist, werden die Datenwerte invertiert.
TargetPosition Integer position oder pct
Wenn das Device einen set-Befehl position hat: TargetPosition => reading=position, cmd=position
Wenn TYPE=DUOFERN, werden die Datenwerte invertiert.
Wenn TYPE=SOMFY, werden die Datenwerte invertiert, und das Kommando zum Setzen wird auf cmd=pos geändert.
Ansonsten wird gemappt: TargetPosition => reading=pct, cmd=pct
Wenn ein Attribut levelInverse gesetzt ist, werden die Datenwerte invertiert.
Die Fibaro Aktoren haben ein "position" Reading, allerdings kann ich das nur auslesen
"set pct" und "set position" gibt es einfach nicht. Ich kann nur per "set dim" steuern. Im reading "state" dann z.B. "dim 98" und im reading "position" "98"
Ich weiß nicht ob das klappt, aber rein aus Interesse, kannst du mal eine Raw Definition von FGR222_ID33 zeigen, inkl. den ganzen Readings (setstate-Zeilen)
bitte :) ein paar Definitionen brauch ich intern für diverse Funktionen in der 99_myUtils.pm
defmod FGR222_ID33 ZWave xxxxxxxx 33
attr FGR222_ID33 userattr Shutters Shutters_map group_map structexclude
attr FGR222_ID33 IODev AeonGen5
attr FGR222_ID33 Shutters Shutters
attr FGR222_ID33 alexaName Rolladen Küche
attr FGR222_ID33 alias Rollladen
attr FGR222_ID33 automateOnDaylightChange 1
attr FGR222_ID33 automateOnHomestatusChange 1
attr FGR222_ID33 automationDevice Shutter
attr FGR222_ID33 classes MULTI_CHANNEL_ASSOCIATION MANUFACTURER_SPECIFIC VERSION CONFIGURATION ASSOCIATION POWERLEVEL METER SWITCH_MULTILEVEL SENSOR_MULTILEVEL SWITCH_BINARY MANUFACTURER_PROPRIETARY PROTECTION MARK METER SENSOR_MULTILEVEL MANUFACTURER_PROPRIETARY SCENE_ACTIVATION SWITCH_MULTILEVEL SWITCH_BINARY
attr FGR222_ID33 deviceName Rollladen
attr FGR222_ID33 genericDeviceType blind
attr FGR222_ID33 group Rollladen
attr FGR222_ID33 icon fts_shutter
attr FGR222_ID33 room Raum_EG_Küche
attr FGR222_ID33 roomName Küche
attr FGR222_ID33 vclasses ASSOCIATION:2 CONFIGURATION:1 MANUFACTURER_PROPRIETARY:1 MANUFACTURER_SPECIFIC:1 METER:2 MULTI_CHANNEL_ASSOCIATION:2 POWERLEVEL:1 PROTECTION:2 SCENE_ACTIVATION:1 SENSOR_MULTILEVEL:2 SWITCH_BINARY:1 SWITCH_MULTILEVEL:3 VERSION:1
setstate FGR222_ID33 dim 98
setstate FGR222_ID33 2019-09-30 19:46:17 SEND_DATA failed:00
setstate FGR222_ID33 2018-10-01 06:58:40 UNKNOWN multilevel type 00 fl: 22 arg: 0509
setstate FGR222_ID33 2020-12-02 12:31:30 UNPARSED SENSOR_MULTILEVEL 06310704220000
setstate FGR222_ID33 2018-09-27 19:46:28 battery 100 %
setstate FGR222_ID33 2018-09-27 19:46:28 batteryPercent 100
setstate FGR222_ID33 2018-09-27 19:46:28 batteryState ok
setstate FGR222_ID33 2018-08-02 10:36:05 configEnergyReports 10
setstate FGR222_ID33 2018-08-02 10:36:05 configInRollerBlindModeOrVenetianBlind17 10
setstate FGR222_ID33 2018-08-02 10:36:06 configInVenetianBlindModeTheParameter12 150
setstate FGR222_ID33 2018-08-02 10:36:11 configManagingLamellasInResponseTo35 SetLamellasToTheirExtreme1
setstate FGR222_ID33 2018-08-02 10:36:11 configMotorOperationDetection 10
setstate FGR222_ID33 2018-08-02 10:36:12 configMotorOperationTime 240
setstate FGR222_ID33 2018-08-02 10:36:12 configPeriodicPowerOrEnergyReports 3600
setstate FGR222_ID33 2018-08-02 10:36:12 configPowerReports 10
setstate FGR222_ID33 2018-08-02 10:36:17 configReportsType BlindPositionReportsSentToThe0
setstate FGR222_ID33 2018-08-02 10:36:17 configResponseToFloodingAlarm NoReaction
setstate FGR222_ID33 2018-08-02 10:36:18 configResponseToGeneralAlarm CloseBlind
setstate FGR222_ID33 2018-08-02 10:36:18 configResponseToSmokeCOOrCO2Alarm OpenBlind
setstate FGR222_ID33 2018-08-02 10:36:18 configResponseToTemperatureAlarm OpenBlind
setstate FGR222_ID33 2018-08-02 10:36:18 configRollerShutterOperatingModes 1RollerBlindModeWithPositioning
setstate FGR222_ID33 2018-08-02 10:36:18 configScenesAssociationsActivation AssociationsActivation
setstate FGR222_ID33 2018-08-02 10:36:18 configSelfMeasurement SelfMeasurementInactive
setstate FGR222_ID33 2018-08-02 10:36:19 configSetLamellasBackToPrevious13 1LamellasReturnToPreviouslySet1
setstate FGR222_ID33 2018-08-02 10:36:19 configSwitchType MomentarySwitches
setstate FGR222_ID33 2019-11-08 14:27:39 deviceName Rollladen
setstate FGR222_ID33 2019-10-31 09:47:30 devices
setstate FGR222_ID33 2021-01-22 13:23:04 energy 0.88 kWh
setstate FGR222_ID33 2018-08-02 10:34:32 model FIBARO System FGRM222 Roller Shutter Controller 2
setstate FGR222_ID33 2018-08-02 10:34:32 modelConfig fibaro/fgrm222.xml
setstate FGR222_ID33 2018-08-02 10:34:32 modelId 010f-0302-1000
setstate FGR222_ID33 2021-01-22 07:40:28 position 96
setstate FGR222_ID33 2021-01-22 13:40:27 power 0.0 W
setstate FGR222_ID33 2018-08-02 10:38:33 reportedState dim 98
setstate FGR222_ID33 2019-10-31 09:47:30 shuttersOpen 0
setstate FGR222_ID33 2021-01-22 07:40:26 state dim 98
setstate FGR222_ID33 2021-01-22 07:40:26 timeToAck 0.307
setstate FGR222_ID33 2021-01-22 07:40:26 transmit OK
setstate FGR222_ID33 2020-06-05 22:30:07 undef 0.66 undef
und ja, ich hab' immer noch Rolladen und Rollladen drin ;) das ist aber nicht das Problem, da das Device korrerkt erkannt wird...
pct gibt es beim Fibaro Aktor ja gar nicht. Könnte man das reading nicht simulieren ?
Ein "set pct xxx" müsste in "set dim xxx" und ein "get pct" in "get position" übersetzt werden...
mit "attr FGR222_ID33 userReadings pct {return position;}" (syntax nicht gestestet, sollte der korrekten aber nahe kommen) könnte man die position als pct auslesen, aber wie setze ich dim statt pct ?
Ja, schon richtig verstanden, darauf war ich auch aus, das userreadings hab ich vergessen zu erwähnen, hab aber ehrlich gesagt nicht alles verstanden, könnte es so aussehen ?
pct:position:..+ {ReadingsVal($name, "position", 0)}
iVm. dem erwähnten eventMap:
{
usr=>{"^pct(.+)"=>'dim$1'},
fw=>{"^pct(.+)"=>"pct"}
}
Keine Ahnung warum man das pct:slider... nicht angeben kann.
Aber Unabhängig davon kannst du ja den Wert im pct-setter ja mal von Hand eingeben.
Der pct-setter sollte doch vorhanden sein mit dem eventMap ?
Zitat von: TomLee am 22 Januar 2021, 14:39:07
Ja, schon richtig verstanden, darauf war ich auch aus, das userreadings hab ich vergessen zu erwähnen, hab aber ehrlich gesagt nicht alles verstanden, könnte es so aussehen ?
pct:position:..+ {ReadingsVal($name, "position", 0)}
iVm. dem erwähnten eventMap:
{
usr=>{"^pct(.+)"=>'dim$1'},
fw=>{"^pct(.+)"=>"pct"}
}
Keine Ahnung warum man das pct:slider... nicht angeben kann.
Aber Unabhängig davon kannst du ja den Wert im pct-setter ja mal von Hand eingeben.
Der pct-setter sollte doch vorhanden sein mit dem eventMap ?
Ich habe eventMap mal angegeben und ich kann wenigstens per Alexa den Rolladen schließen (set pct 0), beim Öffnen wird set pct 100 ausgeführt, das funktioniert auch händisch nicht. Laut Log wird ein dim 0 gesendet (nicht 98 oder 100)
Ich habe gerade noch was festgestellt:
Folgende Werte sendet Alexa an FHEM:
"schliesse xxx" => set pct 0
"öffne xxx" => set pct 100
Sagt man aber "schliesse xxx komplett" wird "set pct NaN" gesendet. Wenn man das weiß funktioniert mit der eventMap Methode schonmal das Schließen - das Öffnen leider noch nicht, da aus "set pct xxx" immer "set dim 0" wird
Ich hab' noch ein bisschen probiert ...
pct xxx wird doch nicht immer in dim 0 übersetzt (hab' mich im Log verheddert :D )
Folgende Befehle funktionieren
"schliesse xxx" (set dim 0)
"setze xxx auf yy%" (z.B. set dim 75) aber nur im Bereich von 0-99, bei 100 passiert nix
Demnach funktioniert auch "öffne xxx" nicht, da daraus "set pct 100" wird.
Ich müsste also im eventMap "nur" noch pct 100 durch dim 99 ersetzen...
mein eventMap sieht aktuell so aus:
{
usr=>{"^pct(.*)"=>'dim$1'},
fw=>{"^pct(.*)"=>"pct"}
}
ZitatDemnach funktioniert auch "öffne xxx" nicht, da daraus "set pct 100" wird.
Ich meine/hab die Vermutung das geht dann nur mit homebridgeMapping.
Auch da hab ich eine Vermutung, verhaspele mich wsl. aber nur wenn ich das zuvor nicht testen kann und hoffe das sich dazu jemand äußert der weiß was richtig ist.
Springe zum letzten Punkt dem dummy:
Eine von mehreren? Lösungen, ungetestet (bin mir aber sicher die klappt) mit readingsProxy.
Jeder Status (on/off) eines Devices ist eine Routine.
defmod HomeStatus dummy
attr HomeStatus eventMap Home:on Bed:off
attr HomeStatus alexaName bliblablub
attr HomeStatus room Test
attr HomeStatus setList on:noArg off:noArg Away:noArg Holiday:noArg
setstate HomeStatus off
setstate HomeStatus 2021-01-22 13:13:36 state Bed
defmod rp_test readingsProxy HomeStatus:state
attr rp_test alexaName party
attr rp_test event-on-change-reading state
attr rp_test room Test
attr rp_test setFn { return 'Holiday' if( $CMD eq 'on' );;return 'Away' if( $CMD eq 'off' )}
attr rp_test setList on off
setstate rp_test Bed
setstate rp_test 2021-01-22 13:12:38 lastCmd on
setstate rp_test 2021-01-22 13:13:36 state Bed
hallo,
verstehe ich das richtig, du bekommst das Rollo mit Alexa nicht rauf oder runter ??
Meins, funktioniert ohne große Einstellungen
Ich sage nur "Alexa Arbeit Rollo 100%" dann geht es hoch
oder "Alexa Arbeit Rollo 0%" dann geht es runter.
Habe den Tread nur kurz überflogen, wenn ich falsch bin, einfach ignorieren
Gruß
Zitat von: TomLee am 22 Januar 2021, 20:25:58
Ich meine/hab die Vermutung das geht dann nur mit homebridgeMapping.
Ich müsste nur die RegEx Auswertung (usr=>{"^pct(.*)"=>'dim$1'}) so anpassen, dass aus "pct 100" statt "dim 100" ein "dim 99" wird ... allerdings bin ich extrem schlecht in RegEx ::)
ich muss mir mal ansehen was readingsProxy macht ... am Dummy HomeStatus kann (will) ich nicht viel verändern, da die meisten meiner Perl Routinen damit arbeiten. Ich müsste dann zusätzliche Dummies anlegen.
Zitat von: Intruder1956 am 22 Januar 2021, 21:27:44
hallo,
verstehe ich das richtig, du bekommst das Rollo mit Alexa nicht rauf oder runter ??
Meins, funktioniert ohne große Einstellungen
Ich sage nur "Alexa Arbeit Rollo 100%" dann geht es hoch
oder "Alexa Arbeit Rollo 0%" dann geht es runter.
Habe den Tread nur kurz überflogen, wenn ich falsch bin, einfach ignorieren
Gruß
Ich ignoriere hier niemanden, du bekommst auch eine Antwort ;)
Nicht alle Rolladenaktoren funktionieren gleich. Ich habe Fibaro (ZWave) Aktoren, die kein "pct" Reading besitzen, sonder nur ein "dim", mit dem "position" gesetzt werden kann. Zudem reagieren die Aktoren nur auf "dim 0" bis "dim 99", weshalb deine Befehle bei mir auch nur mit der eventMap
{
usr=>{"^pct(.*)"=>'dim$1'},
fw=>{"^pct(.*)"=>"pct"}
}
funktionieren. Allerdings auch nur 0-99% - demnach auch kein "alexa, rolladen küche hoch" (=> set FGR222_ID33 dim 100)
Zitatam Dummy HomeStatus kann (will) ich nicht viel verändern, da die meisten meiner Perl Routinen damit arbeiten. Ich müsste dann zusätzliche Dummies anlegen.
In den Perl-Routinen müsstest nur die Befehle Home/Bed in on/off ändern, das noArg in der setList ist gar nicht nötig, falls das unklar/verwirrend ist.
Der readingsProxy hat keine Auswirkung auf die Perl-Routinen, der ermöglicht nur per Sprache den dummy auf Away/Holiday zu setzen.