
-
Projet Piscine BESOIN DE TESTEUR
Recherche contrôleur pH et chlore Zigbee pour piscine (équipement HS) et aide pour tests Bonjour à tous, Je me tourne vers vous car j’ai besoin d’aide pour finaliser mon projet de gestion de piscine connectée. Mon contrôleur actuel de pH et de chlore est HS (il a pris l’eau 😞), et je recherche un nouveau modèle compatible Zigbee pour remplacer mon ancien équipement. Si quelqu’un a un bon plan ou un contrôleur d’occasion à vendre, je suis preneur ! Pour donner un peu de contexte, j’ai développé une intégration personnalisée appelée Piscinexa sous Home Assistant, qui gère plusieurs capteurs pour ma piscine : température, pH, chlore, volume d’eau, temps de filtration, etc. Voici un extrait de mon code pour illustrer mon setup : Capteur pH Actuel (PiscinexaPhSensor) : récupère la valeur du pH via un capteur externe ou un input_number. Capteur Chlore Actuel (PiscinexaChloreSensor) : récupère la valeur du chlore actuel de la même manière. Capteur Chlore Différence (PiscinexaChloreDifferenceSensor) : calcule la différence entre le chlore actuel et le chlore cible. Capteur Chlore à Ajouter (PiscinexaChloreAjouterSensor) : initialement, il calculait la dose de chlore à ajouter (en fonction du volume, de la température, et du type de traitement – liquide, pastille lente, ou poudre), mais j’ai retiré cette logique du capteur pour la déplacer ailleurs (actuellement, ce capteur est désactivé). Mon objectif est de finaliser ce projet en intégrant un nouveau contrôleur Zigbee capable de mesurer le pH et le chlore en temps réel. Idéalement, je voudrais un appareil comme le Yago 7-en-1 (Zigbee Tuya), qui mesure pH, chlore libre, ORP, salinité, etc., mais je suis ouvert à d’autres suggestions si vous avez des retours d’expérience. En parallèle, je cherche aussi des personnes qui auraient un peu de temps pour m’aider à tester mon code et à l’améliorer. Par exemple, je voudrais intégrer un service ou une automatisation pour gérer le calcul du chlore à ajouter (que j’ai retiré de sensor.py), mais je ne suis pas sûr de la meilleure approche. Si quelqu’un est intéressé, je peux partager plus de détails sur mon code et mon setup ! Merci d’avance pour votre aide, vos suggestions, ou vos bons plans pour un contrôleur Zigbee. 😊 Cordialement,
-
XAV59213 a commencé à suivre Double "va et vient" avec une petite anomalie , Projet Piscine BESOIN DE TESTEUR , 📨 Free Mobile SMS XA – Intégration Home Assistant et 3 autres
-
Projet Piscine BESOIN DE TESTEUR
Description du projet PiscinexaGitHubGitHub - XAV59213/piscinexa: gestion de piscinegestion de piscine. Contribute to XAV59213/piscinexa development by creating an account on GitHub.GitHub : XAV59213/piscinexa Nom de l'intégration : Piscinexa Plateforme : Home Assistant Langage : Python Objectif : L'intégration Piscinexa est une solution personnalisée pour la gestion et la surveillance des piscines via Home Assistant. Elle permet de suivre et de gérer les paramètres clés d'une piscine, tels que le volume d'eau, la température, le pH, le niveau de chlore, le temps de filtration, et la consommation de puissance. L'intégration fournit également des recommandations pour ajuster les niveaux de pH et de chlore, ainsi qu'un tableau de bord personnalisé pour visualiser et contrôler ces paramètres. Fonctionnalités principales : Surveillance des capteurs : Capteurs pour le volume d'eau (calculé en fonction des dimensions de la piscine). Capteur de température (via un capteur externe ou une saisie manuelle). Capteur de pH (via un capteur externe ou une saisie manuelle). Capteur de chlore (via un capteur externe ou une saisie manuelle). Capteur de temps de filtration (calculé en fonction de la température). Capteur de consommation de puissance (via un capteur externe). Capteur d'état global de la piscine (indique si la baignade est autorisée en fonction des paramètres). Recommandations d'ajustement : Calcul de la quantité de pH+ ou pH- à ajouter pour atteindre une valeur cible. Calcul de la quantité de chlore à ajouter (en fonction du type de traitement : liquide, granulés, ou pastilles). Contrôles et saisie manuelle : Boutons pour tester les calculs ou réinitialiser les valeurs. Entrées manuelles pour le pH et le chlore actuels via des input_number. Sélection du type de traitement chimique via des input_select (par exemple, liquide, granulés, pastilles). Tableau de bord personnalisé : Fichiers YAML (piscine_dashboard_custom_component.yaml et piscine_dashboard_multi.yaml) pour afficher les capteurs, les recommandations, et les contrôles dans une interface utilisateur claire. Support pour une ou plusieurs piscines (par exemple, piscine et spa). Traduction : Support multilingue via un fichier de traduction (translations/fr.json) pour afficher les noms des entités et les messages en français (par exemple, "Température Eau", "Chlore", "pH").
-
Double "va et vient" avec une petite anomalie
Ben voilà @BièreNard ! Je vois que tu commences à t’amuser, et c’est justement ça l’esprit de Home Assistant : on teste, on partage son retour d’expérience, et bim, on trouve la solution ! Je suis ravi que tu aies trouvé l’erreur par toi-même et réussi à résoudre le problème. Effectivement, l’idée d’utiliser un poussoir avec impulsion était une bonne solution pour ton cas. Pour info, chaque installation domotique est unique, car chaque utilisateur a ses propres besoins et son propre matériel. C’est pour ça que j’ai essayé de bien comprendre ton installation — il existe tellement de modèles et de configurations possibles !
-
Double "va et vient" avec une petite anomalie
“Ce fut un réel plaisir @BièreNard, amuse-toi bien avec ton installation Home Assistant !”
-
📨 Free Mobile SMS XA – Intégration Home Assistant
🌟 Vue d'ensembleFree Mobile SMS XA simplifie l'envoi de notifications SMS via l'API Free Mobile dans Home Assistant. Objectif : Rendre l'intégration facile, intuitive, et sans code YAML manuel. 🎯 Fonctionnalités clés🔔 Envoi de SMS : Utilisez notify.nom_du_service pour des alertes instantanées. 👥 Multi-utilisateurs : Gérez plusieurs lignes (ex. : Papa, Maman). 📊 Capteur de statut : Suivez le nombre de SMS, la date du dernier envoi, et un journal des 10 derniers messages. 🔘 Bouton de test : Envoyez des SMS tests en un clic. 🎨 Carte Lovelace : Interface visuelle prête à l’emploi. 🧩 Configuration UI : Ajoutez des lignes via l’interface graphique, sans YAML. 🛠 Installation simplifiéeHACS : Ajoutez le dépôt : https://github.com/XAV59213/freesmsxa. Installez Free Mobile SMS XA et redémarrez Home Assistant. Config flow : Allez dans Paramètres > Intégrations > Ajouter. Recherchez Free Mobile SMS XA et suivez les étapes. Identifiants Free Mobile : Activez les notifications SMS dans votre espace abonné. Copiez Identifiant utilisateur et Clé API. 🔍 Exemple visuelAutomatisationalias: Alerte Piscine trigger: platform: numeric_state entity_id: sensor.temperature_eau above: 30 action: service: notify.papa_sms data: message: " Piscine trop chaude !" Carte LovelaceAffiche : Statut SMS, bouton de test, historique des messages. Prête à être intégrée dans votre tableau de bord. 🛡️ Sécurité & fiabilité✅ 100 % local : Aucune donnée externe. ✅ Clé API masquée : Invisible après validation. ✅ Aucune collecte : Vos messages restent privés. 📈 Pourquoi cette intégration ?Simplicité : Configuration via UI, pas de YAML complexe. Polyvalence : Multi-lignes, capteurs, boutons, historique. Design utilisateur : Intégration fluide dans Home Assistant. 📜 LicenceGNU LGPL v2.1 🔗 RessourcesGitHub : XAV59213/freesmsxa Support : Ouvrir une issue
-
Custom card Solaire home assistant
Salut dan, Petite correction du code : type: picture-elements image: /local/images/solar_dashboard.png # Ajoutez le chemin de votre image ici elements: # Puissance solaire - type: state-label entity: sensor.solaire_puissance style: top: 15% left: 40% color: white font-size: 18px # Label panneaux solaires - type: state-label entity: sensor.panneaux_solaires_label style: top: 19% left: 40% color: grey font-size: 14px # Label none (vérifiez si sensor.label_none est correct) - type: state-label entity: sensor.label_none # Vérifiez cette entité style: top: 85% left: 65% color: white font-size: 18px # Label consommation - type: state-label entity: sensor.conso_label style: top: 89% left: 65% color: grey font-size: 14px # Label none (vérifiez si sensor.label_none est correct) - type: state-label entity: sensor.label_none # Vérifiez cette entité style: top: 82% left: 30% color: white font-size: 18px # Label batterie - type: state-label entity: sensor.battery_label style: top: 86% left: 30% color: grey font-size: 14px # Puissance réseau (LiXee) - type: state-label entity: sensor.lixee_key_sinsts style: top: 70% left: 83% color: white font-size: 18px # Label réseau - type: state-label entity: sensor.reseau_label style: top: 74% left: 83% color: grey font-size: 14pxEt l'image a télécharger:
-
Lixee ne remonte pas l’injection des panneaux solaire
Salut dan, La conversion de la puissance apparente (VA) en watts (W) avec LiXee ZLinky dans Homeassitant il faut créer un capteur sensor template dans Home Assistant pour convertir les VA en W et l'afficher dans un tableau de bord ou le tableau de bord Énergie. Moi je passe par des feuille séparer : Exemple feuille sensor.yaml conso_watts: friendly_name: "Consommation électrique en Watts" unit_of_measurement: "W" value_template: >- {{ (states('sensor.linky_papp') | float * 0.9) | round(0) }} device_class: powerSi tu passe par configuration.yaml exemple: sensor: - platform: template sensors: conso_watts: friendly_name: "Consommation électrique en Watts" unit_of_measurement: "W" value_template: >- {{ (states('sensor.linky_papp') | float * 0.9) | round(0) }} device_class: powerAttention si ta a déjà : - platform: template sensors:Tu mais a la suite exemple: - platform: template sensors: windows_open_count: friendly_name: Number of windows open icon_template: mdi:window-open value_template: >- {{ states.binary_sensor | selectattr('attributes.device_class', 'eq', 'window') | selectattr('state', 'eq', 'on') | list | length }} doors_open_count: friendly_name: Number of doors open icon_template: mdi:door-open value_template: >- {{ states.binary_sensor | selectattr('attributes.device_class', 'eq', 'door') | selectattr('state', 'eq', 'on') | list | length }} lights_on_count: friendly_name: Number of lights on icon_template: mdi:lightbulb-on-outline value_template: >- {{ states.light | selectattr('state', 'eq', 'on') | list | length }} people_home_count: friendly_name: Number of people at home icon_template: mdi:account-multiple value_template: >- {{ states.person | selectattr('state', 'eq', 'home') | list | length }} cover_open_count: friendly_name: Number of cover open icon_template: mdi:window-shutter-open value_template: >- {{ states.cover | selectattr('state', 'eq', 'open') | list | length }} spacex_dynamic_countdown: friendly_name: "Compte à rebours dynamique du lancement" value_template: > {% set next_event = state_attr('calendar.starship', 'start_time') %} {% if next_event %} {% set now = now().utcnow() %} {% set launch_time = as_datetime(next_event) %} {% if launch_time > now %} {{ (launch_time - now).days }} jours, {{ ((launch_time - now).seconds // 3600) % 24 }} heures, {{ ((launch_time - now).seconds // 60) % 60 }} minutes, {{ ((launch_time - now).seconds) % 60 }} secondes {% else %} Lancement terminé ! {% endif %} {% else %} lancement programmé {% endif %} availability_template: > {{ state_attr('calendar.starship', 'start_time') is not none }} ###### Enedis conversion va en w conso_watts: friendly_name: "Consommation électrique en Watts" unit_of_measurement: "W" value_template: >- {{ (states('sensor.linky_papp') | float * 0.9) | round(0) }} device_class: power 1. Contrôle ton yaml dans Outils de développement / YAML / vérifier la configuration si c'est ok tu redémarre 2.Après tu va dans Outils de développement / états tu tape Consommation électrique en Watts et tu doit voir ton sensor 3.Pour enregistrer les stats édite configuration.yaml vérifie ton code et redémarre recorder: include: entities: - sensor.conso_wattsEt hop un petit plus c'est gratuit :) Exemple de configuration YAML pour une carte History Graph dans un tableau de bord : type: history-graph entities: - entity: sensor.conso_watts hours_to_show: 24 refresh_interval: 60
-
Mon Homelab - Configuration et Setup
"Je confirme, l'ensemble consomme 230 W. Le matériel commence à dater mais fonctionne au top. Pour info, j'ai installé le module Double Take (https://github.com/skrashevich/double-take/) sur Home Assistant, ainsi que CompreFace (https://github.com/exadel-inc/CompreFace) via Docker sur Proxmox. Si quelqu'un veut que je teste un serveur, je suis dispo, n'hésitez pas ! 😄" "Tu fais bien de le souligner ! Il est temps d'investir dans les panneaux solaires ! Si des fabricants passent par le Forum, n'hésitez pas à me contacter. Je me ferai un plaisir de partager toute la configuration, et détailler l'installation et de répondre à vos questions ! 😊" Ci-dessous ma config de double take: # Double Take # Learn more at https://github.com/skrashevich/double-take/#configuration mqtt: host: 192.168.0.123 user: usermqtt password: passemqtt recorder: topics: frigate: frigate/events homeassistant: homeassistant matches: double-take/matches cameras: double-take/cameras frigate: url: http://frigate:5000 update_sub_labels: false stop_on_match: true labels: - person attempts: latest: 10 snapshot: 10 mqtt: true cameras: - Exterieur03 - Exterieur02 - Exterieur01 - grange - salon cameras: Exterieur03: detect: match: save: true base64: false unknown: save: true base64: false Exterieur01: detect: match: save: true base64: false unknown: save: true base64: false Exterieur02: detect: match: save: true base64: false unknown: save: true base64: false grange: detect: match: save: true base64: false unknown: save: true base64: false salon: detect: match: save: true base64: false unknown: save: true base64: false detect: match: save: true base64: false confidence: 70 # Augmenté pour réduire les faux positifs purge: 72 # Réduit à 3 jours pour optimiser le stockage min_area: 15000 # Filtre les petites détections unknown: save: true base64: false confidence: 50 # Augmenté pour limiter les inconnus non pertinents purge: 24 # Étendu à 24h pour une analyse plus approfondie min_area: 5000 # Ajouté pour filtrer les petites détections detectors: compreface: url: http://192.168.0.180:8020 # ton ip compreface et ton port key: 5hjk-afec-4240-843uuc-dd2e5 # ta key compreface timeout: 15 det_prob_threshold: 0.85 # Augmenté pour plus de précision opencv_face_required: True face_plugins: gender,age # Plugins activés pour genre et âge cameras: - Exterieur03 # Limité aux caméras critiques - Exterieur01 - Exterieur02 - grange - salon # CA FONCTIONNE QUE SI TU ACTIVE DETECT ET SNAP SUR FIGATE ET QUE COMPREFACE EST INSTALLER
-
Double "va et vient" avec une petite anomalie
Salut BièreNard, Compréhension de ton setup actuel : Tes interrupteurs sont gérés via l'app Smart Life (qui utilise le cloud Tuya). Tu passes par Home Assistant pour centraliser la gestion? Tu as intégré le composant Tuya dans Home Assistant? Question : tes automatisations (scénarios, routines) sont-elles configurées dans Home Assistant ou dans Smart Life partage ton code yaml? Analyse et suggestion : Si tes automatisations sont dans Home Assistant, c'est une bonne base, car tu as plus de contrôle localement. Si elles sont dans Smart Life, tu dépends du cloud Tuya, ce qui peut poser des problèmes (latence, dépendance à Internet). Migrer vers Tuya Local (via LocalTuya dans Home Assistant) est une excellente idée pour : Contrôler tes appareils localement (sans passer par le cloud). Réduire la latence. Éviter les interruptions si Internet tombe. Étapes pour migrer vers Tuya Local : lien Vérifie la compatibilité : Assure-toi que tes interrupteurs sont compatibles avec LocalTuya (la plupart des appareils Tuya le sont). Installe LocalTuya : Ajoute l'intégration LocalTuya via HACS dans Home Assistant. Récupère les Local Keys et sauvegarde les dans un bloc note de tes appareils (via des outils comme Tuya-CLI ou en suivant un guide comme celui de la communauté Home Assistant). Configure LocalTuya : Entre les Local Keys, IP des appareils, et ID dans l'intégration. Teste chaque interrupteur pour confirmer qu'il répond localement. Migre tes automatisations : Si elles étaient dans Smart Life, recrée-les dans Home Assistant (via l'éditeur d'automatisations ou en YAML). Supprime l'intégration Tuya officielle (si plus nécessaire) pour éviter les conflits. Avantages de Tuya Local : Contrôle 100 % local. Plus rapide et fiable. Moins de dépendance au cloud Tuya. Conseil : Si tu veux éviter de tout migrer maintenant, tu peux tester LocalTuya sur un seul interrupteur pour valider le fonctionnement. Sauvegarde ta config Home Assistant avant de faire des changements.
-
XAV59213 a commencé à suivre Projets et Personnalisations
-
Présentation du projet freebox_homexa
Bonjour à tous, Je suis ravi de vous présenter freebox_homexa, un projet open-source disponible sur GitHub. L'objectif principal de ce projet est de réunifier et centraliser les différents codes et scripts existants pour la Freebox trouvés sur GitHub, afin de proposer une solution cohérente et accessible pour interagir avec cette box. Contexte et motivationLa Freebox est un outil puissant, mais les solutions pour l'automatisation ou l'intégration (notamment avec des systèmes comme Home Assistant) sont souvent dispersées, fragmentées ou difficiles à mettre en œuvre. Ce projet vise à simplifier l'expérience utilisateur en regroupant ces ressources, en les optimisant et en les rendant plus faciles à utiliser volet capteur système d'alarme ect.... Fonctionnalités principalesCentralisation : Unification des scripts et codes pour contrôler la Freebox (API, automatisation, etc.). Compatibilité : Intégration facilitée avec des plateformes comme Home Assistant. Documentation claire : Pour aider les utilisateurs à prendre en main le projet rapidement. RemerciementsCe projet n'aurait pas vu le jour sans les contributions et inspirations de la communauté. Je tiens à adresser un grand merci à : Steph73HB gvigroux Prochaines étapesAméliorer la documentation et les tutoriels. Ajouter de nouvelles fonctionnalités . Recueillir vos retours pour faire évoluer le projet ! N'hésitez pas à explorer le dépôt GitHub, tester le projet et partager vos idées ou suggestions. Vos retours sont précieux pour faire avancer freebox_homexa ! Merci à tous pour votre attention, et à bientôt sur le forum ou sur GitHub !
-
Double "va et vient" avec une petite anomalie
Salut, peux-tu partager ton automatisation qui gère les deux interrupteurs ? Je tiens à te prévenir : si tu déménages un jour, ton système risque de ne plus fonctionner qu’en allumage simple. Il aurait été préférable d’utiliser un module double (comme un Sonoff Mini) pour créer un va-et-vient directement sur les boutons d’origine, tout en intégrant l’automatisation. Pour une solution durable, même en cas de déménagement, je te conseille d’opter pour un module double. Cela permet de câbler les interrupteurs en va-et-vient classique, tout en ajoutant l’automatisation par-dessus. Sinon, conserve un schéma précis du câblage d’origine pour pouvoir le restaurer facilement si besoin.
-
-
Mon Homelab - Configuration et Setup
ServeurModèle : HP ProLiant DL380e Gen8 CPU : 32 cœurs modèle, 2x Intel Xeon E5-2690v2, Mémoire : 64 Gio Stockage : 10 To RAID avec contrôleur HP Smart Array Système d’exploitation : Proxmox VE (version 8.4.1) UPS (onduleur) RéseauSwitch : Cisco Catalyst 2960S Routeur/FAI : Freebox Delta Stockage réseau : 2x 2 To en RAID pour les sauvegardes Caméras : 5 caméras Hikvision PoE Virtualisation (Proxmox) Machines virtuelles (VMs) :Home Assistant (Production) : Automatisation domestique Home Assistant (Test) : Environnement de test pour les mises à jour et intégrations Conteneurs LXC :Frigate : Détection d’objets pour les caméras, accéléré par 1 clés Coral USB (TPU) en l’absence de GPU Compreface : Reconnaissance faciale Double Take : Sauvegarde et synchronisation Homebridge : Intégration ESPHome : Gestion des dispositifs ESP Migration prévue : Zigbee2MQTT et MQTT (à migrer vers Proxmox) Configuration Zigbee :Clés Zigbee : 2x Sonoff Zigbee 3.0 USB Dongle Coordinatrice : Sonoff Zigbee 3.0 USB Dongle configurée comme coordinatrice pour le réseau Zigbee via Zigbee2MQTT Routeur : Sonoff Zigbee 3.0 USB Dongle configurée comme routeur pour étendre la couverture et la stabilité du réseau Zigbee. Configuration réseauRéseau principal : Géré par la Freebox Delta Réseau secondaire : Géré par le switch Cisco Catalyst 2960S Caméras : Alimentées via PoE, connectées au switch Cisco Catalyst 2960S Serveur : Connectées au switch Cisco Catalyst 2960S
-
Créer un tableau de bord de gestion de piscine dans Home Assistant
Dans ce tutoriel, nous allons créer un tableau de bord interactif pour gérer une piscine dans Home Assistant. Ce tableau de bord permet de surveiller la qualité de l’eau (pH, chlore, température), planifier le pompage, suivre la filtration, et afficher des recommandations d’entretien. Voici comment j’ai construit ce tableau de bord, étape par étape, en utilisant YAML, des capteurs, des entrées numériques, et des cartes personnalisées. PrérequisUne instance de Home Assistant installée et configurée. Connaissance de base du format YAML et de l’interface Home Assistant. Accès à l’éditeur de configuration (via l’interface ou un éditeur comme VS Code). Modules recommandés : Frigate (pour la caméra, si utilisée). Logbook (pour l’historique des actions). Calendar (pour planifier le pompage). Capteurs physiques ou virtuels pour la température, le volume d’eau, etc. Une piscine avec des équipements connectés (pompe, lumière, etc.) ou des simulations via Home Assistant. Étape 1 : Configurer les entrées numériquesLes entrées numériques (input_number) permettent à l’utilisateur de saisir des valeurs comme le diamètre de la piscine, le pH actuel, ou le chlore souhaité. Ces valeurs sont utilisées dans les calculs et affichages du tableau de bord. 1.1 Accéder à l’éditeur d’entréesAllez dans Configuration > Appareils et services > Entrées. Cliquez sur Créer une entrée et choisissez Nombre. 1.2 Créer les entrées suivantesVoici les entrées que j’ai créées avec leurs paramètres : Nom ID Plage Unité Description Diamètre de la piscine input_number.piscine_diametre 0 à 10 m Diamètre pour calculer le volume Hauteur de la piscine input_number.piscine_hauteur 0 à 2 m Hauteur pour calculer le volume pH actuel input_number.piscine_ph_actuel 0 à 14 Ph pH mesuré dans l’eau pH souhaité input_number.piscine_ph_souhaite 7 à 8 Ph Cible pour le pH (7.6 idéal) Chlore actuel input_number.piscine_chlore_actuel 0 à 5 mg/L Taux de chlore mesuré Chlore souhaité input_number.piscine_chlore_souhaite 0 à 3 mg/L Taux de chlore cible (1-2 mg/L) 1.3 Exemple de configuration YAMLSi vous préférez configurer directement dans configuration.yaml, voici un exemple pour une entrée : input_number: piscine_diametre: name: Diamètre de la piscine min: 0 max: 10 step: 0.1 unit_of_measurement: m piscine_hauteur: name: Hauteur de la piscine min: 0 max: 2 step: 0.1 unit_of_measurement: m # Ajoutez les autres entrées de la même manièreConseil : Utilisez l’interface graphique pour éviter les erreurs de syntaxe, puis exportez le YAML si nécessaire. Étape 2 : Configurer l’enregistreur (recorder)L’enregistreur (recorder) stocke l’historique des capteurs et entrées pour afficher des graphiques ou des journaux. J’ai configuré recorder.yaml pour inclure uniquement les entités pertinentes afin d’optimiser la base de données. 2.1 Modifier configuration.yamlAjoutez cette ligne dans configuration.yaml pour inclure le fichier recorder.yaml : recorder: !include recorder.yaml2.2 Créer recorder.yamlCréez un fichier recorder.yaml dans le dossier de configuration de Home Assistant avec le contenu suivant : include: entities: - sensor.volume_eau_piscine - sensor.ph_a_ajouter - sensor.chlore_a_ajouter - sensor.temps_de_pompage_recommande - input_number.piscine_ph_actuel - input_number.piscine_chlore_actuel - sensor.journal_etat_eauExplication : include spécifie les entités à enregistrer. Seules les entités listées auront un historique, ce qui réduit la taille de la base de données. Ajoutez d’autres entités si vous souhaitez suivre leur historique (par exemple, sensor.bermerain_temperature_2). Étape 3 : Créer des capteurs pour les calculsLes capteurs calculent des valeurs comme le volume d’eau, le temps de pompage recommandé, ou la quantité de produits chimiques à ajouter. Ces capteurs sont définis dans configuration.yaml ou via l’interface. 3.1 Exemple de capteursVoici quelques capteurs que j’ai utilisés : Capteur pour le volume d’eauCalcule le volume de la piscine en fonction du diamètre et de la hauteur. sensor: - platform: template sensors: volume_eau_piscine: friendly_name: Volume d'eau de la piscine unit_of_measurement: m³ value_template: > {% set diametre = states('input_number.piscine_diametre') | float %} {% set hauteur = states('input_number.piscine_hauteur') | float %} {{ ((3.14159 * (diametre / 2) ** 2 * hauteur) | round(2)) }}Capteur pour le temps de pompage recommandéCalcule le temps de filtration en fonction de la température (règle : température / 2). sensor: - platform: template sensors: temps_de_pompage_recommande: friendly_name: Temps de pompage recommandé unit_of_measurement: h value_template: > {% set temp = states('sensor.bermerain_temperature_2') | float %} {{ (temp / 2) | round(1) }}Capteur pour le pH à ajouterCalcule la quantité de pH+ ou pH- à ajouter en fonction du pH actuel et du volume. sensor: - platform: template sensors: ph_a_ajouter: friendly_name: pH à ajouter unit_of_measurement: g value_template: > {% set ph = states('input_number.piscine_ph_actuel') | float %} {% set volume = states('sensor.volume_eau_piscine') | float %} {% if ph > 7.7 %} {{ ((ph - 7.7) * volume * 2) | round(0) }} g de pH- {% elif ph < 7.5 %} {{ ((7.5 - ph) * volume * 2) | round(0) }} g de pH+ {% else %} Aucun ajustement requis {% endif %}Conseil : Testez chaque capteur dans l’onglet Développeur > États pour vérifier les valeurs calculées. Étape 4 : Configurer le tableau de bordLe tableau de bord est créé dans l’interface graphique ou via YAML. J’ai utilisé un fichier YAML pour plus de contrôle. Voici comment il est structuré. 4.1 Structure généraleLe tableau de bord utilise une disposition en sections avec un maximum de 3 colonnes. Il inclut des badges, des cartes Markdown, des jauges, des graphiques, et une caméra Frigate. type: sections max_columns: 3 title: Piscine path: piscine icon: phu:rooms-pool theme: transparentblue subview: truetype: sections : Organise les cartes en sections. max_columns: 3 : Limite à 3 colonnes pour une disposition claire. theme: transparentblue : Applique un thème visuel. subview: true : Affiche le tableau comme une sous-vue. 4.2 BadgesLes badges affichent l’état de la pompe et de la lumière de la piscine en haut. badges: - type: entity entity: switch.pompe_piscine show_name: false show_state: true show_icon: true - type: entity entity: switch.lumiere_piscine show_name: false show_state: true show_icon: true4.3 Sections et cartesLe tableau est divisé en 4 sections avec différentes cartes : Section 1 : Informations généralesCalendrier : Affiche les événements de pompage planifiés. Journal du jour : Lien pour télécharger un journal (via sensor.journal_etat_eau). Qualité de l’eau : Conseils sur la température, le pH, le chlore, et l’entretien. Pompage planifié : Détails du prochain événement de pompage (statut, heure, lieu). Caméra Frigate : Flux vidéo de la piscine. Exemple pour la carte Markdown de la qualité de l’eau : title: 🏊♂️ Qualité de l’eau de piscine 💧 content: | 🌡️ Température - **Idéale :** entre **24°C et 28°C** - 🚫 Trop chaud ? Risque d’algues ⚖️ Équilibre du pH - **Parfait :** entre **7.2 et 7.4** - 📉 pH < 7.2 → Eau acide (corrosive) - 📈 pH > 7.4 → Eau basique (moins efficace) # ... (voir code complet) Section 2 : Contrôle qualitéAffiche les paramètres actuels (volume, température, pH, chlore). Calcule la température estimée de l’eau en fonction de la température extérieure. Recommande le temps de pompage et calcule la consommation énergétique. Indique les quantités de pH et de chlore à ajouter. Exemple de calcul pour la température estimée : {% set temp_ext = states('sensor.bermerain_temperature_2') | float %} {% set volume = states('sensor.volume_eau_piscine') | float(1) %} {% set inertie = 1 / volume %} {% set influence = (temp_ext - 15) * inertie * 0.5 %} {% set base_eau = 18 %} {% set temp_eau = (base_eau + influence) | round(1) %} {% if temp_eau > 26 %} L'eau de la piscine est à {{ temp_eau }}°C, c'est idéal ! Profitez-en ! {% else %} L'eau de la piscine est à {{ temp_eau }}°C (estimation). {% endif %}Section 3 : VisualisationsJauges : Pour le pH et le chlore souhaités, avec des seuils colorés (vert, jaune, rouge). Capteurs : Affichent le diamètre, la hauteur, le volume, et le temps de pompage. Graphiques : Tracent l’évolution du pH, du chlore, et de la température. Journal : Affiche l’historique des actions (pompe, automatisations). Exemple de jauge pour le pH : - type: gauge entity: input_number.piscine_ph_souhaite needle: true max: 14 severity: green: 7 yellow: 0 red: 8Section 4 : Nouvelle sectionActuellement, une section vide avec un titre. Vous pouvez y ajouter d’autres cartes (par exemple, des boutons pour activer la pompe manuellement). Étape 5 : Ajouter des automatisationsPour automatiser la pompe, j’ai créé des automatisations (non détaillées dans le code fourni, mais référencées dans le logbook). Voici un exemple d’automatisation pour activer la pompe le matin : Exemple : Activation de la pompe à 7hautomation: - id: activation_piscine_1_heure_matin alias: Activer pompe piscine 1h le matin trigger: platform: time at: "07:00:00" action: service: switch.turn_on entity_id: switch.pompe_piscineConseil : Ajoutez une condition pour vérifier si le calendrier de pompage est actif (calendar.pompage_piscine). Étape 6 : Tester et personnaliserTester le tableau de bord : Accédez à la vue via Tableaux de bord > Piscine. Vérifiez que les capteurs, jauges, et graphiques affichent des données correctes. Testez les entrées numériques en modifiant les valeurs (par exemple, pH actuel). Personnaliser : Ajoutez des icônes personnalisées via customize.yaml. Modifiez le thème ou les couleurs des jauges. Intégrez d’autres capteurs (par exemple, un capteur de turbidité). Conseils et bonnes pratiquesSauvegardez vos fichiers avant de modifier configuration.yaml ou le tableau de bord. Utilisez l’éditeur graphique pour les débutants, puis passez au YAML pour plus de flexibilité. Validez le YAML avec un linter (comme yamllint) pour éviter les erreurs. Optimisez la base de données en limitant les entités enregistrées dans recorder.yaml. Ajoutez des notifications (par exemple, via Telegram ou e-mail) pour alerter si le pH ou le chlore est hors plage. Résultat finalVoici à quoi ressemble le tableau de bord : Badges : État de la pompe et de la lumière en haut. Section 1 : Calendrier, journal, conseils d’entretien, détails du pompage, et caméra. Section 2 : Paramètres actuels (température, pH, chlore) avec recommandations. Section 3 : Jauges, graphiques, et historique des actions. Section 4 : Espace pour des extensions futures. Vous pouvez voir un exemple visuel en accédant au tableau de bord dans Home Assistant ou en consultant une capture d’écran (non fournie ici). Code completPour référence, voici le code YAML complet du tableau de bord (voir le code initial fourni). Ajoutez-le dans un fichier YAML sous Tableaux de bord > Éditer en mode YAML piscine.yaml
-
Visiophone qui voit, entend mais refuse l'ouverture
Bonjour, Pourriez-vous m'aider à préciser les points suivants concernant votre installation : Croquis de l'installation : Un schéma simple (même à main levée) indiquant les composants principaux (platine de rue, interphone, gâche électrique, etc.), les connexions et les couleurs des câbles utilisés. Veuillez préciser à quoi chaque câble est connecté (ex. : platine de rue, interphone maison, gâche, etc.). Nombre de câbles connectés : Combien de câbles sont reliés à chaque composant ? Par exemple, si le bus utilise 4 câbles pour la platine de rue, merci de confirmer et de détailler leurs fonctions. Tension et marque de la bobine : Quelle est la tension de la bobine (ex. : 24V DC, 230V AC) et quelle est la marque/modèle du composant (bobine, relais, module de bus) ? Test d’impulsion : Pouvez-vous confirmer si un test d’impulsion a été effectué sur la bobine ou le relais ? Si oui, quels sont les résultats ? Bus et modèle : Quel type de bus est utilisé (ex. : KNX, Modbus, autre) ? Pouvez-vous indiquer le modèle du module de bus et le protocole utilisé pour l’intégration avec Home Assistant ? Détails techniques requis : Références ou modèles des composants (bobine, relais, module de bus, etc.). Tension d’alimentation (ex. : 24V DC, 230V AC). Type de bus de communication (ex. : KNX, Modbus, etc.). Si disponible, un plan ou schéma de l’installation serait très utile. Photos demandées : Une vue d’ensemble de la centrale, montrant les câbles connectés (avec leurs couleurs si possible). Des photos des boîtiers ouverts (centrale, platine de rue, interphone, etc.) pour visualiser les connexions internes. Si applicable, une photo de la platine de rue et des câbles associés. Exemple de clarification : Si votre bus utilise 4 câbles pour la platine de rue, précisez leur rôle (ex. : alimentation, signal, commande de gâche). Indiquez également le protocole utilisé dans Home Assistant pour gérer l’interphone (ex. : MQTT, KNX, etc.). Merci d’avance pour ces informations détaillées, elles me permettront de mieux vous accompagner !
-
-
Présentation de la Gestion de Code dans Home Assistant
1. IntroductionHome Assistant est une plateforme puissante pour l'automatisation domestique. Pour maintenir une configuration claire et modulaire, j'organise mon code en plusieurs fichiers YAML inclus dans le fichier principal configuration.yaml. Cette approche améliore la lisibilité, la maintenance et la scalabilité. 2. Structure du Fichier Principal (configuration.yaml)Le fichier configuration.yaml sert de point d'entrée et inclut toutes les configurations nécessaires via des fichiers externes. Voici un aperçu de sa structure : homeassistant: packages: !include_dir_named packages # Charge les intégrations par défaut default_config: # Configuration des panneaux personnalisés pour la barre latérale panel_custom: !include panel_custom.yaml # Automatisations, scripts et scènes automation: !include automations.yaml script: !include scripts.yaml scene: !include scenes.yaml # Intégrations spécifiques freebox_player: !include freebox_player.yaml wake_on_lan: !include wake_on_lan.yaml lovelace: !include lovelace.yaml notify: !include notify.yaml # Entités et capteurs switch: !include switch.yaml climate: !include climate.yaml powercalc: !include powercalc.yaml binary_sensor: !include binary_sensor.yaml sensor: !include sensor.yaml template: !include template.yaml # Configurations avancées ffmpeg: !include ffmpeg.yaml frontend: !include frontend.yaml http: !include http.yamlExplication :packages : Inclut des fichiers de configuration pour des intégrations complexes (par exemple, des intégrations tierces). default_config : Charge les intégrations de base de Home Assistant. Fichiers inclus : Chaque fichier YAML gère une catégorie spécifique (ex. : climate.yaml pour les thermostats, switch.yaml pour les interrupteurs). Organisation : Les fichiers sont séparés par type d’entité ou fonctionnalité, facilitant la recherche et la modification. 3. Exemple de Fichier : climate.yamlLe fichier climate.yaml contient la configuration des entités de type climate, utilisées pour contrôler les thermostats ou climatiseurs. Voici un exemple de structure pour climate.yaml : # climate.yaml climate: - platform: generic_thermostat name: Thermostat Salon heater: switch.salon_heater target_sensor: sensor.salon_temperature min_temp: 15 max_temp: 30 target_temp: 20 ac_mode: false cold_tolerance: 0.3 hot_tolerance: 0.3 initial_hvac_mode: "heat" - platform: generic_thermostat name: Thermostat Chambre heater: switch.chambre_heater target_sensor: sensor.chambre_temperature min_temp: 15 max_temp: 28 target_temp: 19 ac_mode: false cold_tolerance: 0.5 hot_tolerance: 0.5 initial_hvac_mode: "heat"Explication :Plateforme : Utilise generic_thermostat pour créer un thermostat virtuel basé sur un interrupteur (heater) et un capteur de température (target_sensor). Paramètres : name : Nom de l’entité dans Home Assistant. min_temp/max_temp : Plage de température autorisée. target_temp : Température cible par défaut. cold_tolerance/hot_tolerance : Marges de tolérance pour éviter des cycles trop fréquents. initial_hvac_mode : Mode initial (ici, chauffage). 4. Avantages de Cette OrganisationModularité : Chaque fichier gère un aspect spécifique, facilitant les modifications. Clarté : La séparation par type d’entité réduit les erreurs. Réutilisabilité : Les fichiers comme climate.yaml peuvent être facilement adaptés pour de nouveaux appareils. Maintenance : Les mises à jour ou ajouts se font dans des fichiers dédiés, sans toucher au fichier principal. 5. Étapes pour Ajouter une Nouvelle EntitéIdentifier le type d’entité (ex. : climate pour un thermostat). Créer ou modifier le fichier correspondant (ex. : climate.yaml). Ajouter la configuration spécifique (comme ci-dessus pour generic_thermostat). Vérifier la configuration dans Home Assistant (via l’outil de validation). Redémarrer Home Assistant pour appliquer les changements. 6. Exemple d’Intégration dans LovelacePour afficher les entités climate dans l’interface utilisateur, j’utilise une carte dans lovelace.yaml : # lovelace.yaml (extrait) views: - title: Maison cards: - type: thermostat entity: climate.thermostat_salon - type: thermostat entity: climate.thermostat_chambreCela crée une interface utilisateur intuitive pour contrôler les thermostats. 7. ConclusionEn structurant ma configuration Home Assistant avec des fichiers YAML séparés, je maintiens un système clair, évolutif et facile à gérer. Le fichier climate.yaml illustre comment configurer des entités spécifiques, tandis que configuration.yaml centralise toutes les inclusions. Cette méthode est idéale pour les installations complexes avec de nombreuses intégrations.