SimpliSafe State Not Updating

Interesting. I wonder if V2 systems handle authentication/refresh tokens differently than V3 systems… I can’t imagine so, but you never know, I guess.

You bet. Check out this section of simplisafe-python’s docs: Usage — simplisafe-python 2024.01.0 documentation

The repo also has an examples folder: simplisafe-python/examples at dev · bachya/simplisafe-python · GitHub

Glad to see you guys are working to solve this issue. This is the same problem I posted about here:

It would appear this is a V2 related issue since all of us (@DaveCo1701) who have weighed in with this problem have that system.

I have seriously considered moving to the V3 system, but am holding back because I’m exploiting a weakness in the V2 system. I use a Pi and rtl_433 to eavesdrop on the V2 communications from the sensors to the base station. Doing this allows me to pull the SimpliSafe sensors into Home Assistant. Has someone figured out a way to do this with the V3 sensors? My understanding is the V3 system encrypts wireless transmissions. Looking for a solution that doesn’t have me installing two door sensors on every door.

I ultimately decided to upgrade to Gen3. I figured the problems with Gen2 will keep popping up and at some point it probably won’t make sense for HA to support Gen2. @DaveCo1701 - @bachya can keep me honest but I think the HA integration does pick up individual sensors for Gen3 systems.

@ChitFam - my hack until I get the Gen3 system is to use @bachya 's simplipy library. I have a script that runs every 30 seconds to check the events list. The logic looks like:

systems = await simplisafe.async_get_systems()
for system in systems.values():
    # Print system events:
    events = await system.async_get_events()
    for event in events:
        if event["messageSubject"] == "SimpliSafe System Armed (home mode)":
            msg = "armed_home"
            break
        if event["messageSubject"] == "SimpliSafe System Armed (away mode)":
            msg = "armed_away"
            break
        if event["messageSubject"] == "SimpliSafe System Disarmed":
            msg = "disarmed"
            break

The msg is then sent to a Mosquito MQTT broker. HA subscribes to the topic to update a sensor. So HA is getting the most recent alarm state from the events every 30 seconds. I’m ignoring the state reported by HA for the alarm because it’s usually un reliable. The REST state polling doesn’t work because it’s cached data for Gen2 and the websockets update on events are unreliable for my system.

I considered using the recent event available in HA on the alarm sensor (i.e., update a new sensor based off that event without needing the custom script/MQTT). The only problem there is if there were other events (e.g., power outage) that I could see causing issues. The MQTT method is a little more robust and ensures proper state is always set.

I started looking at how I could tweak the SimpliSafe component to do this natively, but that was a bit over my head for a quick fix :slight_smile:

1 Like

I haven’t heard of a similar exploit for V3 systems. I saw a pretty good V3 tear down and SS has done a much better job encrypting traffic.

Correct, with one caveat: The values are updated via a 20-second polling interval. In our house, unfortunately, that doesn’t really help me with anything useful… @DaveCo1701 is exploiting a workaround that allows them real-time access to sensor values via sniffing the RF signals.

Ahhh. Ok, makes sense.

Yeah, 20 second delay wouldn’t be good for triggering actions (e.g., when door opened, turned on light). But I guess it could be good for monitoring/alerting - (e.g., if weather is raining and window is open, send me an alert)

1 Like

hi, im a beginner using HA… is there any way to reduce this 20-second refresh rate… im actually trying to automate to turn on front light when Front Door Entry Sensor is open… but it take too much time to trigger. thanks!!!

1 Like

@Jisg.apps - there is no way in the UI. You’d have to edit the polling code to change the frequency. Even at that, I don’t think you’ll ever get the outcome you want. Even at a frequency of 3 seconds polling, it takes time to make the HTTP requests so you’re still looking at several seconds for the action to run in HA. Something like a door opening trigger for turning on a light needs to be close to instant.

Could you put a Z-Wave motion sensor near the front door to turn on a light based on motion? That would trigger much faster. Or, look for another Z-wave door sensor that could talk directly to HA to trigger a light.

1 Like

I am continuing losing authentication on restarts of HA. The only fix I see is deleting the integration then reinstalling.

Are you using SimpliSafe V2 or V3?

V3. No changes in my system.

Hm. Haven’t seen that on my system once I got on V3. Might be worth opening a bug?

There is an open GitHub issue.

I am losing this integration every couple of days. The only fix I have found is to delete and re-install.

@Jisg.apps I am trying to do the same thing. Did you find a way to make this work?

I am not sure if this thread is still alive, but I am having a similar issue with the latest version of the application. HomeAssistant doesn’t pull the API for hours and hours, making the integration almost worthless other than just arming and disarming. Is there a way to configure to pull the rest api every XX seconds?