Skip to content

Instantly share code, notes, and snippets.

@pelrun
Last active January 30, 2024 08:24
Show Gist options
  • Save pelrun/91feae869aa9bfe9faa610a1fbbee9b3 to your computer and use it in GitHub Desktop.
Save pelrun/91feae869aa9bfe9faa610a1fbbee9b3 to your computer and use it in GitHub Desktop.
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.")
else:
data = data.copy()
inputEntity = data.pop('entity_id')
inputStateObject = hass.states.get(inputEntity)
if inputStateObject:
inputState = inputStateObject.state
inputAttributesObject = inputStateObject.attributes.copy()
else:
inputState = 'unknown'
inputAttributesObject = {}
if 'state' in data:
inputState = data.pop('state')
logger.debug("===== new attrs: {}".format(data))
inputAttributesObject.update(data)
hass.states.set(inputEntity, inputState, inputAttributesObject)
@bverkron
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?

@sasukebinbin
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.

@danielbrunt57
Copy link

Yes. I have tested under dev tool. It behave same.

I.e If you set the state in Dev Tools it reverts automatically? In this case, nothing can be done to override the constant and continual state updating that HA/componets inherently do.

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