Closed joeinaustin closed 1 year ago
Try listening for keymaster_lock_state_changed
events from dev-tools->Events
If you don't see anything firing there when you manually lock/unlock the lock, your zwavejs events aren't firing and you'll need to re-interview your lock.
Nothing showed up in that event window but not sure what I am looking at. Where should the events show up? I also see this under active listeners... keymaster_lock_state_changed (3 listeners) .
I can see lock and unlock events in the lock history. That has always worked.
Once you hit "Start Listening" go and lock/unlock your lock, you should see events.
Exactly what I did. Nothing happened when I lock/unlock in that even view. But I do see the events in lock history.
I just finsished re-interview. And tried the event listen again. Nothing in that view.
Ok try zwave_js_notification
and listen, and test again.
Nothing for that either. Are events supposed to show up on that same page?
yes, this means the lock isn't throwing out notifications, re-interview.
Did that already, per above. Why does the history show lock/unlock events, if the lock isn't notifying?? The UI history view is getting these events somehow.
Not the same events.
I am confused then. Is there a place where this is explained? The lock is cleary sending lock events via zwave.
Lock stats updates are not notification events. Once you get zwavejs fixed and reporting the notifications, your script will work.
Ok, not sure how to do that. The only events showing in zwavjs are from the last reinterview..
You need to make sure the notifications command class is showing up, I think you can check that by hitting download diagnostics on your lock in HA.
I don't see anywhere to do that on any page where the lock shows up. Where would you expect it to be?
Found it under zwavejs. No idea what to look for in here but.....
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2023.1.4",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.10.7",
"docker": true,
"arch": "x86_64",
"timezone": "America/Phoenix",
"os_name": "Linux",
"os_version": "5.15.80",
"supervisor": "2022.12.1",
"host_os": "Home Assistant OS 9.4",
"docker_version": "20.10.19",
"chassis": "embedded",
"run_as_root": true
},
"custom_components": {
"keymaster": {
"version": "v0.0.82",
"requirements": []
},
"hacs": {
"version": "1.29.1",
"requirements": [
"aiogithubapi>=22.10.1"
]
}
},
"integration_manifest": {
"domain": "zwave_js",
"name": "Z-Wave",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/zwave_js",
"requirements": [
"pyserial==3.5",
"zwave-js-server-python==0.44.0"
],
"codeowners": [
"@home-assistant/z-wave"
],
"dependencies": [
"usb",
"http",
"websocket_api"
],
"iot_class": "local_push",
"usb": [
{
"vid": "0658",
"pid": "0200",
"known_devices": [
"Aeotec Z-Stick Gen5+",
"Z-WaveMe UZB"
]
},
{
"vid": "10C4",
"pid": "8A2A",
"description": "*z-wave*",
"known_devices": [
"Nortek HUSBZB-1"
]
}
],
"zeroconf": [
"_zwave-js-server._tcp.local."
],
"loggers": [
"zwave_js_server"
],
"integration_type": "hub",
"is_built_in": true
},
"data": {
"versionInfo": {
"driverVersion": "10.3.0",
"serverVersion": "1.24.0",
"minSchemaVersion": 0,
"maxSchemaVersion": 24
},
"entities": [
{
"domain": "sensor",
"entity_id": "sensor.front_lock_alarm_level",
"original_name": "Alarm Level",
"original_device_class": null,
"disabled": true,
"disabled_by": "integration",
"hidden_by": null,
"original_icon": null,
"entity_category": null,
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-113-0-alarmLevel",
"primary_value": {
"command_class": 113,
"command_class_name": "Notification",
"endpoint": 0,
"property": "alarmLevel",
"property_name": "alarmLevel",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "sensor",
"entity_id": "sensor.front_lock_alarm_type",
"original_name": "Alarm Type",
"original_device_class": null,
"disabled": true,
"disabled_by": "integration",
"hidden_by": null,
"original_icon": null,
"entity_category": null,
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-113-0-alarmType",
"primary_value": {
"command_class": 113,
"command_class_name": "Notification",
"endpoint": 0,
"property": "alarmType",
"property_name": "alarmType",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "lock",
"entity_id": "lock.front_lock",
"original_name": "",
"original_device_class": null,
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": null,
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-98-0-currentMode",
"primary_value": {
"command_class": 98,
"command_class_name": "Door Lock",
"endpoint": 0,
"property": "currentMode",
"property_name": "currentMode",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "sensor",
"entity_id": "sensor.front_lock_battery_level",
"original_name": "Battery level",
"original_device_class": "battery",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": "diagnostic",
"supported_features": 0,
"unit_of_measurement": "%",
"value_id": "3-128-0-level",
"primary_value": {
"command_class": 128,
"command_class_name": "Battery",
"endpoint": 0,
"property": "level",
"property_name": "level",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "binary_sensor",
"entity_id": "binary_sensor.front_lock_current_status_of_the_door",
"original_name": "Current status of the door",
"original_device_class": "door",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": null,
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-98-0-doorStatus",
"primary_value": {
"command_class": 98,
"command_class_name": "Door Lock",
"endpoint": 0,
"property": "doorStatus",
"property_name": "doorStatus",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "binary_sensor",
"entity_id": "binary_sensor.front_lock_low_battery_level",
"original_name": "Low battery level",
"original_device_class": "battery",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": "diagnostic",
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-128-0-isLow",
"primary_value": {
"command_class": 128,
"command_class_name": "Battery",
"endpoint": 0,
"property": "isLow",
"property_name": "isLow",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "sensor",
"entity_id": "sensor.front_lock_charging_status",
"original_name": "Charging status",
"original_device_class": "battery",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": "diagnostic",
"supported_features": 0,
"unit_of_measurement": "%",
"value_id": "3-128-0-chargingStatus",
"primary_value": {
"command_class": 128,
"command_class_name": "Battery",
"endpoint": 0,
"property": "chargingStatus",
"property_name": "chargingStatus",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "binary_sensor",
"entity_id": "binary_sensor.front_lock_rechargeable",
"original_name": "Rechargeable",
"original_device_class": "battery",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": "diagnostic",
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-128-0-rechargeable",
"primary_value": {
"command_class": 128,
"command_class_name": "Battery",
"endpoint": 0,
"property": "rechargeable",
"property_name": "rechargeable",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "binary_sensor",
"entity_id": "binary_sensor.front_lock_used_as_backup",
"original_name": "Used as backup",
"original_device_class": "battery",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": "diagnostic",
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-128-0-backup",
"primary_value": {
"command_class": 128,
"command_class_name": "Battery",
"endpoint": 0,
"property": "backup",
"property_name": "backup",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "binary_sensor",
"entity_id": "binary_sensor.front_lock_overheating",
"original_name": "Overheating",
"original_device_class": "battery",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": "diagnostic",
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-128-0-overheating",
"primary_value": {
"command_class": 128,
"command_class_name": "Battery",
"endpoint": 0,
"property": "overheating",
"property_name": "overheating",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "binary_sensor",
"entity_id": "binary_sensor.front_lock_fluid_is_low",
"original_name": "Fluid is low",
"original_device_class": "battery",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": "diagnostic",
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-128-0-lowFluid",
"primary_value": {
"command_class": 128,
"command_class_name": "Battery",
"endpoint": 0,
"property": "lowFluid",
"property_name": "lowFluid",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "sensor",
"entity_id": "sensor.front_lock_recharge_or_replace",
"original_name": "Recharge or replace",
"original_device_class": "battery",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": "diagnostic",
"supported_features": 0,
"unit_of_measurement": "%",
"value_id": "3-128-0-rechargeOrReplace",
"primary_value": {
"command_class": 128,
"command_class_name": "Battery",
"endpoint": 0,
"property": "rechargeOrReplace",
"property_name": "rechargeOrReplace",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "binary_sensor",
"entity_id": "binary_sensor.front_lock_battery_is_disconnected",
"original_name": "Battery is disconnected",
"original_device_class": "battery",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": "diagnostic",
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-128-0-disconnected",
"primary_value": {
"command_class": 128,
"command_class_name": "Battery",
"endpoint": 0,
"property": "disconnected",
"property_name": "disconnected",
"property_key": null,
"property_key_name": null
}
},
{
"domain": "binary_sensor",
"entity_id": "binary_sensor.front_lock_battery_temperature_is_low",
"original_name": "Battery temperature is low",
"original_device_class": "battery",
"disabled": false,
"disabled_by": null,
"hidden_by": null,
"original_icon": null,
"entity_category": "diagnostic",
"supported_features": 0,
"unit_of_measurement": null,
"value_id": "3-128-0-lowTemperatureStatus",
"primary_value": {
"command_class": 128,
"command_class_name": "Battery",
"endpoint": 0,
"property": "lowTemperatureStatus",
"property_name": "lowTemperatureStatus",
"property_key": null,
"property_key_name": null
}
}
],
"state": {
"nodeId": 3,
"index": 0,
"status": 4,
"ready": true,
"isListening": false,
"isRouting": true,
"isSecure": true,
"manufacturerId": 59,
"productId": 20548,
"productType": 25419,
"firmwareVersion": "42.37",
"deviceConfig": {
"filename": "/data/db/devices/0x003b/be369.json",
"isEmbedded": true,
"manufacturer": "Allegion",
"manufacturerId": 59,
"label": "BE369",
"description": "Keypad Deadbolt",
"devices": [
{
"productType": 25419,
"productId": 20548
}
],
"firmwareVersion": {
"min": "0.0",
"max": "255.255"
},
"associations": {},
"paramInformation": {
"_map": {}
}
},
"label": "BE369",
"interviewAttempts": 3,
"endpoints": [
{
"nodeId": 3,
"index": 0,
"deviceClass": {
"basic": {
"key": 4,
"label": "Routing Slave"
},
"generic": {
"key": 64,
"label": "Entry Control"
},
"specific": {
"key": 3,
"label": "Secure Keypad Door Lock"
},
"mandatorySupportedCCs": [
32,
98,
99,
114,
134
],
"mandatoryControlledCCs": []
},
"commandClasses": [
{
"id": 98,
"name": "Door Lock",
"version": 1,
"isSecure": true
},
{
"id": 99,
"name": "User Code",
"version": 1,
"isSecure": true
},
{
"id": 114,
"name": "Manufacturer Specific",
"version": 1,
"isSecure": false
},
{
"id": 134,
"name": "Version",
"version": 1,
"isSecure": true
},
{
"id": 133,
"name": "Association",
"version": 1,
"isSecure": false
},
{
"id": 115,
"name": "Powerlevel",
"version": 1,
"isSecure": false
},
{
"id": 152,
"name": "Security",
"version": 1,
"isSecure": true
},
{
"id": 128,
"name": "Battery",
"version": 1,
"isSecure": true
},
{
"id": 113,
"name": "Notification",
"version": 1,
"isSecure": true
},
{
"id": 112,
"name": "Configuration",
"version": 1,
"isSecure": true
}
]
}
],
"values": [
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "doorStatus",
"propertyName": "doorStatus",
"ccVersion": 1,
"metadata": {
"type": "any",
"readable": true,
"writeable": false,
"label": "Current status of the door"
},
"value": "open"
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "latchStatus",
"propertyName": "latchStatus",
"ccVersion": 1,
"metadata": {
"type": "any",
"readable": true,
"writeable": false,
"label": "Current status of the latch"
},
"value": "open"
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "boltStatus",
"propertyName": "boltStatus",
"ccVersion": 1,
"metadata": {
"type": "any",
"readable": true,
"writeable": false,
"label": "Current status of the bolt"
},
"value": "locked"
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "operationType",
"propertyName": "operationType",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "Lock operation type",
"min": 0,
"max": 255,
"states": {
"1": "Constant",
"2": "Timed"
}
},
"value": 1
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "outsideHandlesCanOpenDoorConfiguration",
"propertyName": "outsideHandlesCanOpenDoorConfiguration",
"ccVersion": 1,
"metadata": {
"type": "any",
"readable": true,
"writeable": true,
"label": "Which outside handles can open the door (configuration)"
},
"value": [
false,
false,
false,
false
]
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "insideHandlesCanOpenDoorConfiguration",
"propertyName": "insideHandlesCanOpenDoorConfiguration",
"ccVersion": 1,
"metadata": {
"type": "any",
"readable": true,
"writeable": true,
"label": "Which inside handles can open the door (configuration)"
},
"value": [
false,
false,
false,
false
]
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "currentMode",
"propertyName": "currentMode",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "Current lock mode",
"min": 0,
"max": 255,
"states": {
"0": "Unsecured",
"1": "UnsecuredWithTimeout",
"16": "InsideUnsecured",
"17": "InsideUnsecuredWithTimeout",
"32": "OutsideUnsecured",
"33": "OutsideUnsecuredWithTimeout",
"254": "Unknown",
"255": "Secured"
}
},
"value": 255
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "outsideHandlesCanOpenDoor",
"propertyName": "outsideHandlesCanOpenDoor",
"ccVersion": 1,
"metadata": {
"type": "any",
"readable": true,
"writeable": false,
"label": "Which outside handles can open the door (actual status)"
},
"value": [
false,
false,
false,
false
]
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "insideHandlesCanOpenDoor",
"propertyName": "insideHandlesCanOpenDoor",
"ccVersion": 1,
"metadata": {
"type": "any",
"readable": true,
"writeable": false,
"label": "Which inside handles can open the door (actual status)"
},
"value": [
false,
false,
false,
false
]
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "lockTimeoutConfiguration",
"propertyName": "lockTimeoutConfiguration",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "Duration of timed mode in seconds",
"min": 0,
"max": 65535
}
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "targetMode",
"propertyName": "targetMode",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "Target lock mode",
"min": 0,
"max": 255,
"states": {
"0": "Unsecured",
"1": "UnsecuredWithTimeout",
"16": "InsideUnsecured",
"17": "InsideUnsecuredWithTimeout",
"32": "OutsideUnsecured",
"33": "OutsideUnsecuredWithTimeout",
"254": "Unknown",
"255": "Secured"
}
}
},
{
"endpoint": 0,
"commandClass": 98,
"commandClassName": "Door Lock",
"property": "lockTimeout",
"propertyName": "lockTimeout",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": false,
"label": "Seconds until lock mode times out",
"min": 0,
"max": 65535
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 1,
"propertyName": "userIdStatus",
"propertyKeyName": "1",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (1)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
},
"value": 0
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 1,
"propertyName": "userCode",
"propertyKeyName": "1",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (1)",
"minLength": 4,
"maxLength": 10
},
"value": "**REDACTED**"
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 2,
"propertyName": "userIdStatus",
"propertyKeyName": "2",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (2)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
},
"value": 1
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 2,
"propertyName": "userCode",
"propertyKeyName": "2",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (2)",
"minLength": 4,
"maxLength": 10
},
"value": "**REDACTED**"
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 3,
"propertyName": "userIdStatus",
"propertyKeyName": "3",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (3)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
},
"value": 1
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 3,
"propertyName": "userCode",
"propertyKeyName": "3",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (3)",
"minLength": 4,
"maxLength": 10
},
"value": "**REDACTED**"
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 4,
"propertyName": "userIdStatus",
"propertyKeyName": "4",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (4)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
},
"value": 1
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 4,
"propertyName": "userCode",
"propertyKeyName": "4",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (4)",
"minLength": 4,
"maxLength": 10
},
"value": "**REDACTED**"
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 5,
"propertyName": "userIdStatus",
"propertyKeyName": "5",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (5)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
},
"value": 0
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 5,
"propertyName": "userCode",
"propertyKeyName": "5",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (5)",
"minLength": 4,
"maxLength": 10
},
"value": "**REDACTED**"
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 6,
"propertyName": "userIdStatus",
"propertyKeyName": "6",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (6)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 6,
"propertyName": "userCode",
"propertyKeyName": "6",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (6)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 7,
"propertyName": "userIdStatus",
"propertyKeyName": "7",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (7)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 7,
"propertyName": "userCode",
"propertyKeyName": "7",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (7)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 8,
"propertyName": "userIdStatus",
"propertyKeyName": "8",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (8)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 8,
"propertyName": "userCode",
"propertyKeyName": "8",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (8)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 9,
"propertyName": "userIdStatus",
"propertyKeyName": "9",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (9)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 9,
"propertyName": "userCode",
"propertyKeyName": "9",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (9)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 10,
"propertyName": "userIdStatus",
"propertyKeyName": "10",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (10)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 10,
"propertyName": "userCode",
"propertyKeyName": "10",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (10)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 11,
"propertyName": "userIdStatus",
"propertyKeyName": "11",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (11)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 11,
"propertyName": "userCode",
"propertyKeyName": "11",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (11)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 12,
"propertyName": "userIdStatus",
"propertyKeyName": "12",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (12)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 12,
"propertyName": "userCode",
"propertyKeyName": "12",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (12)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 13,
"propertyName": "userIdStatus",
"propertyKeyName": "13",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (13)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 13,
"propertyName": "userCode",
"propertyKeyName": "13",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (13)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 14,
"propertyName": "userIdStatus",
"propertyKeyName": "14",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (14)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 14,
"propertyName": "userCode",
"propertyKeyName": "14",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (14)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 15,
"propertyName": "userIdStatus",
"propertyKeyName": "15",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (15)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 15,
"propertyName": "userCode",
"propertyKeyName": "15",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (15)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 16,
"propertyName": "userIdStatus",
"propertyKeyName": "16",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (16)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 16,
"propertyName": "userCode",
"propertyKeyName": "16",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (16)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 17,
"propertyName": "userIdStatus",
"propertyKeyName": "17",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (17)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 17,
"propertyName": "userCode",
"propertyKeyName": "17",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (17)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 18,
"propertyName": "userIdStatus",
"propertyKeyName": "18",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (18)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 18,
"propertyName": "userCode",
"propertyKeyName": "18",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (18)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userIdStatus",
"propertyKey": 19,
"propertyName": "userIdStatus",
"propertyKeyName": "19",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"label": "User ID status (19)",
"states": {
"0": "Available",
"1": "Enabled",
"2": "Disabled"
}
}
},
{
"endpoint": 0,
"commandClass": 99,
"commandClassName": "User Code",
"property": "userCode",
"propertyKey": 19,
"propertyName": "userCode",
"propertyKeyName": "19",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": true,
"label": "User Code (19)",
"minLength": 4,
"maxLength": 10
}
},
{
"endpoint": 0,
"commandClass": 112,
"commandClassName": "Configuration",
"property": 3,
"propertyName": "Beeper",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"description": "Enable/Disable keypad beep",
"label": "Beeper",
"default": 1,
"min": 0,
"max": 1,
"states": {
"0": "Disable",
"1": "Enable"
},
"valueSize": 1,
"format": 0,
"allowManualEntry": false,
"isFromConfig": true
},
"value": 1
},
{
"endpoint": 0,
"commandClass": 112,
"commandClassName": "Configuration",
"property": 4,
"propertyName": "Vacation Mode",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"description": "Enable/Disable Vacation Mode",
"label": "Vacation Mode",
"default": 0,
"min": 0,
"max": 1,
"states": {
"0": "Disable",
"1": "Enable"
},
"valueSize": 1,
"format": 0,
"allowManualEntry": false,
"isFromConfig": true
},
"value": 0
},
{
"endpoint": 0,
"commandClass": 112,
"commandClassName": "Configuration",
"property": 5,
"propertyName": "Lock & Leave",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"description": "Enable/Disable Lock & Leave",
"label": "Lock & Leave",
"default": 1,
"min": 0,
"max": 1,
"states": {
"0": "Disable",
"1": "Enable"
},
"valueSize": 1,
"format": 0,
"allowManualEntry": false,
"isFromConfig": true
},
"value": 1
},
{
"endpoint": 0,
"commandClass": 112,
"commandClassName": "Configuration",
"property": 7,
"propertyName": "Basic Set",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": true,
"description": "Byte to send with set command to devices in association group 1",
"label": "Basic Set",
"default": 255,
"min": 0,
"max": 255,
"valueSize": 1,
"format": 1,
"allowManualEntry": true,
"isFromConfig": true
},
"value": 255
},
{
"endpoint": 0,
"commandClass": 113,
"commandClassName": "Notification",
"property": "alarmType",
"propertyName": "alarmType",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": false,
"label": "Alarm Type",
"min": 0,
"max": 255
},
"value": 16
},
{
"endpoint": 0,
"commandClass": 113,
"commandClassName": "Notification",
"property": "alarmLevel",
"propertyName": "alarmLevel",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": false,
"label": "Alarm Level",
"min": 0,
"max": 255
},
"value": 4
},
{
"endpoint": 0,
"commandClass": 114,
"commandClassName": "Manufacturer Specific",
"property": "manufacturerId",
"propertyName": "manufacturerId",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": false,
"label": "Manufacturer ID",
"min": 0,
"max": 65535
},
"value": 59
},
{
"endpoint": 0,
"commandClass": 114,
"commandClassName": "Manufacturer Specific",
"property": "productType",
"propertyName": "productType",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": false,
"label": "Product type",
"min": 0,
"max": 65535
},
"value": 25419
},
{
"endpoint": 0,
"commandClass": 114,
"commandClassName": "Manufacturer Specific",
"property": "productId",
"propertyName": "productId",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": false,
"label": "Product ID",
"min": 0,
"max": 65535
},
"value": 20548
},
{
"endpoint": 0,
"commandClass": 128,
"commandClassName": "Battery",
"property": "level",
"propertyName": "level",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": false,
"label": "Battery level",
"min": 0,
"max": 100,
"unit": "%"
},
"value": 46
},
{
"endpoint": 0,
"commandClass": 128,
"commandClassName": "Battery",
"property": "isLow",
"propertyName": "isLow",
"ccVersion": 1,
"metadata": {
"type": "boolean",
"readable": true,
"writeable": false,
"label": "Low battery level"
},
"value": false
},
{
"endpoint": 0,
"commandClass": 128,
"commandClassName": "Battery",
"property": "chargingStatus",
"propertyName": "chargingStatus",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": false,
"label": "Charging status",
"min": 0,
"max": 255,
"states": {
"0": "Discharging",
"1": "Charging",
"2": "Maintaining"
}
}
},
{
"endpoint": 0,
"commandClass": 128,
"commandClassName": "Battery",
"property": "rechargeable",
"propertyName": "rechargeable",
"ccVersion": 1,
"metadata": {
"type": "boolean",
"readable": true,
"writeable": false,
"label": "Rechargeable"
}
},
{
"endpoint": 0,
"commandClass": 128,
"commandClassName": "Battery",
"property": "backup",
"propertyName": "backup",
"ccVersion": 1,
"metadata": {
"type": "boolean",
"readable": true,
"writeable": false,
"label": "Used as backup"
}
},
{
"endpoint": 0,
"commandClass": 128,
"commandClassName": "Battery",
"property": "overheating",
"propertyName": "overheating",
"ccVersion": 1,
"metadata": {
"type": "boolean",
"readable": true,
"writeable": false,
"label": "Overheating"
}
},
{
"endpoint": 0,
"commandClass": 128,
"commandClassName": "Battery",
"property": "lowFluid",
"propertyName": "lowFluid",
"ccVersion": 1,
"metadata": {
"type": "boolean",
"readable": true,
"writeable": false,
"label": "Fluid is low"
}
},
{
"endpoint": 0,
"commandClass": 128,
"commandClassName": "Battery",
"property": "rechargeOrReplace",
"propertyName": "rechargeOrReplace",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": false,
"label": "Recharge or replace",
"min": 0,
"max": 255,
"states": {
"0": "No",
"1": "Soon",
"2": "Now"
}
}
},
{
"endpoint": 0,
"commandClass": 128,
"commandClassName": "Battery",
"property": "disconnected",
"propertyName": "disconnected",
"ccVersion": 1,
"metadata": {
"type": "boolean",
"readable": true,
"writeable": false,
"label": "Battery is disconnected"
}
},
{
"endpoint": 0,
"commandClass": 128,
"commandClassName": "Battery",
"property": "lowTemperatureStatus",
"propertyName": "lowTemperatureStatus",
"ccVersion": 1,
"metadata": {
"type": "boolean",
"readable": true,
"writeable": false,
"label": "Battery temperature is low"
}
},
{
"endpoint": 0,
"commandClass": 134,
"commandClassName": "Version",
"property": "libraryType",
"propertyName": "libraryType",
"ccVersion": 1,
"metadata": {
"type": "number",
"readable": true,
"writeable": false,
"label": "Library type",
"states": {
"0": "Unknown",
"1": "Static Controller",
"2": "Controller",
"3": "Enhanced Slave",
"4": "Slave",
"5": "Installer",
"6": "Routing Slave",
"7": "Bridge Controller",
"8": "Device under Test",
"9": "N/A",
"10": "AV Remote",
"11": "AV Device"
}
},
"value": 6
},
{
"endpoint": 0,
"commandClass": 134,
"commandClassName": "Version",
"property": "protocolVersion",
"propertyName": "protocolVersion",
"ccVersion": 1,
"metadata": {
"type": "string",
"readable": true,
"writeable": false,
"label": "Z-Wave protocol version"
},
"value": "2.64"
},
{
"endpoint": 0,
"commandClass": 134,
"commandClassName": "Version",
"property": "firmwareVersions",
"propertyName": "firmwareVersions",
"ccVersion": 1,
"metadata": {
"type": "string[]",
"readable": true,
"writeable": false,
"label": "Z-Wave chip firmware versions"
},
"value": [
"42.37"
]
}
],
"isFrequentListening": "1000ms",
"maxDataRate": 40000,
"supportedDataRates": [
40000
],
"protocolVersion": 2,
"supportsBeaming": true,
"supportsSecurity": false,
"nodeType": 1,
"deviceClass": {
"basic": {
"key": 4,
"label": "Routing Slave"
},
"generic": {
"key": 64,
"label": "Entry Control"
},
"specific": {
"key": 3,
"label": "Secure Keypad Door Lock"
},
"mandatorySupportedCCs": [
32,
98,
99,
114,
134
],
"mandatoryControlledCCs": []
},
"interviewStage": "Complete",
"deviceDatabaseUrl": "https://devices.zwave-js.io/?jumpTo=0x003b:0x634b:0x5044:42.37",
"statistics": {
"commandsTX": 932,
"commandsRX": 1421,
"commandsDroppedRX": 59,
"commandsDroppedTX": 19,
"timeoutResponse": 17,
"rtt": 133.1,
"rssi": -64,
"lwr": {
"protocolDataRate": 2,
"repeaters": [
4
],
"rssi": -63,
"repeaterRSSI": [
127
]
},
"nlwr": {
"protocolDataRate": 2,
"repeaters": [],
"rssi": -93,
"repeaterRSSI": []
}
},
"highestSecurityClass": 7,
"isControllerNode": false,
"keepAwake": false
}
}
}
{ "endpoint": 0, "commandClass": 113, "commandClassName": "Notification", "property": "alarmType", "propertyName": "alarmType", "ccVersion": 1, "metadata": { "type": "number", "readable": true, "writeable": false, "label": "Alarm Type", "min": 0, "max": 255 }, "value": 16 }, { "endpoint": 0, "commandClass": 113, "commandClassName": "Notification", "property": "alarmLevel", "propertyName": "alarmLevel", "ccVersion": 1, "metadata": { "type": "number", "readable": true, "writeable": false, "label": "Alarm Level", "min": 0, "max": 255 }, "value": 4 },
looks like you lock is updating the alarm type and alarm level, do you have those sensors enabled?
I am new to HA. So I wouldn't know. The devices and entities were autopopulated when I added the BE369 locks. I followed the keymaster instructions exactly and did not see any reference to that. Should it have been automatic? Is there another set of instructions I missed?
HA has a lot of moving parts. I would love to be more help here. My background is embedded C/++ and datacomm. If you can point me to a good overview of HA's architure I would love to go through it and try to be more helpful. So far, I have found very little to help me get up to speed on this product. I have found a ton of outdated info on things that no longer seem to exist in the UI.
You should have something that looks similar to this, click the "not shown" sensors, the click alarm type and alarm level and enable them.
Mine looks a little different but found it under zwave and enabled both. Should noticiations start working now? The two new sensor values make no sense to me. Btw, the door is NOT open as shown in the shot below.
The "current status of the door" sensor you can disable, it's part of the command class and only works correctly on locks that can actually sense the door.
Now that you have the alarms enabled, select those sensors in the "Configure" options for KeyMaster.
I found and followed, including disabling the other sensor. But still no notifications. I did see some messages from the system immediately after the change about generating something. But door code notifications are still not working.
Make sure the input_boolean.<lockname>_lock_notifications
and input_boolean.<lockname>_dooraccess_notifications
are toggled off and that the notifications in the code slots are turned on.
I see no place to set those. Notifications are turned on for all active codes.
I noticed above that you have some things I don't..... Any idea why? Are automations required and need to be setup manually?
Ok, I don't know how much of this other stuff was necessary, but adding my own automation generates a notification. So that was definitely a problem. I now wonder if any of that other stuff was necessary. Two big questions now. 1.) Why weren't my automations created automatically?? It looks like they were for other users. 2.) What should they really look like?? The one I created will notify on unlock, but does not pass user code id or any other info. Can you tell me what they should look like?? It looks like your system has multiple of them.
1) notification scripts are not generated as there are many notification integrations for HA available. 2) All this is documented in the wiki.
That does not coincide with any doc or video on keymaster that I have read/watched. Every one says that once you add the script in scripts (which I did before opening this), notifications start w/o futher effort. Did this change in the latest release? This is an automation which is in a different area. The script you referenced seems to make no difference. I have had that since the beginning. Regardless, I need some info on how others have setup automations that include the name of the user code.
I don't know why you're lock isn't throwing the proper notifications, you'll have to figure out the zwavejs issue for that aspect to work.
Can you send me a screen shot, or some condensed form of your automations? I don't think this has to do with my locks. It appears to be a lack of automations for the lock. Since those don't exist until keymaster is installed, something appears to have failed during my keymaster install. I am making that assumption based on the fact that your system has automations, and mine did not until I added some manually. Can you confirm that keymaster installed your lock automations during install?
What is in the yellow circle on your system??? How many more can I not see?? If I can copy all in your list, I can probably get mine working. My list was empty.
Why are you ignoring my request to see your automations?
If you don't have things setup right your automations will be missing:
They are definitely missing. But I did follow the post .22 instructions when I originally installed keymaster. I just added the pre .22 script. It made no difference. Automations are still missing. What is the easiest way to get them installed.
So you have the packages line in your configuration.yaml
?
homeassistant:
packages: !include_dir_named packages
This is all that is needed.
yes, that was done before I installed.
Can you send me screen shots of each automation so I can add them manually? Or perhaps there is a way to zip them up into a file?
No, they are generated by the integration, check your /config/packages
directory.
THe only file in config/packages is the pre .22 file I just created this morning to see if it would make any difference.
Check your home assistant log for further errors.
You do not need the additional_yaml
directory that was for an older version of Home Assistant.
The only thing in the log is a warning about keymaster being "untested". That has been there all along
I would still like to see what is in each of your automations. Not sure why mine did not get generated automatically, but it seems like I can fix this by creating them manually. The only thing that seems to not be working in my keymaster is notifications. I can see everything, set codes, see history, unlock the door, etc. But I want a notification that tells me which code opened the door. Can you show me the automation that does that? There have been at least 3 HA versions since I started trying to get km working 20 days ago. Perhaps one of those (or all) cause the km install to fail or partially fail. But I need to move on. I just want to create an automation that sends notify with user info.
NVM. I opted to upgrade HA (again) uninstall km, delete the lock, and then reinstall it all. Now the generated automations are showing up.
Ok, I am now getting notifications on open/close from a separate sensor on the door that I added to the lock config. But still NO notification of when/which code was used. Do I need to enable something else to get that?
None of the automations I see appear to be designed to notify with the unlock code that was used.
The automation is right here:
I see that in my common file also. But I still see no notifications. These are the instructions I followed...
https://www.youtube.com/watch?v=_NjVbQBaOjQ
According to this video, it should be working. It's not.
Describe the bug No form of notification works from keymaster. I followed the wiki instuctions and used the code example for my scripts.yaml. I can manually create different types of notifications from dev tools, but nothing is ever generated from keymaster. I do see lock status updates in the history and noticiation is turned on for all active codes. Nothing showing up in the logs at all. What else can I look at???
Environment (please complete the following information):
Logs Nothing relevant to paste
Screenshots Let me know which would help
I did add a second script (see below) in case my naming conventions were off. I found some docs online that show it with a keymaster prefix. That was no help.