Skip to content

Instantly share code, notes, and snippets.

Last active February 10, 2023 15:33
What would you like to do?
Home Assistant script to set an entity's state, used with the IKEA Tradfri remote control.
if 'entity_id' not in data:
logger.warning("===== entity_id is required if you want to set something.")
data = data.copy()
inputEntity = data.pop('entity_id')
inputStateObject = hass.states.get(inputEntity)
if inputStateObject:
inputState = inputStateObject.state
inputAttributesObject = inputStateObject.attributes.copy()
inputState = 'unknown'
inputAttributesObject = {}
if 'state' in data:
inputState = data.pop('state')
logger.debug("===== new attrs: {}".format(data))
hass.states.set(inputEntity, inputState, inputAttributesObject)
Copy link

bverkron commented Feb 7, 2022

State reverse back 5 seconds after set_state when running latest HA.

Is this happening with an entity that was previously holding its state for a long time after being set with this python script? It might depend on the entity you're setting the state of. Some update very frequently. I've set states in the Developer panel before and they updated and override my change within a very short period.

Copy link

My entity is create by broadlink RF. Got Switch,Fan. It should be an offilne entity.
Previously this entity just send RF code to control switch or Fan.
The reason I use this python script, I built an RF receiver so that when I use original remote controle to send RF code I can use my RF receiver to receive the code and set the correct state for the entity.

Copy link

bverkron commented Feb 7, 2022

Interesting use case. If you set the state in HA under the Development panel does it revert? Testing that would either confirm it's the python script or rule it out. Also does the Log book or logs show anything?

Copy link

Yes. I have tested under dev tool. It behave same.
And just checked logs, no any logs shows about this.
Current log level set to debug.
Please advise how should I troubleshoot this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment