Good point. For me and my family, building and maintaining the integration is worth it. The same can be said for integrating smart detections from Unifi Protect to use for notifications and motion sensors.
But I see your point. I think it comes down to the individual.
Having updated my integration to the new version, I was offering insight into the issues that I found. I wrote mine to run on one of my rPi's. I have no interest in updating the groovy version to the new authentication method. That said, sometimes the solution you choose is dictated by your comfort and skill level.
On Monday, Jan 17th between 15:30 - 15:35 MST, my logs show that twice I had status change to "ERROR" followed by the correct alarm status. Never seen those before and those two are the only ones I'm seeing in my device events.
I just noticed that arming and disarming Simplisafe is giving an error in the last few days.
setState(off) something went wrong: java.lang.NullPointerException: Cannot get property 'respAuthHeader' on null object
and
setState(home) something went wrong: java.lang.NullPointerException: Cannot get property 'respAuthHeader' on null object
This is talked about earlier in this topic but in case that has been missed...
If you bring up your SimpliSafe device and look at the State Variables, you'll see this message.
" deprecated=This authentication endpoint is deprecated and may no longer function after December 1, 2021"
That showed up Summer 2021.
I think we are seeing the beginning of the end for this integration as written. Here is what @toby had to say about changing to the new SimpliSafe authentication method.
The developers over at Home Assistant have switched their integration to work with the new authentication method. There is a multi-step procedure to get a code from SimpliSafe to be used for authentication so I understand @toby "graceful/reliable way" comment. I have been testing the HA integration by installing HA as a docker container and using a spare HE C5 hub. It seems to be working well but I'm for now still running this integration on my main C7 hub.
The only thing that changed is the login/token retrieval. There is no way to do this integration as an HE/groovy only procedure. Once the initial auth token is retrieved, it will work well in HE/groovy. Reboots may cause the need for a new auth token. The HE/groovy app/device cannot recover like the old integration.
The new api hasn’t given me any issues. Good luck with updating this integration. For what is worth, I am using a Python integration that I wrote last summer. I updated the auth method back in early December. It interfaces with HE.
For a while the integration didn't work for me, until I decided to try again a few weeks ago.
I managed to get to work again and got past the: setState(home) something went wrong: java.lang.NullPointerException: Cannot get property 'respAuthHeader' on null object error message.
It was working great until today, when Simplisafe updated firmware and rebooted. So I assume that the issue is that I need to obtain a new token. Is there an easy way or any way to force to get the token again?
I've been having a similar problem as of a few days ago. No amount of polling/resaving/restarting is fixing it this time. =/ So, this may indeed be the end.
dev:2272022-02-27 08:35:03.396 am errorjava.lang.IllegalArgumentException: The JSON input text should neither be null nor empty. on line 247 (method apiLoginHandler)
dev:2272022-02-27 08:35:03.337 am traceerror response data: null
dev:2272022-02-27 08:35:03.333 am traceresponse received error: Not Found
dev:2272022-02-27 08:35:02.951 am infoExecuting login...
dev:2272022-02-27 08:34:53.292 am errorsetState(off) something went wrong: java.lang.NullPointerException: Cannot get property 'respAuthHeader' on null object
dev:2272022-02-27 08:34:53.215 am infoSetting SimpliSafe mode to 'Off'
dev:2272022-02-27 08:31:39.465 am errorjava.lang.IllegalArgumentException: The JSON input text should neither be null nor empty. on line 247 (method apiLoginHandler)
dev:2272022-02-27 08:31:39.457 am traceerror response data: null
dev:2272022-02-27 08:31:39.453 am traceresponse received error: Not Found
dev:2272022-02-27 08:31:39.254 am infoExecuting login...
dev:2272022-02-27 08:31:29.238 am errorsetState(off) something went wrong: java.lang.NullPointerException: Cannot get property 'respAuthHeader' on null object
dev:2272022-02-27 08:31:29.234 am infoSetting SimpliSafe mode to 'Off'
dev:2272022-02-27 08:31:25.058 am infoSetting up schedule every 10 minute(s)...
dev:2272022-02-27 08:31:23.477 am errorjava.lang.IllegalArgumentException: The JSON input text should neither be null nor empty. on line 247 (method apiLoginHandler)
dev:2272022-02-27 08:31:13.217 am errorsetState(off) something went wrong: java.lang.NullPointerException: Cannot get property 'respAuthHeader' on null object
dev:2272022-02-27 08:31:13.213 am infoSetting SimpliSafe mode to 'Off'
I was looking for a python script (or something) I could run locally on a home Linux server that I could trigger via makerapi, but have not had any luck.
I understand SimpliSafe is fantastic at actual security, but in todays connected world it needs integration. Even if it was an extra $5/mo for api access. A battle that I don’t intend to fight.
Next time I’ll go with a more open roll your own security system. I don’t have serious security concerns where I am and don’t need Fort Knox.