#================================================================================================== # python_scripts/set_statev2.py #================================================================================================== #-------------------------------------------------------------------------------------------------- # Set the state or other attributes for the entity specified in the Automation Action #-------------------------------------------------------------------------------------------------- # service: # python_script.set_statev2 # {"entity_id": "light.keukeneiland","state":"on","icon":"mdi:door","friendly_name":"test"} inputEntity = data.get('entity_id') if inputEntity is None: logger.warning("===== entity_id is required if you want to set something.") else: inputStateObject = hass.states.get(inputEntity) inputState = inputStateObject.state inputAttributesObject = inputStateObject.attributes.copy() for item in data: newAttribute = data.get(item) logger.debug("===== item = {0}; value = {1}".format(item,newAttribute)) if item == 'entity_id': continue # already handled elif item == 'state': inputState = newAttribute else: inputAttributesObject[item] = newAttribute hass.states.set(inputEntity, inputState, inputAttributesObject)