Bonjour,
Depuis hier j’ai un message me disant que ma configuration de sensor mqtt ne fonctionnera plus.
Dans mon fichier sensors.yaml j’ai ce type de config
- platform: mqtt
name: "HumiditéInt"
unique_id: uniqueid_HumiditéInt
icon: mdi:water-percent
state_topic: "weewx/loop"
value_template: '{{ value_json.inHumidity | round(0) }}'
unit_of_measurement: "%"
##########Précipitation##########
- platform: mqtt
name: "Pluie/24h"
unique_id: uniqueid_rain24_cm
state_topic: "weewx/loop"
value_template: '{{ value_json.rain24_cm | round(2)*10}}'
unit_of_measurement: "mm"
- platform: mqtt
name: "Pluie/h"
unique_id: uniqueid_rainRate_cm_per_hour
state_topic: "weewx/loop"
value_template: '{{ value_json.hourRain_cm| round(1)*10}}'
unit_of_measurement: "mm"
Le message me dit :
Your manually configured MQTT sensor(s) needs attention
Ceci ne fonctionnera plus dans la version 2022.12.0. Veuillez y remédier avant de mettre à jour.
Manually configured MQTT sensor(s) found under platform key sensor.
Please move the configuration to the mqtt integration key and restart Home Assistant to fix this issue. See the documentation, for more information.
Jusqu’ici tout va bien
La doc m’indique de modifier comme cela
# Example configuration.yaml entry
mqtt:
sensor:
- state_topic: "home/bedroom/temperature"
Je modifie donc comme suit mais ma configuration ne passe pas
mqtt:
sensor:
- state_topic: "weewx/loop"
name: "Pluie/24h"
unique_id: uniqueid_rain24_cm
value_template: '{{ value_json.rain24_cm | round(2)*10}}'
unit_of_measurement: "mm"
Je suis conscient que ma question est probablement très bête et que la solution simple, j’ai cherché sur le forum mais je n’ai pas trouvé (je sens que j’ai mal cherché)
Je suis vraiment débutant et malgré toutes mes lectures, j’ai du mal à comprendre ce qu’est le platform, les templates, parfois simplement où il faut configurer les choses.
Je ne suis pas fan des vidéos youtube et préfère la lecture mais là je ne pige pas malgré mes recherches.
Merci de votre aide et si vous avez des liens pour m’orienter, je suis plus que preneur. Je vais d’ailleurs aller relire les topics principaux du forum en attendant de vous lire
Salut
2 fois state_topic c’est beaucoup non ?
1 « J'aime »
oui en effet, mauvais copié collé de ma part, il n’y en a bien qu’un dans mes tests, le premier uniquement
Vire le premier avec le - 
ça donne quoi au niveau de l’erreur ensuite ? quel message s’il est toujours là
Pas mieux j’ai cela quand je clique sur le point d’exclamation rouge
end of the stream or a document separator is expected (128:1)
125 | # value_template: '{{ value_ ...
126 | # unit_of_measurement: "mm"
127 |
128 | mqtt:
-------^
129 | sensor:
Je me demande si ce n’est pas le début de mon fichier sensor.yaml qui pose problème. (est que je peux le mettre en entier dans ce post ?
oui met le fichier complet et attention dirait qu’il y a un espace avant mqtt
Pas d’espace avant
###################################################
############## Raspbery Pi#########################
###################################################
- platform: systemmonitor
resources:
- type: disk_free
arg: /
- type: disk_use_percent
arg: /home
- type: memory_use_percent
- type: swap_use_percent
- type: processor_use
- type: last_boot
# Temperature CPU
- platform: command_line
name: "RPi CPU Temperature"
command: "cat /sys/class/thermal/thermal_zone0/temp"
value_template: '{{ value | multiply(0.001) | round(2) }}'
unit_of_measurement: °c
# - platform: template
# sensors:
# prochaine_certificat_a_expirer_sans_boucle:
# friendly_name: "Prochain certificat à expirer"
# attribute_templates:
# timestamp: >
# {# Définition de la liste des entités #}
# {% set liste_des_entites = ['sensor.cert_expiry_timestamp_ndd1', 'sensor.cert_expiry_timestamp_ndd2'] %}
# {% set timestamp_des_entites = [as_timestamp(states('sensor.cert_expiry_timestamp_ndd1'))|float,as_timestamp(states('sensor.cert_expiry_timestamp_ndd2'))|float] %}
# {% set entite_la_plus_petite = timestamp_des_entites|min %}
# {{timestamp_des_entites[timestamp_des_entites.index(entite_la_plus_petite)]}}
# value_template: >
# {# Définition de la liste des entités #}
# {% set liste_des_entites = ['sensor.cert_expiry_timestamp_ndd1', 'sensor.cert_expiry_timestamp_ndd2'] %}
# {% set timestamp_des_entites = [as_timestamp(states('sensor.cert_expiry_timestamp_ndd1'))|float,as_timestamp(states('sensor.cert_expiry_timestamp_ndd2'))|float] %}
# {% set entite_la_plus_petite = timestamp_des_entites|min %}
# {{liste_des_entites[timestamp_des_entites.index(entite_la_plus_petite)].split('sensor.cert_expiry_timestamp_')[1]}}
###################################################
############## Carburant# #########################
###################################################
# - platform: prixCarburant
# maxDistance: 20
###################################################
############## METEO MQTT WEEWX ###################
###################################################
##########Température##########
# - platform: mqtt
# name: "T° Ext."
# unique_id: uniqueid_Température_Extérieure
# state_topic: "weewx/loop"
# value_template: '{{ value_json.outTemp_C | round(2) }}'
# unit_of_measurement: "°C"
# - platform: mqtt
# name: "T° Int."
# unique_id: uniqueid_Température_Intérieure
# state_topic: "weewx/loop"
# value_template: '{{ value_json.inTemp_C | round(2)}}'
# unit_of_measurement: "°C"
# - platform: mqtt
# name: "DewPoint"
# unique_id: uniqueid_dewpoint_C
# state_topic: "weewx/loop"
# value_template: '{{ value_json.dewpoint_C | round(2)}}'
# unit_of_measurement: "°C"
# - platform: mqtt
# name: "heatindex"
# unique_id: uniqueid_heatindex_C
# state_topic: "weewx/loop"
# value_template: '{{ value_json.heatindex_C| round(2)}}'
# unit_of_measurement: "°C"
##########Humidité##########
# - platform: mqtt
# name: "HumiditéExt"
# unique_id: uniqueid_HumiditéExt
# icon: mdi:water-percent
# state_topic: "weewx/loop"
# value_template: '{{ value_json.outHumidity | round(0) }}'
# unit_of_measurement: "%"
# - platform: mqtt
# name: "HumiditéInt"
# unique_id: uniqueid_HumiditéInt
# icon: mdi:water-percent
# state_topic: "weewx/loop"
# value_template: '{{ value_json.inHumidity | round(0) }}'
# unit_of_measurement: "%"
##########Précipitation##########
# - platform: mqtt
# name: "Pluie/24h"
# unique_id: uniqueid_rain24_cm
# state_topic: "weewx/loop"
# value_template: '{{ value_json.rain24_cm | round(2)*10}}'
# unit_of_measurement: "mm"
# - platform: mqtt
# name: "Pluie/h"
# unique_id: uniqueid_rainRate_cm_per_hour
# state_topic: "weewx/loop"
# value_template: '{{ value_json.hourRain_cm| round(1)*10}}'
# unit_of_measurement: "mm"
# - platform: mqtt
# name: "Pluie/jour"
# unique_id: uniqueid_dayRain_cm
# state_topic: "weewx/loop"
# value_template: '{{ value_json.dayRain_cm | round(2)*10}}'
# unit_of_measurement: "mm"
# - platform: mqtt
# name: "Pluie Tot"
# unique_id: uniqueid_rainTotal
# state_topic: "weewx/loop"
# value_template: '{{ value_json.rainTotal | round(2)*10}}'
# unit_of_measurement: "mm"
mqtt:
sensor:
- state_topic: "weewx/loop"
name: "Pluie/24h"
unique_id: uniqueid_rain24_cm
value_template: '{{ value_json.rain24_cm | round(2)*10}}'
unit_of_measurement: "mm"
##########Vent##########
# - platform: mqtt
# name: "Vent"
# unique_id: uniqueid_windSpeed
# state_topic: "weewx/loop"
# value_template: '{{ value_json.windSpeed_kph | round(0)}}'
# unit_of_measurement: "k/h"
# - platform: mqtt
# name: "Rafale"
# unique_id: uniqueid_windGust
# state_topic: "weewx/loop"
# value_template: '{{ value_json.windGust_kph | round(0)}}'
# unit_of_measurement: "k/h"
#
# - platform: mqtt
# name: "Direction Vent"
# unique_id: uniqueid_windDir
# state_topic: "weewx/loop"
# value_template: '{{ value_json.windDir | round(0)}}'
# unit_of_measurement: "°"
##########Baromètre##########
# - platform: mqtt
# name: "PressionAtm"
# unique_id: uniqueid_Pression_ATM
# state_topic: "weewx/loop"
# value_template: '{{ value_json.pressure_mbar | round(0)}}'
# unit_of_measurement: "mbar"
C’est un include ? sensor ?
oui, j’ai mis cela dans mon configuration.yaml
sensor: !include sensors.yaml
ce qui fonctionne à priori mais qui semblera ne plus fonctionner à la prochaine maj si je comprends bien le message d’alerte
Oui ça fonctionnait, tu ne peux plus faire 1 seul fichier.
Sépare les sensors normaux et les MQTT
mqtt:
sensor: !include mqtt.yaml
sensor: !include sensors.yaml
et un mqtt devient
- state_topic: "weewx/loop"
name: "Pluie/24h"
unique_id: uniqueid_rain24_cm
value_template: '{{ value_json.rain24_cm | round(2)*10}}'
unit_of_measurement: "mm"
bon je fais encore un truc pas correct mais je commence à comprendre la logique.
je me fais refuser le redemarrage à cause de mon configuration.yaml
# Loads default set of integrations. Do not remove.
default_config:
mqtt:
sensor: !include mqtt.yaml
discovery: true
# Text to speech
tts:
- platform: google_translate
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensors.yaml
frontend:
themes: !include_dir_merge_named themes
avec des - ca passera mieux pour commencer
mqtt:
- sensor: !include mqtt.yaml
- discovery: true
ou pas …
merci beaucoup cela fonctionne