SmartThings Community

Yale Smartphone Alarm System integration

yale
dth_security
project_security

(Ash Stokes) #205

Arming and refreshing is below, before doing the second refresh at 2:14:50PM, I went into the Yale app and part-armed it, yet it still thinks that the alarm is disarmed :frowning_face:

2:14:50 PM: info ‘Yale Alarm’ REFRESH - Mode is ‘Disarmed’, Response- ‘[[area:1, mode:disarm]]’ complete
2:14:50 PM: info ‘Yale Alarm’ Logged out
2:14:50 PM: debug ‘Yale Alarm’ REFRESH - response = ‘[[area:1, mode:disarm]]’ & groovyx.net.http.HttpResponseDecorator@2bfc458e
2:14:50 PM: info ‘Yale Alarm’ Logged in
2:14:09 PM: info ‘Yale Alarm’ REFRESH - Mode is ‘Disarmed’, Response- ‘[[area:1, mode:disarm]]’ complete
2:14:09 PM: info ‘Yale Alarm’ Logged out
2:14:09 PM: debug ‘Yale Alarm’ REFRESH - response = ‘[[area:1, mode:disarm]]’ & groovyx.net.http.HttpResponseDecorator@32e58a0b
2:14:08 PM: info ‘Yale Alarm’ Logged in
2:14:05 PM: info AA- Status is: ‘system.panel_offline’ - mode ‘system.panel_offline’,
2:14:05 PM: info ‘Yale Alarm’ Logged out
2:14:05 PM: warn Yale Alarm - AA - Status ‘system.panel_offline’
2:14:05 PM: debug AA - response = ‘system.panel_offline’
2:14:05 PM: info ‘Yale Alarm’ Logged in
2:14:05 PM: debug Executing ‘Arm Away’
2:14:05 PM: debug Executing ‘Arm Away’


(Mark C) #206

arm in using the proper yale app, then go to smartthings and refresh it


(Ash Stokes) #207

That’s what I’d done above, although just done it again, fully armed in yales app, got the notification etc, then still got the disarm on refresh below:

2:21:36 PM: info ‘Yale Alarm’ REFRESH - Mode is ‘Disarmed’, Response- ‘[[area:1, mode:disarm]]’ complete
2:21:36 PM: info ‘Yale Alarm’ Logged out
2:21:35 PM: debug ‘Yale Alarm’ REFRESH - response = ‘[[area:1, mode:disarm]]’ & groovyx.net.http.HttpResponseDecorator@427729ac
2:21:35 PM: info ‘Yale Alarm’ Logged in


(Mark C) #208

you were defentaly armed in the yale app? are you sure you login credentails are correct ie use of capitals?


(Ash Stokes) #209

Unfortunately they are right :frowning_face: if I change my password in the smart app to something wrong and refresh I get a permission denied in debug!

2:35:49 PM: info AA- Status is: ‘system.permission_denied’ - mode ‘system.permission_denied’,
2:35:49 PM: info ‘Yale Alarm’ Logged out
2:35:49 PM: warn Yale Alarm - AA - Status ‘system.permission_denied’
2:35:49 PM: debug AA - response = ‘system.permission_denied’
2:35:49 PM: info ‘Yale Alarm’ Logged in
2:35:49 PM: debug Executing ‘Arm Away’
2:35:49 PM: debug Executing ‘Arm Away’


(Ash Stokes) #210

And yes sorry, definitely armed, waited until I got the armed notification also.


(Mark C) #211

change ln 140 to… than do an arm
log.warn “$device - AA - Status 'reply'", RD = {response.data} , Res = ${response}”
that should show all the response data


(Daniel McDougall) #212

This looks to me like he is connecting to the server but his box isn’t connected to that server. Clearly the logins are shared though.
Be interested to see what ip his box is connecting to though, anyone know if that’s traceable or how to do that


(Daniel McDougall) #213

To be clear smartthings pointing at yale server A.
Yale alarm pointing to Yale server B

So you are offline in server a but we just need to know where server B is because I sincerely doubt they changed how to login


(Mark C) #214

yea, that where my head is
if toy chage the refersh uri: “https://www.yalehomesystem.co.uk/homeportal/api/panel/get_devices/”,

