Yaml - Aide pour corriger valeur sensor

Bonjour à tous

Je débute sur HA, pour diverses raisons, je vais progressivement lâcher Jeedom .

J’ai commencé à lire pas mal de sujets du forum, merci pour les tutos :wink:

Je commence par intégrer ce qui est « exotique » avant de migrer le z-wave et zigbee.
Par exemple mon serveur Wes, ainsi que les ipx800v3 et v4.

C’est à ce sujet que je fais appel à votre aide.

J’ai tout qui remonte bien mais certaines valeurs seraient a corriger

par exemple, le relevé du PH sur l’ipxv4 remonte à « 736 » au lieu de « 7.36 »

Je pensais que ca allé être simple (sur jeedom, y’a qu’a mettre #value# /100 ) mais sur HA j’avoue que je rame un peu beaucoup.

Si j’ai bien lu et compris, il faut passer par un template ?

J’ai essayé plein de formules mais j’y arrive pas même en m’appuyant sur la doc

Voici mon fichier ipx800v4.yaml ou je souhaite modifier quelques valeurs de sensors :

# Example configuration.yaml entry

  - name: IPX800V4
    host: "192.168.1.7"
    api_key: "xxxxxxxxx"
    devices:
      - name: Temperature_eau_piscine
        type: "analogin"
        component: "sensor"
        id: 1
        unit_of_measurement: "°C"
        
      - name: PH_piscine
        type: virtualanalogin
        component: sensor
        id: 29
        
      - name: Redox_piscine
        type: virtualanalogin
        component: sensor
        id: 30
        
      - name: Temperature_exterieure
        type: xthl
        component: sensor
        id: 2
        
      - name: Humidite_exterieure
        type: xthl
        component: sensor
        id: 2
        
      - name: Temperature_local_piscine
        type: xthl
        component: sensor
        id: 1
        
      - name: Conso_generale_piscine
        type: counter
        component: number
        id: 1
        unit_of_measurement: "Wh"
        
      - name: Conso_generale_e208
        type: counter
        component: number
        id: 2
        unit_of_measurement: "Wh"
        
      - name: Conso_generale_508
        type: counter
        component: number
        id: 7
        unit_of_measurement: "Wh"
        
      - name: Pompe ncc_piscine
        type: "relay"
        component: "switch"
        id: 2
        
      - name: Projecteur_piscine
        type: "relay"
        component: "light"
        id: 3
        
      - name: Eclairage_local_piscine
        type: "relay"
        component: "light"
        id: 4
        
      - name: Ouverture_volet_piscine
        type: "relay"
        component: "switch"
        id: 5

      - name: Fermeture_volet_piscine
        type: "relay"
        component: "switch"
        id: 7
        
      - name: Etat_volet_ferme_piscine
        type: "digitalin"
        component: "binarysensor"
        id: 6
        
      - name: Volet_mouvement_en_cours_piscine
        type: "digitalin"
        component: "binarysensor"
        id: 7
        
      - name: Etat_volet_ferme
        type: "digitalin"
        component: "binarysensor"
        id: 6
        
      - name: Prise_e208_piscine
        type: "relay"
        component: "switch"
        id: 6
        
      - name: Prise_508_piscine
        type: "relay"
        component: "switch"
        id: 8

Il y a une intégration toute faite sur HACS pour l’ipx800v4

Dois-je mettre le template dans ce fichier ou dois-je créer un nouveau « template sensor » dans « configuration.yaml » ?
Et surtout, si vous pouvez me guider sur la syntaxe et indentation, je vous serais reconnaissant :wink:

Voici mon « configuration.yaml » ou j’ai essayé de rajouter un sensor sans succès :


# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
multiscrape: !include multiscrape.yaml
ipx800v4: !include ipx800v4.yaml




  - platform: template
    sensors:
      ph:
        friendly_name: "ph"
        unit_of_measurement: ' '
        value_template: "{{ sensor.ph_piscine | multiply(0.01) | round(2) }}" 

Je vous remercie par avance.

Philippe


version core-2023.11.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.59
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.33.0
Stage running
Available Repositories 1334
Downloaded Repositories 8
HACS Data ok
Home Assistant Cloud
logged_in true
subscription_expiration 9 avril 2020 à 02:00
relayer_connected false
relayer_region null
remote_enabled false
remote_connected false
alexa_enabled true
google_enabled true
remote_server null
certificate_status null
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 11.1
update_channel stable
supervisor_version supervisor-2023.10.1
agent_version 1.6.0
docker_version 24.0.6
disk_total 30.8 GB
disk_used 4.1 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Spotify Connect (0.12.6), Terminal & SSH (9.7.1), eufy-security-ws (1.7.1), File editor (5.6.0)
Dashboards
dashboards 1
resources 3
views 2
mode storage
Recorder
oldest_recorder_run 5 novembre 2023 à 10:31
current_recorder_run 7 novembre 2023 à 23:29
estimated_db_size 19.09 MiB
database_engine sqlite
database_version 3.41.2

Salut

Remplace par :

value_template: "{{ states('sensor.ph_piscine') | float(0) | multiply(0.01) | round(2) }}"

Edit :
Le fichier complet :

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
multiscrape: !include multiscrape.yaml
ipx800v4: !include ipx800v4.yaml

sensor:
  - platform: template
    sensors:
      ph:
        friendly_name: "ph"
        unit_of_measurement: ' '
        value_template: "{{ states('sensor.ph_piscine') | float(0) | multiply(0.01) | round(2) }}"
2 « J'aime »

Salut

Je te remercie.

Du coup, tu sais si y’a moyen de mettre ce template directement dans mon fichier "ipx800v4’ ?

Car je me retrouve par le fait avec 2 entités ( une qui est erronée et pas utilisable et une ok mais dans le fichier de conf )

Bonjour

J’ai essayé plusieurs façons, mais je n arrive pas à garder qu’une seule entité (corrigée), celle du fichier ipx800v4.
Vraiment dommage. mais si toutefois quelqu’un a une idée, je suis preneur :wink:

Salut,

Tu ne peux pas mettre ton entité corrigé dans ipx800v4, tu as d’un coté un type template et de l’autre un type ipx800v4
Et tu ne peux pas non plus ne garder que l’entité corrigée… Elle dépends directement des valeurs de celle erronée (pour faire la division)

Dans l’absolu, c’est pas grave d’avoir 2 entités, tu n’as juste qu’à exploiter celle corrigée pour l’affichage et les automatisations

Salut.

Entendu, j’ai compris.
Par contre, c’est peut etre possible du coup, de regrouper ce template et les futurs dans un seul fichier non ?
C est juste pour éviter de surcharger visuellement le configuration.yaml et aussi pour m y retrouver

C’est plus une question de lisibilité/préférence que de surcharge, car au final HA traite la config comme un seul gros « machin »
A toi de choisir ce que tu préfères Organisation du fichier configuration.yaml

Oui, c’est ce que j’ai dit : « surcharger visuellement ».

Je te remercie pour les infos et passe le sujet en résolu.

Prochaine étape, et pas des moindres étant novice sur ce sujet > Appréhender Node Red … je vais de ce pas éplucher les sujets du forum