Bonjour à tous,
j’ai vu qu’on pouvait mettre la déclaration des sensors dans un fichier séparé.
Actuellement voici ce que j’ai dans config.yaml :
# 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
#sensor: !include sensors.yaml
# Example configuration.yaml entry
mqtt:
sensor:
- name: "CE Temperature"
device_class: temperature
unit_of_measurement: °C
state_topic: "energie/61"
- name: "CE Puissance"
device_class: power
unit_of_measurement: W
state_topic: "energie/3351"
- name: "PVRouteur Puissance"
device_class: power
unit_of_measurement: W
state_topic: "energie/300"
# Kostal inverter
multiscrape:
- resource: http://192.168.1.243/all.xml
scan_interval: 60
parser: lxml
sensor:
- unique_id: Kostal_total_wh
name: "Produced"
select: "yieldvalue"
attribute: "value"
unit_of_measurement: "Wh"
on_error:
value: "default"
default: 0.0
- unique_id: kostal_ac_power
name: "AC Power"
select: "measurement[type='AC_Power']"
attribute: "value"
unit_of_measurement: "W"
on_error:
value: "default"
default: 0.0
- unique_id: kostal_ac_voltage
name: "AC Voltage"
select: "measurement[type='AC_Voltage']"
attribute: "value"
unit_of_measurement: "V"
on_error:
value: "default"
default: 0.0
- unique_id: kostal_ac_current
name: "AC Current"
select: "measurement[type='AC_Current']"
attribute: "value"
unit_of_measurement: "A"
on_error:
value: "default"
default: 0.0
- unique_id: kostal_ac_frequency
name: "AC Frequency"
select: "measurement[type='AC_Frequency']"
attribute: "value"
unit_of_measurement: "Hz"
- unique_id: kostal_dc_voltage
name: "DC Voltage"
select: "measurement[type='DC_Voltage']"
attribute: "value"
unit_of_measurement: "V"
on_error:
value: "default"
default: 0.0
- unique_id: kostal_dc_current
name: "DC Current"
select: "measurement[type='DC_Current']"
attribute: "value"
unit_of_measurement: "A"
on_error:
value: "default"
default: 0.0
- unique_id: kostal_link_voltage
name: "Link Voltage"
select: "measurement[type='LINK_Voltage']"
attribute: "value"
unit_of_measurement: "V"
on_error:
value: "default"
default: 0.0
- unique_id: kostal_derating
name: "Derating"
select: "measurement[type='Derating']"
attribute: "value"
unit_of_measurement: "%"
Si j’efface tout ce qui concerne #Kostal inverter pour le copier/coller dans un fichier sensors.yaml et decomment la ligne #sensor: !include sensors.yaml dans le fichier config, les valeurs ne remontent plus …
Comment faut-il s’y prendre ?
Merci pour votre aide.
Bonjour
Pour ma part j’utilise la méthode des packages.
J’ai ajouter un repertoire packages dans HA
J’ai ajouter la ligne suivante dans configuration.yaml
homeassistant:
# Load packages
packages: !include_dir_named packages
Dans le repertoire Packages j’ai les fichiers sensor, template,etc
exemple sensor_eau_history.yaml
sensor:
# Ratio d'usage de l'eau froide sur la dernière heure
- platform: history_stats
name: Ratio usage eau froide
unique_id: "eau_froide_ratio_usage"
entity_id: binary_sensor.eau_froide_tirage_actif
state: "on"
type: ratio
start: "{{ now() - timedelta(hours=1) }}"
end: "{{ now() }}"
# Ratio d'usage de l'eau froide adoucie sur la dernière heure
- platform: history_stats
name: Ratio usage eau froide adoucie
unique_id: "eau_froide_adoucie_ratio_usage"
entity_id: binary_sensor.eau_froide_adoucie_tirage_actif
state: "on"
type: ratio
start: "{{ now() - timedelta(hours=1) }}"
end: "{{ now() }}"
# Ratio d'usage de l'eau chaude sur la dernière heure
- platform: history_stats
name: Ratio usage eau chaude
unique_id: "eau_chaude_ratio_usage"
entity_id: binary_sensor.eau_chaude_tirage_actif
state: "on"
type: ratio
start: "{{ now() - timedelta(hours=1) }}"
end: "{{ now() }}"
ou Template_compteur.yaml
template:
# compteur eau m³
- sensor:
############################
# Compteur Eau froide generale
- name: "EF litres"
unique_id: ef_litres
icon: mdi:counter
# device_class: water
state_class: measurement
state: >
{{ (states('counter.compteur_ef') | float(default=0) / 1) | round(3) }}
unit_of_measurement: "L"
availability: "{{ states('counter.compteur_ef')|is_number and states('counter.compteur_ef')|is_number }}"
- name: "EF mètres cubes"
unique_id: ef_metres_cubes
icon: mdi:counter
# device_class: water
state_class: measurement
state: >
{{ (states('counter.compteur_ef') | float(default=0) / 1000) | round(3) }}
unit_of_measurement: "m³"
availability: "{{ states('counter.compteur_ef')|is_number and states('counter.compteur_ef')|is_number }}"
1 « J'aime »
Hello, pour ma pars tout fonctionne bien
Je pense qu’il y a une erreur dans ton enoncé, tu parles de config.yaml tu confirme que tu parles bien de configuration.yaml?
Pour moi voila une parie de la configuration
automation: !include automations.yaml
group: !include groups.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
mqtt: !include mqtt.yaml
sensor: !include sensors.yaml
notify: !include notify.yaml
switch: !include switch.yaml
light: !include light.yaml
binary_sensor: !include binary_sensor.yaml
python_script:
Puis dans mqtt.yaml
#========================================================
#
# SENSORS
#
#========================================================
sensor:
#========================================================
#
# ESP32 Piscine
#
#========================================================
- name: "Temperature Nat"
state_topic: "ESP_DHT22_N/DHT22/Temperature"
unit_of_measurement: "°C"
- name: "pH eau piscine"
state_topic: "Piscine_32/pH_eau/SensorData"
unit_of_measurement: "pH"
- name: "Temperature eau piscine"
state_topic: "Piscine_32/DS18B20/temperature_eau"
unit_of_measurement: "°C"
dans switch.yaml
#========================================================
#
# GPIO Switch
#
#========================================================
- platform: rpi_gpio
ports:
11: Fan Office # Vert
9: Light Desk # Rouge
- platform: template
switches:
mon_interrupteur_virtuel:
value_template: "{{ is_state('input_boolean.mon_interrupteur_virtuel', 'on') }}"
turn_on:
service: input_boolean.turn_on
entity_id: input_boolean.mon_interrupteur_virtuel
turn_off:
service: input_boolean.turn_off
entity_id: input_boolean.mon_interrupteur_virtuel
Etc…
Quand tu modifie tes Yaml et que tu les vérifie ici il te dit quoi ?
@ pascal : Pour ma part ce n’est pas plus clair que ce que je fais. Je vais avoir le même pb, je pense.
Pourquoi mes sensors ne remontent plus quand je fais comme indiqué plus haut ?
La syntaxe ? ou autre ?
@Monsieur : ok, je vais regarder. Oui je parle bien de configuration.yaml. Il est où ce bouton verifier; ca repond à ta question du coup !
Merci.
Cordialement.
Salut,
j’ai découper pour multiscrape.
dans le configuration.yaml:
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensor.yaml
template: !include template.yaml
recorder: !include recorder.yaml
multiscrape: !include multiscrape.yaml #ajouter c'est ligne
utility_meter: !include utility_meter.yaml
command_line: !include command_line.yaml
openhasp: !include openhasp.yaml
exemple dans le multiscrape.yaml ( dans /config ):
#########################
# MULTISCRAPE #
#########################
- name: carburants_carrefour_xxxxx
resource: "https://carbu.com/france/index.php/station/carrefour-contact/xxxxxx/11xxx/12345"
scan_interval: 3600
sensor:
- unique_id: carburants_xxxxxxxxxx
select: "[itemprop='name']"
value_template: "<img src='/local/images/carrefour.png' style='height:20px;'> {{ value }}"
attributes:
- name: b7_name
select: ".col-xs-12:nth-of-type(3) h2.title"
- name: b7_price
select: ".col-xs-12:nth-of-type(3) h1"
value_template: "{{ value|replace(',','.') }}"
- name: b7_date
select: ".col-xs-12:nth-of-type(3) p.sources"
value_template: "{{ value.split(' ')[0] }}"
1 « J'aime »
Je te mets le code de mon multiscrape, pour que tu vois la différence.
multiscrape:
################################
## Carburant multiscrape ##
################################
- name: carburants_total_sannois_Peri
resource: "https://carbu.com/france/index.php/station/total-access/sannois/95110/5826"
scan_interval: 3600
sensor:
- unique_id: carburants_total_sannois_peri_5826
name: 'Total Sannois Gabriel Peri'
select: "[itemtype='http://data-vocabulary.org/Organization'] h1"
value_template: "{{ value }}"
#value_template: "<img src='/local/images/brand/total.png' style='height:20px;'> {{ value }}"
picture: "/local/images/carburants/acess-logo.jpg"
attributes:
- name: e10_name
#select: ".col-sm-6:nth-of-type(n+2) h2"
select: ".col-sm-6:nth-of-type(3) h2.title"
- name: e10_price
select: ".col-sm-6:nth-of-type(3) h1"
value_template: "{{ value|replace(',','.')|replace(' €/L','') }}"
- name: e10_date
select: ".col-sm-6:nth-of-type(3) p.sources"
value_template: "{{ value.split(' ')[0] }}"
Mais c’est le même principe que Warc0zes
La seule différence, c’est que moi, j’ai seulement la ligne packages: !include_dir_named packages
dans mon fichier configuration qui va chercher tous les fichiers dans le répertoire packages.
Warc0zes utilise des includes pour chaque type, ça fonctionne très bien aussi, c’est à toi de voir ce que tu prefere.
On dira que ta facon est mieux ranger, ta tout t’es *.yaml dans un dossier. Comparé a ma méthode ou c’est en vrac dans /config
1 « J'aime »
Dejà, je vois que ton fichier Pascal commence par multiscrape:
Alors que celui de WarC0zes, commence par - name:
Ça doit fonctionner, c’est certainement une erreur de syntaxe.
Comme précisé par @monsieur as-tu un message d’erreur quand tu lances la vérification (avec les outils développement) ?
Tu as bien redémarré HA après avoir fait les modifications ?
Effectivement avec le check, ça m’indiquait des erreurs. J’ai corrigé, ça à l’air de fonctionner.
Merci pour votre aide et vos exemples concrets.
1 « J'aime »
David_Marlinge:
Dejà, je vois que ton fichier Pascal commence par multiscrape:
Alors que celui de WarC0zes, commence par - name:
C’est normal, moi j’utilise: include dir_named qui va chercher le répertoire packages et lis les fichiers qui sont dedans.
Warc0zes utilise : include qui lis directement le fichier, dans ce cas, tu n’as pas besoin de remettre multiscape: car déjà présent dans le include.
Je ne suis pas sûr que mon explication soit très claire, warc0zes pourras peut-être mieux l’expliquer.
1 « J'aime »
oui, j’ai compris ton explication.
Merci
Salut,
j’ai tout réorganiser comme toi. Ca fait plus propre dans /config
Pour customize
, un moyen de le déporter dans package ?
ma configue:
homeassistant:
customize: !include customize.yaml
customize_glob: !include customize_glob.yaml
packages: !include_dir_named packages
Si j’enlève ces lignes, ca ira les chercher dans package ?
customize: !include customize.yaml
customize_glob: !include customize_glob.yaml
faut que je modifie le fichier customize.yaml, comme telle ?
homeassistant:
customize:
binary_sensor.0x00158d0007d49ec1_occupancy:
friendly_name: Capteur Litière
templates:
icon_color: >
if (state == 'on') return '#ff0000';
return '#00b300';
Salut
Je peux pas te dire, je n’ ai pas déplacé le customise (je l’utilise pas d’ailleurs).
Il faut faire un essai, mais je sais que pour scène et script, et automation sa ne fonctionne pas (chez moi).
Ok, tampis je vais chercher et tester.
EDIT:
C’est bon
configuration.yaml :
homeassistant:
packages: !include_dir_named packages
le customize.yaml dans /packages :
homeassistant:
customize:
binary_sensor.0x00158d0007d49ec1_occupancy:
friendly_name: Capteur Litière
templates:
icon_color: >
if (state == 'on') return '#ff0000';
return '#00b300';
binary_sensor.0x54ef4410005a8874_occupancy:
friendly_name: Capteur Escalier
templates:
icon_color: >
if (state == 'on') return '#ff0000';
return '#00b300';
...
1 « J'aime »
Salut @WarC0zes
Chez moi sa ne fonctionne pas…pourtant j’ai rien dans customize
configuration.yaml :
############################################################
## HOME ASSISTANT: configuration ##
############################################################
### < Configure a default setup of Home Assistant (frontend, api, etc) >
#default_config:
## packages
homeassistant:
# Load packages
packages: !include_dir_named packages
# whitelist_external_dirs:
allowlist_external_dirs:
- /config/
# include
python_script: !include_dir_merge_list python_scripts/
#api:
customize.yaml :
############################################################
## HOME ASSISTANT: customize ##
############################################################
#homeassistant:
# customize:
Résultat:
C’est commenter, normal que ca bloque non ?
Puis si tu t’en sert pas , pourquoi l’avoir dans ta configue ?
J’ai essayé sans # mais c’est pareil
C’est surtout pourquoi sa pose problème dans le répertoire packages, alors que dans le répertoire avec configuration, il ne se passe rien. C’est peut-être qu’il n’est tous simplement pas lus… (vu que je n’ai pas mis de include)
Je ne sais plus trop pourquoi , mais je me suis dit ca va servir un jour
Voila, pourquoi.
pour qu’il soit fonctionnelle dans le fichier customize.yaml, dans /config. Faut mettre c’est ligne:
homeassistant:
customize: !include customize.yaml
laisse le dans /config, sans le déclarer et tu le basculera dans packages quand tu voudras un jours t’en servir.
1 « J'aime »