it will tell you what kit is alocated ie, contatats, pirs, sirons, control pannel. might give you a bit more information


(Ash Stokes) #215

Ah yes I’m with you, well with line 140 changed I get the same, it’s the below, I will try changing the refresh URL now and repost in a couple of minutes:

3:07:12 PM: info ‘Yale Alarm’ REFRESH - Mode is ‘Disarmed’, Response- ‘[[area:1, mode:disarm]]’ complete
3:07:12 PM: info ‘Yale Alarm’ Logged out
3:07:11 PM: debug ‘Yale Alarm’ REFRESH - response = ‘[[area:1, mode:disarm]]’ & groovyx.net.http.HttpResponseDecorator@534e03
3:07:11 PM: info ‘Yale Alarm’ Logged in
3:07:04 PM: info ‘Yale Alarm’ AS - Status is: ‘system.panel_offline’ - mode ‘system.panel_offline’
3:07:04 PM: info ‘Yale Alarm’ Logged out
3:07:04 PM: warn AS - response ‘system.panel_offline’
3:07:04 PM: debug AS - response ‘system.panel_offline’
3:07:04 PM: info ‘Yale Alarm’ Logged in
3:07:03 PM: debug Executing ‘Arm Stay’


(Ash Stokes) #216

Woah, quite a bit more info, looks like it’s listed the devices:

