Tout d’abord je précise que je suis débutant depuis quelques semaine sur HA
J’ai une prise connectée qui me renvoie l’énergie consommée V0 en kWh mais il n’y a pas moyen de la remettre à zéro simplement.
J’ai donc créé 2 sensors
un qui contient une valeur de référence de l’énergie : V1
le second contient une valeur relative de l’énergie : V2 = V0 - V1
Ca marche bien. Je suis même surpris de voir V2 se mettre à jour automatiquement, j’imaginais qu’il fallait le faire manuellement via une automatisation quand V0 ou V1 changent de valeur.
Maintenant je voudrais créer un bouton pour qui ferait V1 = V0 actuel pour faire un reset de V2 à 0 et commencer le suivi d’une nouvelle session de consommation.
Je n’y arrive pas. Quelqu’un pourrait-il m’aiguiller vers ls solution
Pourrais-tu nous en dire plus sur ton cas d’usage ? par exemple la fréquence de la remise a zéro ?
Si c’est pour faire des statistiques jour / mois / An il existe une très très bonne intégration de l’HACS → Powercalc. Si ton cas d’usage est différent, développe un peu qu’on puisse comprendre ton objectif.
Il n’y a pas de fréquence particulière, Ce sera quand j’ai envie.
Je veux piloter des radiateurs électriques pour maintenir ma maison dans un état de température / humidité correct lorsque je suis absent. Je vais faire des tests avec des radiateurs de différentes set technologies. pour chercher le meilleur rapport efficacité/cout.
Je vais jeter un oeil à Powercalc.
Au delà du cas d’usage, j’apprécierai qu’on m’aide à répondre à ma question. Au moins j’apprendrais quelque chose.
j’ai donc modifié le script pour ajouter un nouvel argument qui s’appelle state_entity. il suffit de mettre en argument l’entité de laquelle on veut récupérer l’état et il sera copié dans l’état de l’entité définie par l’argument entity_id.
Voila le script modifié
"""Set the state or other attributes for the specified entity."""
# ========================================================================================
# python_scripts/set_state.py
# modified from -
# https://community.home-assistant.io/t/how-to-manually-set-state-value-of-sensor/43975/37
# ========================================================================================
# ----------------------------------------------------------------------------------------
# Set the state or other attributes for the specified entity.
# Updates from @xannor so that a new entity can be created if it does not exist.
# ----------------------------------------------------------------------------------------
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)
if inputStateObject is None and not data.get("allow_create"):
logger.warning("===== unknown entity_id: %s", inputEntity)
else:
if not inputStateObject is None:
inputState = inputStateObject.state
inputAttributesObject = inputStateObject.attributes.copy()
else:
inputAttributesObject = {}
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 == "allow_create":
continue # already handled
elif item == "state":
inputState = newAttribute
elif item == "state_entity":
inputState = hass.states.get(newAttribute).state
else:
inputAttributesObject[item] = newAttribute
hass.states.set(inputEntity, inputState, inputAttributesObject)