guerrerotook / securitas-direct-new-api

This repository contains the new securitas direct API that can be integrated in Home Assistant
Apache License 2.0
79 stars 30 forks source link

No entities after initial setup. Dedicated Securitas user issue? #123

Closed jeanfabrice closed 1 year ago

jeanfabrice commented 1 year ago

Hi!

Got a similar issue like https://github.com/guerrerotook/securitas-direct-new-api/issues/81 where no entities show up after setting up the HACS Securitas integration from scratch:

Capture d’écran 2023-03-04 à 10 42 21

Versions

Configuration details

Debug Logs (Click me) ``` + homeassistant-7dfc8949bd-rtr2f › homeassistant homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:38:48.924 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration securitas which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:06.076 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Making request with device_id , uuid and idDeviceIndigitall homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:06.708 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] --------------Response-------------- homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:06.708 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"errors":[{"message":"Unauthorized","name":"SecurityError","time_thrown":"2023-03-04T09:40:06.668Z","data":{"auth-type":"OTP","auth-code":"10001","auth-phones":[{"id":0,"phone":"*******184"},{"id":1,"phone":"*******491"}],"auth-otp-hash":"fc057f8a-2d8c-4bf6-99aa-57700cb5a9a4"},"path":["xSValidateDevice"]}],"data":{"xSValidateDevice":null}} homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:06.708 ERROR (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Unauthorized homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:09.007 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Making request with device_id , uuid and idDeviceIndigitall homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:09.504 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] --------------Response-------------- homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:09.504 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"data":{"xSSendOtp":{"res":"OK","msg":"Demande effectuée correctement"}}} homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:22.847 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Making request with device_id , uuid and idDeviceIndigitall homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:23.391 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] --------------Response-------------- homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:23.392 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"data":{"xSValidateDevice":{"res":"OK","msg":"Demande effectuée correctement","hash":null,"refreshToken":null,"legals":null}}} homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:23.392 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Making request with device_id , uuid and idDeviceIndigitall homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:23.963 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] --------------Response-------------- homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:23.963 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"data":{"xSLoginToken":{"__typename":"XSLoginToken","res":"OK","msg":"Utilisateur correctement validé","hash":null,"refreshToken":null,"legals":false,"changePassword":true,"needDeviceAuthorization":false,"mainUser":false}}} homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:23.964 DEBUG (MainThread) [custom_components.securitas] Log in Securitas: True homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:23.964 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Making request with device_id , uuid and idDeviceIndigitall homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.120 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] --------------Response-------------- homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.120 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"errors":[{"message":"Unauthorized","name":"SecurityError","time_thrown":"2023-03-04T09:40:24.083Z","data":{"auth-code":""},"path":["xSInstallations"]}],"data":{"xSInstallations":null}} homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.120 ERROR (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Unauthorized homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.121 INFO (MainThread) [homeassistant.setup] Setting up securitas homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.121 INFO (MainThread) [homeassistant.setup] Setup of domain securitas took 0.0 seconds homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.122 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Making request with device_id , uuid and idDeviceIndigitall homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.693 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] --------------Response-------------- homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.693 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"data":{"xSLoginToken":{"__typename":"XSLoginToken","res":"OK","msg":"Utilisateur correctement validé","hash":null,"refreshToken":null,"legals":false,"changePassword":true,"needDeviceAuthorization":false,"mainUser":false}}} homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.693 DEBUG (MainThread) [custom_components.securitas] Log in Securitas: True homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.693 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Making request with device_id , uuid and idDeviceIndigitall homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.833 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] --------------Response-------------- homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.833 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"errors":[{"message":"Unauthorized","name":"SecurityError","time_thrown":"2023-03-04T09:40:24.796Z","data":{"auth-code":""},"path":["xSInstallations"]}],"data":{"xSInstallations":null}} homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.833 ERROR (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] Unauthorized homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.838 INFO (MainThread) [homeassistant.components.alarm_control_panel] Setting up alarm_control_panel.securitas homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:24.839 INFO (MainThread) [homeassistant.components.sensor] Setting up sensor.securitas homeassistant-7dfc8949bd-rtr2f homeassistant 2023-03-04 09:40:29.845 WARNING (SyncWorker_45) [homeassistant.helpers.service] Unable to find services.yaml for the securitas integration ```
jeanfabrice commented 1 year ago

Edit: I got a different behavior and debug logs when using the "main user" but still: no entities.

This time it looks like to be an issue on the Securitas side, where they are hitting some kind of timeout which connecting to the alarm (trying to refresh the alarm status from my iPhone app failed as well with a timeout):

homeassistant-7dfc8949bd-bbdlc homeassistant 2023-03-04 10:00:30.907 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] {"data":{"xSCheckAlarmStatus":{"res":"WAIT","msg":"Demande en cours de traitement","status":null,"numinst":null,"protomResponse":null,"protomResponseDate":null}}}
(...)
homeassistant-7dfc8949bd-bbdlc homeassistant 2023-03-04 10:00:31.987 DEBUG (MainThread) [custom_components.securitas.securitas_direct_new_api.apimanager] <html style="height:100%"><head><META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"><meta name="format-detection" content="telephone=no"><meta name="viewport" content="initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><script type="text/javascript" src="/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3"></script></head><body style="margin:0px;height:100%"><iframe id="main-iframe" src="/_Incapsula_Resource?CWUDNSAI=23&xinfo=redacted&incident_id=redacted&edet=15&cinfo=0b000000&rpinfo=0&mth=POST" frameborder=0 width="100%" height="100%" marginheight="0px" marginwidth="0px">Request unsuccessful. Incapsula incident ID: redacted</iframe></body></html>

I'll check the above issue with them directly.

Question regarding the securitas HACS integration: is the integration compatible with a different user that the main one?

Thanks!

AlbertoGallucci commented 1 year ago

HI @jeanfabrice, I had the same problem a week ago and managed to sort it out this way:

  1. Delete all the Securitas integration on 'Settings > Devices & Services > Integrations' (not on HACS).
  2. Log in on the 'Verisure/Securitas Direct' platform (Web browser) with the credentials of the user you are using for the integration (I used a 'Restricted user/ ONLY ALARM CONTROL').
  3. It should show you a message to select a new password (the first time you log in with these credentials). Write a new Password and they will text message your phone to check the changes.
  4. Once inside, you should be available to see your alarm system.
  5. Go back to your configuration.yaml on HA and write the new password (or on secrets.yaml)
  6. Check the configuration.yaml on 'Developer Tools > Check configuration'
  7. Restart HA on 'Developer Tools > Restart'
  8. The new integration should popup on 'Notifications'
  9. Add it and done! (they will text message your phone to check again)

Hope it helps.

jeanfabrice commented 1 year ago

Awesome @AlbertoGallucci! I was too much confident Securitas would create the user straight away. However, it looks like you first have to change the password by logging in once as the new user (your point 3)

Thanks a lot!! Closing