3:09:28 PM: info ‘Yale Alarm’ REFRESH - Mode is '[[address:RF:9e80c770, always_on:0, area:1, attr:device_attribute.null, bypass:0, device_chime:0, device_id2:, extension:null, ipcam_trigger_by_zone1:null, ipcam_trigger_by_zone2:null, ipcam_trigger_by_zone3:null, ipcam_trigger_by_zone4:null, latch:1, mac:00:1d:94:07:6b:29, minigw_configuration_data:, minigw_lock_status:, minigw_number_of_credentials_supported:, minigw_product_data:, minigw_protocol:, minigw_syncing:, name:Front Door Keypad, no:1, normal_open:0, pss_group:00, reserved_bit0:0, reserved_bit3:0, reserved_bit4:0, rf:null, rssi:9, scene_restore:null, scene_trigger:0, sresp_button_1:null, sresp_button_2:null, sresp_button_3:null, sresp_button_4:null, status1:, status2:null, status_dim_level:null, status_hue:null, status_humi:null, status_lux:, status_power:null, status_saturation:null, status_switch:null, status_temp:null, status_total_energy:, type:device_type.keypad], [address:RF:21740530, always_on:0, area:1, attr:device_attribute.burglar, bypass:0, device_chime:0, device_id2:, extension:null, ipcam_trigger_by_zone1:null, ipcam_trigger_by_zone2:null, ipcam_trigger_by_zone3:null, ipcam_trigger_by_zone4:null, latch:0, mac:00:1d:94:07:6b:29, minigw_configuration_data:, minigw_lock_status:, minigw_number_of_credentials_supported:, minigw_product_data:, minigw_protocol:, minigw_syncing:, name:Lounge, no:2, normal_open:0, pss_group:00, reserved_bit0:0, reserved_bit3:0, reserved_bit4:0, rf:null, rssi:9, scene_restore:null, scene_trigger:0, sresp_button_1:null, sresp_button_2:null, sresp_button_3:null, sresp_button_4:null, status1:, status2:null, status_dim_level:null, status_hue:null, status_humi:null, status_lux:, status_power:null, status_saturation:null, status_switch:null, status_temp:null, status_total_energy:, type:device_type.pir], [address:RF:22590530, always_on:0, area:1, attr:device_attribute.home_omit, bypass:0, device_chime:0, device_id2:, extension:null, ipcam_trigger_by_zone1:null, ipcam_trigger_by_zone2:null, ipcam_trigger_by_zone3:null, ipcam_trigger_by_zone4…[TRUNCATED]
3:09:28 PM: warn system off line / Error, response= '[[address:RF:9e80c770, always_on:0, area:1, attr:device_attribute.null, bypass:0, device_chime:0, device_id2:, extension:null, ipcam_trigger_by_zone1:null, ipcam_trigger_by_zone2:null, ipcam_trigger_by_zone3:null, ipcam_trigger_by_zone4:null, latch:1, mac:00:1d:94:07:6b:29, minigw_configuration_data:, minigw_lock_status:, minigw_number_of_credentials_supported:, minigw_product_data:, minigw_protocol:, minigw_syncing:, name:Front Door Keypad, no:1, normal_open:0, pss_group:00, reserved_bit0:0, reserved_bit3:0, reserved_bit4:0, rf:null, rssi:9, scene_restore:null, scene_trigger:0, sresp_button_1:null, sresp_button_2:null, sresp_button_3:null, sresp_button_4:null, status1:, status2:null, status_dim_level:null, status_hue:null, status_humi:null, status_lux:, status_power:null, status_saturation:null, status_switch:null, status_temp:null, status_total_energy:, type:device_type.keypad], [address:RF:21740530, always_on:0, area:1, attr:device_attribute.burglar, bypass:0, device_chime:0, device_id2:, extension:null, ipcam_trigger_by_zone1:null, ipcam_trigger_by_zone2:null, ipcam_trigger_by_zone3:null, ipcam_trigger_by_zone4:null, latch:0, mac:00:1d:94:07:6b:29, minigw_configuration_data:, minigw_lock_status:, minigw_number_of_credentials_supported:, minigw_product_data:, minigw_protocol:, minigw_syncing:, name:Lounge, no:2, normal_open:0, pss_group:00, reserved_bit0:0, reserved_bit3:0, reserved_bit4:0, rf:null, rssi:9, scene_restore:null, scene_trigger:0, sresp_button_1:null, sresp_button_2:null, sresp_button_3:null, sresp_button_4:null, status1:, status2:null, status_dim_level:null, status_hue:null, status_humi:null, status_lux:, status_power:null, status_saturation:null, status_switch:null, status_temp:null, status_total_energy:, type:device_type.pir], [address:RF:22590530, always_on:0, area:1, attr:device_attribute.home_omit, bypass:0, device_chime:0, device_id2:, extension:null, ipcam_trigger_by_zone1:null, ipcam_trigger_by_zone2:null, ipcam_trigger_by_zone3:null, ipcam_trigger_by_z…[TRUNCATED]
3:09:28 PM: debug ‘Yale Alarm’ REFRESH - response = '[[address:RF:9e80c770, always_on:0, area:1, attr:device_attribute.null, bypass:0, device_chime:0, device_id2:, extension:null, ipcam_trigger_by_zone1:null, ipcam_trigger_by_zone2:null, ipcam_trigger_by_zone3:null, ipcam_trigger_by_zone4:null, latch:1, mac:00:1d:94:07:6b:29, minigw_configuration_data:, minigw_lock_status:, minigw_number_of_credentials_supported:, minigw_product_data:, minigw_protocol:, minigw_syncing:, name:Front Door Keypad, no:1, normal_open:0, pss_group:00, reserved_bit0:0, reserved_bit3:0, reserved_bit4:0, rf:null, rssi:9, scene_restore:null, scene_trigger:0, sresp_button_1:null, sresp_button_2:null, sresp_button_3:null, sresp_button_4:null, status1:, status2:null, status_dim_level:null, status_hue:null, status_humi:null, status_lux:, status_power:null, status_saturation:null, status_switch:null, status_temp:null, status_total_energy:, type:device_type.keypad], [address:RF:21740530, always_on:0, area:1, attr:device_attribute.burglar, bypass:0, device_chime:0, device_id2:, extension:null, ipcam_trigger_by_zone1:null, ipcam_trigger_by_zone2:null, ipcam_trigger_by_zone3:null, ipcam_trigger_by_zone4:null, latch:0, mac:00:1d:94:07:6b:29, minigw_configuration_data:, minigw_lock_status:, minigw_number_of_credentials_supported:, minigw_product_data:, minigw_protocol:, minigw_syncing:, name:Lounge, no:2, normal_open:0, pss_group:00, reserved_bit0:0, reserved_bit3:0, reserved_bit4:0, rf:null, rssi:9, scene_restore:null, scene_trigger:0, sresp_button_1:null, sresp_button_2:null, sresp_button_3:null, sresp_button_4:null, status1:, status2:null, status_dim_level:null, status_hue:null, status_humi:null, status_lux:, status_power:null, status_saturation:null, status_switch:null, status_temp:null, status_total_energy:, type:device_type.pir], [address:RF:22590530, always_on:0, area:1, attr:device_attribute.home_omit, bypass:0, device_chime:0, device_id2:, extension:null, ipcam_trigger_by_zone1:null, ipcam_trigger_by_zone2:null, ipcam_trigger_by_zone3:null, ipcam_trigger_by_zo…[TRUNCATED]
3:09:20 PM: info ‘Yale Alarm’ AS - Status is: ‘system.panel_offline’ - mode ‘system.panel_offline’
3:09:20 PM: info ‘Yale Alarm’ Logged out
3:09:20 PM: warn AS - response ‘system.panel_offline’
3:09:20 PM: debug AS - response ‘system.panel_offline’
3:09:20 PM: info ‘Yale Alarm’ Logged in
3:09:20 PM: debug Executing ‘Arm Stay’


