Un sensor sans histoires (ou plutôt sans historique)

Bonjour,

j’ai branché un capteur de radiations sur un esp8266.
vu qu’il produit un « tic » à chaque fois qu’un ion le traverse, il suffit de compter le nombre de pulse par minute.

  - platform: pulse_counter
    pin: GPIO4
    name: "$long_devicename CPM" 
    id: "geiger_counter"
    update_interval: 60s
    unit_of_measurement: 'CPM'
    on_raw_value:
      - sensor.template.publish:
          id: radiation_level
          state: !lambda 'return x *0.0081;'

comme ces valeurs sont assez sibyllines, on va traduire le nombre d’ions baladeurs par minute en une valeur normalisée, le Sievert/heure.

  - platform: template
    name: "$long_devicename Radiation Level"
    id: "radiation_level"
    unit_of_measurement: 'µSv/h'
    update_interval: 60s
    icon: mdi:radioactive
    accuracy_decimals: 5

jusque là, tout se passe bien, je récupère mes « CPM » et « Radiation Level »
image

mais au moment de faire des graphiques, ca se complique:

type: vertical-stack
cards:
  - chart_type: line
    period: 5minute
    days_to_show: 15
    type: statistics-graph
    entities:
      - sensor.compteur_geiger_cpm
    stat_types:
      - mean
  - chart_type: line
    period: 5minute
    days_to_show: 15
    type: statistics-graph
    entities: 
      - sensor.compteur_geiger_radiation_level
    stat_types:
      - mean
(des que je remplace le 
    entities:  [] 
par
    entities: 
      - sensor.compteur_geiger_radiation_level
) ca me plante l'affichage...

impossible de trouver le sensor.compteur_geiger_radiation_level


ce sensor n’existe pas, alors que je l’utilise parfaitement avec une carte Gauge:

type: gauge
entity: sensor.compteur_geiger_radiation_level
min: 0
needle: true
severity:
  green: 0
  yellow: 1
  red: 2.5
max: 5
unit: µSv/h
name: Radiations

Pourquoi je ne peux pas voir les statistiques de ce sensor ??? je le vois même dans l’historique ???

System Information

version core-2022.8.7
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.5
os_name Linux
os_version 5.15.32-v8
arch aarch64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4873
Installed Version 1.27.1
Stage running
Available Repositories 1107
Downloaded Repositories 19
Home Assistant Cloud
logged_in true
subscription_expiration 18 septembre 2022 à 02:00
relayer_connected true
remote_enabled true
remote_connected true
alexa_enabled false
google_enabled true
remote_server eu-central-1-2.ui.nabu.casa
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 8.5
update_channel stable
supervisor_version supervisor-2022.08.5
agent_version 1.2.1
docker_version 20.10.14
disk_total 237.7 GB
disk_used 30.2 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Mosquitto broker (6.1.3), Samba share (10.0.0), Zigbee2MQTT (1.27.2-1), Home Assistant Google Drive Backup (0.108.4), Terminal & SSH (9.6.1), Node-RED (13.3.2), Studio Code Server (5.3.0), eWeLink Smart Home (1.2.9), SQLite Web (3.6.1), ESPHome (2022.8.1)
Dashboards
dashboards 4
resources 9
views 26
mode storage
Recorder
oldest_recorder_run 24 août 2022 à 12:41
current_recorder_run 31 août 2022 à 23:27
estimated_db_size 797.61 MiB
database_engine sqlite
database_version 3.38.5

Salut

Techniquement il existe forcément (tu l’utilise et tu as son historique par ailleurs) … L’erreur est probablement plus lié à la carte et sa configuration et sa façon de traiter les données.

Est-ce que les statistiques ne sont pas limitées à certaines classes et state_class ?

Dans la documentation de statistic-graph j’ai trouvé ça : Expected data source not listed - Home Assistant
En l’occurrence, le développeur de l’intégration en question étant toi, conformément au lien ci-dessus, je t’invite à ouvrir une issue au près de toi-même afin de rajouter les bonnes classes au sensor template de ta config ESPHome :wink:
Plus sérieusement, je pense que ça vient de là :slight_smile:

Sauffe erreur de ma part, la carte Gauge, utilise la valeur actuelle donc ça ne me semble pas incohérent que ça fonctionne avec du coup.

Bien, je me suis appelé, je me suis demandé de m’envoyer un mail.
j’ai bien reçu mon mail.
mais je me propose de passer par ailleurs, parce que je ne sais pas faire proprement. (enfin coder, hein).

j’ai trouvé cà:

(Geiger counter with HA integration? - #28 by Chemi - Hardware - Home Assistant Community)
avec un « historique » sur base de type: custom:mini-graph-card
sur base de deux entités:

  • entity: sensor.compteur_geiger_radiation_level
  • entity: sensor.virtual_sensor_020_usv

mais ce sensor virtuel est défini comme ceci:

« Create Virtual sensors in your HA configuration.yaml and add them to the graph »

#Virtual CPM for Graphing
  - platform: virtual
    name: 'sensor.30_CPM'
    class: measurement
    initial_value: 30
    initial_availability: true
    
#Virtual µSv for Graphing
  - platform: virtual
    name: 'sensor.020_µSv'
    class: measurement
    initial_value: 0.20
    initial_availability: true

mais il est pas content HA, il me sort:

Configuration non valide !

Platform error sensor.virtual - Integration ‹ virtual › not found.
Platform error sensor.virtual - Integration ‹ virtual › not found.

C’est pas dans la section sensor de /config/configuration.yaml qu’il faut mettre çà ?

Tout d’abord, félicitation pour la rapidité de tes communications internes, je ne peux pas toujours en dire autant étant adepte de la procrastination :grin:

En ce qui concerne la classe measurement, tu peux la mettre directement dans ta configuration ESPHome en utilisant state_class: "measurement".
Il faut peut-être aussi un device_class pour que ça passe vraiment mais là je ne saurais pas lequel t’indiquer, en espérant que le state_class seul sufise.

Désolé si c’est un peu vague comme explication, j’espère que ça pourra quand même t’aider…

EDIT : D’après ce que je peux lire dans les liens de mon premier message, le state_class devrait suffir.

1 « J'aime »

Oh bien pour partir dans le sens inverse, je suis très rapide…

voici ma nouvelle définition de template dans esphome:

  - platform: template
    name: "$long_devicename Radiation Level"
    id: "radiation_level"
    unit_of_measurement: 'µSv/h'
    update_interval: 60s
    icon: mdi:radioactive
    accuracy_decimals: 5
    state_class: "measurement"

d’un seul coup, mon graphique s’est animé.
en fait, animé est un terme un peu fort: il est apparu.
tout est vierge, il faut que les données arrivent…
image

Vous noterez au passage, cette grande nouveauté que je viens de découvrir: il existerait des radiations négatives.
je vais postuler au prix nobel de physique. dès que j’ai mon doctorat en procrastination. Je commence demain.

en attendant, je vais regarder ce qu’on peut faire avec les mini-graph-card…

1 « J'aime »