À la suite de la reception de mon Onduleurs pour pallier les microcoupures qui me cramais le SQLite régulièrement. J’ai réussi à en récupérer les infos de fonctionnement de base. Mais il me manque l’essentiels la consommation instantanée, pour pouvoir calculer la consommation totale de la partie informatique.
Mais
Je n’arrive pas à créer le sensors qui va calculer la conso et je comprends pas mon erreur malgré les indices trouvé sur le forum.
J’ai d’abord voulu intégrer ce sensors dans la configuration en faisant un include du fichier sensors
/config/sensors.yaml
Et ça ne fonctionne pas j’ai deux erreurs que je ne comprends pas et je recherche de l’aide pour les comprendre.
1/ l’include dans le configuration.yaml ne fonctionne pas, quand je veut relancer HA j’ai cette erreur ?
Cannot quick reload all YAML configurations because the configuration is not valid: Integration error: sensors - Integration ‹ sensors › not found.
2/ si je mets le code dans le configuration.yaml direct sans include j’ai cette erreur
Cannot quick reload all YAML configurations because the configuration is not valid: Invalid config for [sensor.template]: expected dictionary for dictionary value @ data[‹ sensors ›]. Got None extra keys not allowed @ data[‹ conso_ups ›]. Got {‹ value_template ›: ‹ {{states(‘sensor.onduleur_garage_nominal_power) | float /100 | float *(‘sensor.onduleur_garage_load)}} ›, ‹ unit_of_measurement ›: ‹ W ›, ‹ icon ›: ‹ mdi:lightning-bolt ›, ‹ device_class ›: ‹ energy ›}. (See ?, line ?).
Ok donc le fichier sensor sans s est remplacer par templates.yalm
J’ai donc déplacé les sensors qui était sous template dans mon configuration.yaml et je présume que les codes
sensor:
- platform: template
sensors:
Qu’il me reste dans ce fichier peuvent être déplacer ?
Cependant j’ai une erreur qui apparais dans les logs après redémarrage et je comprends pas de quels syntax il me parle
Logger: homeassistant.config
Source: config.py:864
First occurred: 21:31:54 (1 occurrences)
Last logged: 21:31:54
Invalid config for [template]: invalid template (TemplateSyntaxError: unexpected char ‹ ‘ › at 9) for dictionary value @ data[‹ sensor ›][0][‹ state ›]. Got ‹ {{states(‘sensor.onduleur_garage_nominal_power) | float /100 | float *(‘sensor.onduleur_garage_load)}}\n ›. (See /config/templates.yaml, line 45).
Si vous parlez de vos autres template sensor alors oui ils peuvent être déplacé en les réécrivant au bon format. Si vous parlez juste des 3 lignes que vous avez affiché, elles peuvent être supprimés
Merci @Makai ça commence à prendre forme et le code est plus propre avec les bon quote.
Cependant la formule semble fausse ou non comprise par Ha
J’ai la puissance max en VA de 550 qui est fixe [sensor.onduleur_garage_nominal_power]
Et j’ai [sensor.onduleur_garage_load] qui 'indique le pourcentage utiliser de ces 550 VA
hum il ne comprend pas la valeur de states('sensor.onduleur_garage_load') si je le remplace par l’état actuel qui est de 15 ça donne le bon résultats
sensor.onduleur_garage_load a bien un état de 15% actuellement
A part peut être un |int derrière la dernière parenthèse je vois pas.
Vous pouvez tester votre « code » dans la partie « Outils de développement / Modèle » pour essayer de voir ce qui ne va pas. Il doit également y avoir des choses dans le log (Paramètres / système / journaux).
Et quand je le test dans les outils de développement il me donne ce souci
TypeError: can’t multiply sequence by non-int of type ‹ float ›
J’ai essayé d’enlever le second float mais non ça veut pas et si je remplace states('sensor.onduleur_garage_nominal_power') par la valeur T power ça fonctionne pourtant il y a le second float ? {{ states('sensor.onduleur_garage_nominal_power') | float /100 | float *15 }}
L’idéal c’est de partager aussi le template (pas que les erreurs) pour bien voir. Là avec la serie de correction, c’est pas simple tout suivre
Il faut aussi que tu changes tous les float en float(default=0), et tu peux simplifier la multiplication
Je pense que ça doit s’approcher de ça
Salut a tout
Je me suis aperçue que certaine de mes sondes de T Bresser avais de gros décalage de température.
J’ai donc voulu créer des nouveau sensors de correction mais je n’arrive pas à faire la formule j’ai une erreur à chaque fois. d’où proviens mon erreur car quand je lis sur le forum je trouve de tout sans comprendre réellement la Façon de procéder
Bien sûr que non mais ça fonctionnait comme ça depuis le debut d’année mais comme je commence à mettre les mains dans le cambouis je trouve des trucs bizarres.
J’avais donc la version PAS BIEN que je viens de corriger pour passer en BIEN
Mais c’est pire tous mes sensors ne fonctionne plus (j’ai perdu sensor.lune par exemple)
Et maintenant j’ai deux boulettes dans la réécriture
c’est quoi qui le dérange a ce point ?
Logger: homeassistant.config
Source: config.py:864
First occurred: 19:12:10 (1 occurrences)
Last logged: 19:12:10
Invalid config for [template]: expected dictionary for dictionary value @ data[‹ sensors ›]. Got [{‹ name ›: ‹ Total énergie convecteur lou ›, ‹ unique_id ›: ‹ total_energie_convecteur_lou ›, ‹ unit_of_measurement ›: ‹ kWh ›, ‹ device_class ›: ‹ energy ›, ‹ state_class ›: ‹ total_increasing ›, ‹ state ›: « {% set energy = state_attr(‹ climate.convecteur_lou_ann ›, ‹ total_energy ›) %} {% if energy == ‹ unavailable › or energy is none%}unavailable{% else %} {{ ((energy | float) /1000.0) | round(2, default=0) }} {% endif %}\n »}, {‹ name ›: ‹ Total énergie convecteur bureau ›, ‹ unique_id ›: ‹ total_energie_convecteur_bureau ›… (See /config/templates.yaml, line 0).
- sensors:
- name: "Total énergie convecteur lou"
unique_id: total_energie_convecteur_lou
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >
{% set energy = state_attr('climate.convecteur_lou_ann', 'total_energy') %}
{% if energy == 'unavailable' or energy is none%}unavailable{% else %}
{{ ((energy | float) /1000.0) | round(2, default=0) }}
{% endif %}
- name: "Total énergie convecteur bureau"
unique_id: total_energie_convecteur_bureau
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >
{% set energy = state_attr('climate.bureau', 'total_energy') %}
{% if energy == 'unavailable' or energy is none%}unavailable{% else %}
{{ ((energy | float) /1000.0) | round(2, default=0) }}
{% endif %}
- name: "Total énergie convecteur salon"
unique_id: total_energie_convecteur_salon
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >
{% set energy = state_attr('climate.connecteur_salon', 'total_energy') %}
{% if energy == 'unavailable' or energy is none%}unavailable{% else %}
{{ ((energy | float) /1000.0) | round(2, default=0) }}
{% endif %}
- name: "Total énergie convecteur sejour"
unique_id: total_energie_convecteur_sejour
unit_of_measurement: "kWh"
device_class: energy
state_class: total_increasing
state: >
{% set energy = state_attr('climate.convecteur_sejour', 'total_energy') %}
{% if energy == 'unavailable' or energy is none%}unavailable{% else %}
{{ ((energy | float) /1000.0) | round(2, default=0) }}
{% endif %}
- name: "Power Ups"
unique_id: power_ups
state: >
{{ (states('sensor.onduleur_garage_nominal_power') | float(default=0) /100) *(states('sensor.onduleur_garage_load') | float(default=0)) }}
unit_of_measurement: "W"
icon: 'mdi:lightning-bolt'
device_class: power
state_class: measurement
- name: "sonde_cuisine_temperature_reajust"
unique_id: sonde_cuisine_temperature_reajust
state: >
{{ (states('sensor.sonde_t_cuisine_temperature') | float(default=0) - 0.9) }}
unit_of_measurement: °C
icon: 'mdi:temperature-celsius'
device_class: temperature
state_class: measurement
- name: Lune
state: >-
{% set phases = {'first_quarter': 'Premier quartier', 'full_moon': 'Pleine lune',
'last_quarter': 'Dernier quartier', 'new_moon': 'Nouvelle lune',
'waning_crescent': 'Dernier croissant', 'waning_gibbous': 'Gibbeuse décroissante',
'waxing_crescent': 'Premier croissant', 'waxing_gibbous': 'Gibbeuse croissante'} %}
{% set phase = states('sensor.moon_phase') %}
{{ phases[phase] if phase in phases.keys() else 'Error' }}
picture: /local/moon_phases/{{ states('sensor.moon_phase') }}.png