(Ash Stokes) #217

I wonder if there’s anyway to wireshark or something similar when I’m home and watch for the local LAN IP of the hub to try and see if I can see where it’s sending it’s packets to? to try and figure out if it’s hitting a different server, or even what different server it’s hitting


(Daniel McDougall) #218

I think wireshark is the ticket here, it’s clear from the above that your device is not connected to that “cloud” but it looks like it was at Some point


(Ash Stokes) #219

Ok great thanks Daniel, I will be home in around an hour so I will grab the local IP, try and get a trace and let you know


(Ash Stokes) #220

I can’t seem to get a destination address from wireshark, all I can see is it reaching it’s loopback address :frowning_face: anyone any ideas on how to get it’s destination?


(Ash Stokes) #221

Ok, think i’m getting a bit further, I found the below article, it mentioned when Yale changed their API back end in October (When mine stopped working) I tried to replace the URL in the device handler for ‘https://mob.yalehomesystem.co.uk/yapi/api’ as mentioned in their article, however i’m getting this now when live logging, I think a URI may be different or something as I get ‘false’ when trying to arm… it also is still showing disarmed… but the guys on home assistant seem to have gotten it working with the new URL/URI

6:02:43 PM: info ‘Yale Alarm’ REFRESH - Mode is ‘Disarmed’, Response- ‘[[area:1, mode:disarm]]’ complete
6:02:43 PM: info ‘Yale Alarm’ Logged out
6:02:43 PM: debug ‘Yale Alarm’ REFRESH - response = ‘[[area:1, mode:disarm]]’ & groovyx.net.http.HttpResponseDecorator@3e90c9d5
6:02:42 PM: info ‘Yale Alarm’ Logged in
6:01:39 PM: info ‘Yale Alarm’ AS - Status is: ‘false’ - mode ‘false’
6:01:39 PM: info ‘Yale Alarm’ Logged out
6:01:39 PM: warn AS - response ‘false’
6:01:39 PM: debug AS - response ‘false’
6:01:39 PM: info ‘Yale Alarm’ Logged in
6:01:39 PM: debug Executing ‘Arm Stay’
6:01:31 PM: info ‘Yale Alarm’ REFRESH - Mode is ‘Disarmed’, Response- ‘[[area:1, mode:disarm]]’ complete
6:01:31 PM: info ‘Yale Alarm’ Logged out
6:01:31 PM: debug ‘Yale Alarm’ REFRESH - response = ‘[[area:1, mode:disarm]]’ & groovyx.net.http.HttpResponseDecorator@559c78fa
6:01:31 PM: info ‘Yale Alarm’ Logged in


(Daniel McDougall) #222

Looking good, definitely a step in the right direction, we could parameterize the url and let user select which server in the settings when inputting username and password


(Ash Stokes) #223

Thanks Daniel, sounds good, just not sure why it still won’t arm and not sure really where further to go from here, I’m useless with the coding of the device handler, can only recognise little bits that have similarities to other stuff I script!


(Daniel McDougall) #224

That’s where i started