Hallo,
an fast jedem Fenster habe ich einen OpenClose-Sensor (ZWAVE) verbaut. Nun möchte ich den Status von den Fenstern über das Google Assistant Modul abfragen. Ich habe den Sensor schon in den Raum "GoogleAssistant" aufgenommen, in der Home-App taucht er auch auf. Als GenericDeviceType habe ich "window" gewählt, allerdings weiß der Assistant auf dem Handy damit noch nichts anzufangen und als Icon wird ein Schalter angezeigt.
Was für einen GenericDeviceType muss ich wählen? Und: Ich bekomme als ZWAVE-Info nur BasicSet 0 oder 255 (zu, auf) geliefert, nicht "true/false" oder sowas. Wie kann ich das um-mappen?
Fragen über Fragen ...
PS: Es hat noch niemand geschafft, den Sky Receiver anzubinden, oder?
ZitatIch bekomme als ZWAVE-Info nur BasicSet 0 oder 255 (zu, auf) geliefert, nicht "true/false" oder sowas. Wie kann ich das um-mappen?
z.Bsp. mit dem eventMap Attribut: http://fhem.de/commandref_modular.html#eventMap
Hi,
poste bitte auch ein jsonlist2 von diesem Device, dann schau ich mir das an.
Die Anzeige in der Home App wird nicht besser, da kann Google leider noch nicht mehr.
PS: Falls man den Sky Receiver in FHEM einbinden kann, sollte der Google Assistant Integration nichts im Wege stehen. Poste auch hier mal das jsonlist2.
Was meinst du mit "jsonlist2"? List?
Internals:
DEF cd2719b7 37
FUUID 5c434f67-f33f-4070-f17d-37935f5ffd3161ed
IODev ZWDongle_0
LASTInputDev ZWDongle_0
MSGCNT 1
NAME Fenster.Jonah
NR 256
STATE open
TYPE ZWave
ZWDongle_0_MSGCNT 1
ZWDongle_0_RAWMSG 00040025032001ff
ZWDongle_0_TIME 2020-08-29 20:09:19
ZWaveSubDevice no
cmdsPending 20
homeId cd2719b7
isWakeUp 1
nodeIdHex 25
.attraggr:
.attreocr:
.*
.attrminint:
.vclasses:
ALARM 1
ASSOCIATION 1
BASIC 1
BATTERY 1
CONFIGURATION 1
MANUFACTURER_SPECIFIC 2
SENSOR_BINARY 1
SENSOR_MULTILEVEL 1
VERSION 1
WAKE_UP 1
READINGS:
2020-08-26 01:24:40 SEND_DATA failed:00
2020-02-28 20:45:46 UNPARSED BASIC_WINDOW_COVERING 05500601018a
2018-09-21 12:47:01 alarm_type_03 level 00
2020-08-29 20:09:19 basicSet 255
2020-08-29 12:26:31 battery 82 %
2020-08-29 12:26:31 batteryPercent 82
2020-08-29 12:26:31 batteryState ok
2020-08-29 12:26:30 configExternContactDebounceOFF 0
2020-08-29 12:26:30 configExternContactDebounceON 0
2020-08-29 12:26:30 configExternalContact SendAAlarmReportWithType2
2020-08-29 12:26:30 configNotUsed 0
2020-08-29 12:26:31 configNotUsed_2 0
2020-08-29 12:26:31 configSetToDefault 170
2020-08-29 12:26:31 configTemperatureOffset 0
2020-08-29 12:26:31 configTheMode Mode1NormalOperatingMode
2020-08-29 12:26:31 configWakeUpDelay 0
2020-02-25 21:03:29 config_0 170
2018-10-20 21:18:59 config_133 1
2017-05-08 18:19:09 model BeNext Door Sensor
2017-05-08 18:19:09 modelConfig BeNext/DoorSensor.xml
2017-05-08 18:19:09 modelId 008a-0004-0101
2017-05-08 18:19:07 state wakeupInterval 86400 1
2020-08-29 12:26:33 timeToAck 0.056
2020-08-29 12:26:33 transmit OK
2020-08-29 12:26:30 wakeup notification
SendStack:
get:1325037005082570
get:1325037005072571
get:1325037005022572
get:1325037005032573
get:1325037005042574
get:1325037005012575
get:1325037005062576
get:1325037005052577
get:1325037005092578
get:132502800225e7
get:1325037005082591
get:1325037005072592
get:1325037005022593
get:1325037005032594
get:1325037005042595
get:1325037005012596
get:1325037005062597
get:1325037005052598
get:1325037005092599
get:13250280022509
Attributes:
IODev ZWDongle_0
classes ALARM ASSOCIATION BATTERY CONFIGURATION MANUFACTURER_SPECIFIC SENSOR_BINARY VERSION WAKE_UP SENSOR_MULTILEVEL MARK BASIC
devStateIcon closed:fts_window_1w open:fts_window_1w_tilt
event-on-change-reading .*
gassistantName Fenster
genericDeviceType window
realRoom Jonah
room GoogleAssistant,Raum Jonah
stateFormat {if (ReadingsVal($name,"basicSet",255) eq 0){ return "closed"}else{return "open"}}
vclasses ALARM:1 ASSOCIATION:1 BASIC:1 BATTERY:1 CONFIGURATION:1 MANUFACTURER_SPECIFIC:2 SENSOR_BINARY:1 SENSOR_MULTILEVEL:1 VERSION:1 WAKE_UP:1
Hallo Det20,
"jsonlist2" ist genauso ein Befehl wie "list". Siehe Comandref 8)
Viele Grüße
Jürgen
Alles klar, here we go:
{
"Arg":"Fenster.OG.Jonah",
"Results": [
{
"Name":"Fenster.OG.Jonah",
"PossibleSets":"associationAdd associationDel basicSet basicValue configByte configDefault configExternContactDebounceOFF configExternContactDebounceON configExternalContact:SendAAlarmReportWithType2,SendABasicSetFrameToAllNodesIn1 configLong configNotUsed configNotUsed_2 configSetToDefault configTemperatureOffset configTheMode:Mode3ZWaveChipIsAlwaysOnTo3,Mode1NormalOperatingMode configWakeUpDelay configWord neighborUpdate:noArg returnRouteAdd returnRouteDel:noArg wakeupInterval wakeupNoMoreInformation:noArg attrTemplate:?,speechcontrol_general_naming_master_template,speech_recognition_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:noArg dummy:noArg eventForRaw extendedAlarmReadings:0,1,2 ignore:noArg ignoreDupMsg:noArg neighborListPos noExplorerFrames:noArg noWakeupForApplicationUpdate:noArg secure_classes setExtensionsEvent:1,0 showtime:noArg vclasses useMultiCmd:noArg useCRC16:noArg 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 assistantName:textField cmdIcon devStateIcon devStateIcon:textField-long devStateStyle gassistantName:textField genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,aircondition,airpurifier,camera,coffeemaker,dishwasher,dryer,fan,kettle,oven,refrigerator,scene,sprinkler,vacuum,washer,airfreshener,fireplace,heater,blinds,awning,boiler,curtain,door,gate,hood,microwave,pregola,securitysystem,shutter,shower,valve,waterheater,ac_unit,bathtub,bed,blender,closet,coffee_maker,cooktop,dehumidifier,dehydrator,drawer,faucet,fryer,grill,humidifier,mop,mower,multicooker,pergola,petfeeder,pressurecooker,radiator,sousvide,standmixer,yogurtmaker,charger,sensor,carbon_monoxide_detector,remotecontrol,settop,smoke_detector,tv,waterpurifier,watersoftener,network,router homebridgeMapping:textField-long icon realRoom:textField requestSettings sortby tradfriName tradfriRoom webCmd webCmdLabel:textField-long widgetOverride userattr",
"Internals": {
"DEF": "cd2719b7 37",
"FUUID": "5c434f67-f33f-4070-f17d-37935f5ffd3161ed",
"IODev": "ZWDongle_0",
"LASTInputDev": "ZWDongle_0",
"MSGCNT": "21",
"NAME": "Fenster.OG.Jonah",
"NR": "256",
"STATE": "open",
"TYPE": "ZWave",
"ZWDongle_0_MSGCNT": "21",
"ZWDongle_0_RAWMSG": "0004002503800351",
"ZWDongle_0_TIME": "2020-08-30 12:19:13",
"ZWaveSubDevice": "no",
"cmdsPending": "10",
"homeId": "cd2719b7",
"isWakeUp": "1",
"lastMsgSent": "1598782755.42059",
"nodeIdHex": "25"
},
"Readings": {
"SEND_DATA": { "Value":"failed:00", "Time":"2020-08-26 01:24:40" },
"UNPARSED": { "Value":"BASIC_WINDOW_COVERING 05500601018a", "Time":"2020-02-28 20:45:46" },
"alarm_type_03": { "Value":"level 00", "Time":"2018-09-21 12:47:01" },
"basicSet": { "Value":"255", "Time":"2020-08-29 20:09:19" },
"battery": { "Value":"81 %", "Time":"2020-08-30 12:19:13" },
"batteryPercent": { "Value":"81", "Time":"2020-08-30 12:19:13" },
"batteryState": { "Value":"ok", "Time":"2020-08-30 12:19:13" },
"configExternContactDebounceOFF": { "Value":"0", "Time":"2020-08-30 12:19:11" },
"configExternContactDebounceON": { "Value":"0", "Time":"2020-08-30 12:19:12" },
"configExternalContact": { "Value":"SendAAlarmReportWithType2", "Time":"2020-08-30 12:19:12" },
"configNotUsed": { "Value":"0", "Time":"2020-08-30 12:19:12" },
"configNotUsed_2": { "Value":"0", "Time":"2020-08-30 12:19:12" },
"configSetToDefault": { "Value":"170", "Time":"2020-08-30 12:19:12" },
"configTemperatureOffset": { "Value":"0", "Time":"2020-08-30 12:19:12" },
"configTheMode": { "Value":"Mode1NormalOperatingMode", "Time":"2020-08-30 12:19:13" },
"configWakeUpDelay": { "Value":"0", "Time":"2020-08-30 12:19:13" },
"config_0": { "Value":"170", "Time":"2020-02-25 21:03:29" },
"config_133": { "Value":"1", "Time":"2018-10-20 21:18:59" },
"model": { "Value":"BeNext Door Sensor", "Time":"2017-05-08 18:19:09" },
"modelConfig": { "Value":"BeNext/DoorSensor.xml", "Time":"2017-05-08 18:19:09" },
"modelId": { "Value":"008a-0004-0101", "Time":"2017-05-08 18:19:09" },
"state": { "Value":"wakeupInterval 86400 1", "Time":"2017-05-08 18:19:07" },
"timeToAck": { "Value":"0.058", "Time":"2020-08-30 12:19:15" },
"transmit": { "Value":"OK", "Time":"2020-08-30 12:19:15" },
"wakeup": { "Value":"notification", "Time":"2020-08-30 12:19:10" }
},
"Attributes": {
"IODev": "ZWDongle_0",
"classes": "ALARM ASSOCIATION BATTERY CONFIGURATION MANUFACTURER_SPECIFIC SENSOR_BINARY VERSION WAKE_UP SENSOR_MULTILEVEL MARK BASIC",
"devStateIcon": "closed:fts_window_1w open:fts_window_1w_tilt",
"event-on-change-reading": ".*",
"gassistantName": "Fenster",
"genericDeviceType": "window",
"realRoom": "Jona",
"room": "Alle ZWave,GoogleAssistant,Raum Jonah",
"stateFormat": "{if (ReadingsVal($name,\"basicSet\",255) eq 0){ return \"closed\"}else{return \"open\"}}",
"vclasses": "ALARM:1 ASSOCIATION:1 BASIC:1 BATTERY:1 CONFIGURATION:1 MANUFACTURER_SPECIFIC:2 SENSOR_BINARY:1 SENSOR_MULTILEVEL:1 VERSION:1 WAKE_UP:1"
}
} ],
"totalResultsReturned":1
}
Erledigt, wird morgen gegen 12 Uhr eingespielt und kann dann nach einem "reload" verwendet werden.
Muss ich an meinem Device etwas ändern? Typ oder so?
Bei "gassistant-fhem-lastServerError" kommt nun zB "No mappings (e.g. on/off) found for EG.Haustuer"
Nein, nix ändern, einfach reload machen.
Dann poste bitte noch das jsonlist2 von EG.Haustuer, das dürfte ein anderer Sensor sein.
Zitat von: dominik am 31 August 2020, 12:38:25
Dann poste bitte noch das jsonlist2 von EG.Haustuer, das dürfte ein anderer Sensor sein.
Ne die sind bei mir alle baugleich, also alle Open/Close Sensoren. Abfrage mit Google-Assistant funktioniert super, vielen Dank! Kann ich die Meldung "No mappings (e.g. on/off) found" ignorieren?
Poste bitte trotzdem das jsonlist2 von dem Device, da gibt's vielleicht aus welchem Grund auch immer Unterschiede.
{
"Arg":"EG.Haustuer",
"Results": [
{
"Name":"EG.Haustuer",
"PossibleSets":"associationAdd associationDel basicSet basicValue configByte configDefault configExternalSwitch:Off,On configLong configWord fwUpdate neighborUpdate:noArg powerlevel powerlevelTest returnRouteAdd returnRouteDel:noArg secSupportedReport:noArg wakeupInterval wakeupNoMoreInformation:noArg attrTemplate:?,speechcontrol_general_naming_master_template,speech_recognition_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:noArg dummy:noArg eventForRaw extendedAlarmReadings:0,1,2 ignore:noArg ignoreDupMsg:noArg neighborListPos noExplorerFrames:noArg noWakeupForApplicationUpdate:noArg secure_classes setExtensionsEvent:1,0 showtime:noArg vclasses useMultiCmd:noArg useCRC16:noArg 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 assistantName:textField cmdIcon devStateIcon devStateIcon:textField-long devStateStyle gassistantName:textField genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,aircondition,airpurifier,camera,coffeemaker,dishwasher,dryer,fan,kettle,oven,refrigerator,scene,sprinkler,vacuum,washer,airfreshener,fireplace,heater,blinds,awning,boiler,curtain,door,gate,hood,microwave,pregola,securitysystem,shutter,shower,valve,waterheater,ac_unit,bathtub,bed,blender,closet,coffee_maker,cooktop,dehumidifier,dehydrator,drawer,faucet,fryer,grill,humidifier,mop,mower,multicooker,pergola,petfeeder,pressurecooker,radiator,sousvide,standmixer,yogurtmaker,charger,sensor,carbon_monoxide_detector,remotecontrol,settop,smoke_detector,tv,waterpurifier,watersoftener,network,router homebridgeMapping:textField-long icon realRoom:textField requestSettings sortby tradfriName tradfriRoom webCmd webCmdLabel:textField-long widgetOverride userattr",
"Internals": {
"DEF": "cd2719b7 50",
"FUUID": "5d986e53-f33f-4070-a12b-52b18f48efa33f11",
"IODev": "ZWDongle_0",
"LASTInputDev": "ZWDongle_0",
"MSGCNT": "207",
"NAME": "EG.Haustuer",
"NR": "1062",
"STATE": "closed",
"TYPE": "ZWave",
"ZWDongle_0_MSGCNT": "207",
"ZWDongle_0_RAWMSG": "000400320a7105060000ff06170000",
"ZWDongle_0_TIME": "2020-08-31 16:24:23",
"ZWaveSubDevice": "no",
"cmdsPending": "0",
"homeId": "cd2719b7",
"isWakeUp": "1",
"lastMsgSent": "1598868193.55722",
"nodeIdHex": "32"
},
"Readings": {
"SEND_DATA": { "Value":"failed:00", "Time":"2020-08-24 21:02:34" },
"UNPARSED": { "Value":"UNKNOWN_FF 05ff06160000", "Time":"2020-06-21 16:54:36" },
"alarm": { "Value":"AccessControl: Event cleared: Window/Door is closed, arg 000", "Time":"2020-08-31 16:24:23" },
"basicSet": { "Value":"0", "Time":"2020-08-31 16:24:23" },
"configExternalSwitch": { "Value":"Off", "Time":"2020-08-31 12:03:11" },
"model": { "Value":"Vision Security ZD2102 EU Door/Window Sensor", "Time":"2019-10-05 12:20:05" },
"modelConfig": { "Value":"vision/zd2102.xml", "Time":"2019-10-05 12:20:05" },
"modelId": { "Value":"0109-2001-0106", "Time":"2019-10-05 12:20:05" },
"state": { "Value":"wakeupInterval 86400 1", "Time":"2019-10-05 12:20:05" },
"timeToAck": { "Value":"22101.741", "Time":"2020-08-30 17:06:18" },
"transmit": { "Value":"NO_ACK", "Time":"2020-08-31 12:03:23" },
"wakeup": { "Value":"notification", "Time":"2020-08-31 12:03:11" },
"zwavePlusInfo": { "Value":"version:01 role:SleepingReportingSlave node:Z-Wave+Node installerIcon:0c07 userIcon:0c07", "Time":"2019-10-05 12:20:06" }
},
"Attributes": {
"IODev": "ZWDongle_0",
"classes": "ZWAVEPLUS_INFO MANUFACTURER_SPECIFIC DEVICE_RESET_LOCALLY BATTERY POWERLEVEL VERSION WAKE_UP ASSOCIATION ASSOCIATION_GRP_INFO ALARM CONFIGURATION FIRMWARE_UPDATE_MD SECURITY BASIC",
"devStateIcon": "closed:fts_door_right open:fts_door_right_open",
"genericDeviceType": "window",
"realRoom": "EG",
"room": "Alle ZWave,GoogleAssistant,Raum EG",
"stateFormat": "{if (ReadingsVal($name,\"basicSet\",255) eq 0){ return \"closed\"}else{return \"open\"}}"
}
} ],
"totalResultsReturned":1
}
Yep, ist ein anderes Modell, integriere ich dir heute Abend.
Habe noch weitere im Einsatz, welche Details brauchst du genau?
Sind das auch andere Typen? Ich filtere auf "modelId", wenn du dort andere Werte drin stehen hast, kannst du mir diese gerne posten.
Jetzt sollte der andere Sensor auch funktionieren. Einfach reload machen.