{"id":4917,"date":"2023-09-01T19:51:17","date_gmt":"2023-09-01T17:51:17","guid":{"rendered":"https:\/\/www.sigalou-domotique.fr\/?p=4917"},"modified":"2026-01-02T17:01:02","modified_gmt":"2026-01-02T15:01:02","slug":"je-pilote-les-relais-du-fil-pilote-de-mon-chauffage-avec-des-input_select-de-home-assistant","status":"publish","type":"post","link":"https:\/\/www.sigalou-domotique.fr\/es\/je-pilote-les-relais-du-fil-pilote-de-mon-chauffage-avec-des-input_select-de-home-assistant","title":{"rendered":"Controlo los rel\u00e9s del cable piloto de mi calefacci\u00f3n con input_select de Home Assistant"},"content":{"rendered":"<p>&nbsp;<\/p>\r\n<p><span style=\"color: initial; font-size: revert;\">Como expliqu\u00e9 en:<\/span><\/p>\r\n<ul>\r\n<li><a href=\"https:\/\/www.sigalou-domotique.fr\/es\/commander-chauffage-fil-pilote-avec-sonoff-4ch-pro-r2-multi-zones\/\" target=\"_blank\" rel=\"noopener\">Solicite su calefacci\u00f3n con un Sonoff 4CH Pro R2 en varias zonas<\/a><\/li>\r\n<\/ul>\r\n<p>Controlo mi calefacci\u00f3n en dos zonas gracias a los cables piloto. Como parte del cambio de Jeedom a Home Assistant, tengo que administrar estos rel\u00e9s con Home Assistant.<\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2018\/03\/filpiloteprincipe.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-40\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2018\/03\/filpiloteprincipe.jpg\" alt=\"filpiloteprincipe\" width=\"294\" height=\"248\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2018\/03\/filpiloteprincipe.jpg 597w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2018\/03\/filpiloteprincipe-300x253.jpg 300w\" sizes=\"auto, (max-width: 294px) 100vw, 294px\" \/><\/a><!--more--><\/p>\r\n<p>Por ahora, el Sonoff 4CH Pro es conducido por ESP Easy, pronto lo cambiar\u00e9 a ESP Home, pero por ahora ESP Easy le permite interactuar con Jeedom ET Home Assistant a trav\u00e9s de MQTT.<\/p>\r\n<p>Para la configuraci\u00f3n, me refiero a este Retex:<\/p>\r\n<ul>\r\n<li><a href=\"https:\/\/www.sigalou-domotique.fr\/es\/migration-jeedom-vers-home-assistant-le-lien-des-esp-sous-esp-easy-vers-ha\/\" target=\"_blank\" rel=\"noopener\">Migraci\u00f3n de Jeedom a Home Assistant, enlace ESP bajo ESP-Easy to HA<\/a><\/li>\r\n<\/ul>\r\n<h3>Conduzco rel\u00e9s a trav\u00e9s de MQTT<\/h3>\r\n<p>Como se explica en el <a href=\"https:\/\/www.sigalou-domotique.fr\/es\/migration-jeedom-vers-home-assistant-le-lien-des-esp-sous-esp-easy-vers-ha\/\" target=\"_blank\" rel=\"noopener\">Retex arriba<\/a>, es necesario configurar las entidades que permitir\u00e1n recuperar los rel\u00e9s en Home Assistant, esto se hace en el archivo mqtt.yaml<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">- nombre: \"Relay 1 Calefacci\u00f3n\" \u00fanico _id: comando switch.heating.relais1_topic: \u00abHeating\/gpio\/12\u00bb state_topic (en ingl\u00e9s): \"Calefacci\u00f3n\/Retransmisi\u00f3n1\/Retransmisi\u00f3n1\" payload_on: \u00ab1\u00bb carga \u00fatil _off: \"0\" conserva: dispositivo verdadero_class: dispositivo de salida: nombre: Identificadores de \"calefacci\u00f3n\": \"calentamiento\" - nombre: \"Relay 2 Calefacci\u00f3n\" \u00fanico _id: comando switch.heating.relais2_topic: \"Calefacci\u00f3n\/gpio\/5\" state_topic: Carga \u00fatil \"Heating\/Relay2\/Relay2\"_on: \u00ab1\u00bb carga \u00fatil _off: \"0\" conserva: dispositivo verdadero_class: dispositivo de salida: nombre: Identificadores de \"calefacci\u00f3n\": \"calentamiento\" - nombre: \"Relay 3 Calefacci\u00f3n\" \u00fanico _id: comando switch.heating.relais3_topic: \"Calefacci\u00f3n\/gpio\/4\" estado_topic: Carga \u00fatil \"Heating\/Relay3\/Relay3\"_on: \u00ab1\u00bb carga \u00fatil _off: \"0\" conserva: dispositivo verdadero_class: dispositivo de salida: nombre: Identificadores de \"calefacci\u00f3n\": \"calentamiento\" - nombre: \"Relay 4 Calefacci\u00f3n\" \u00fanico _id: comando switch.heating.relais4_topic: \u00abHeating\/gpio\/15\u00bb state_topic (en ingl\u00e9s): \"Calefacci\u00f3n\/Retransmisi\u00f3n4\/Retransmisi\u00f3n4\" payload_on: \u00ab1\u00bb carga \u00fatil _off: \"0\" conserva: dispositivo verdadero_class: dispositivo de salida: nombre: Identificadores de \"calefacci\u00f3n\": \"calentamiento\" \r\n<\/pre>\r\n<p>En HA, estas 4 entidades se recuperan f\u00e1cilmente\u00a0<\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4924\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage1.png\" alt=\"\" width=\"508\" height=\"231\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage1.png 508w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage1-300x136.png 300w\" sizes=\"auto, (max-width: 508px) 100vw, 508px\" \/><\/a><\/p>\r\n<h3>Yo creo _select entrada<\/h3>\r\n<p>Es en el archivo configuration.yaml que declaro las dos entidades de las zonas permiti\u00e9ndoles tener 4 estados posibles.<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">input_select: _etage_modo de calefacci\u00f3n: nombre: Calefacci\u00f3n Zona Piso - Opciones de modo: - \"Comfort\" - \"Eco\" - \"Out of Gel\" - icono \"Off\": mdi:help-circle-outline heating _rdc _mode: nombre: Zona de Calefacci\u00f3n Planta Baja - Opciones de Modo: - \"Comfort\" - \"Eco\" - \"Out of Gel\" - icono \"Off\": mdi:help-circle-outline<\/pre>\r\n<p>Esto a\u00f1ade las dos entidades:<\/p>\r\n<ul>\r\n<li>input_select.heating_rdc_mode<\/li>\r\n<li>input_select.heating_etage_mode<\/li>\r\n<\/ul>\r\n<h3>Personalizo input_select<\/h3>\r\n<p>Siempre trato de hacer visualmente agradables los azulejos del tablero, para esto, poner color y poner hermosos iconos que correspondan a los estados parece indispensable.<\/p>\r\n<p>La personalizaci\u00f3n se logra agregando estas l\u00edneas en custom.yaml<\/p>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">input_select.heating_etage_mode: plantillas: icono: &gt; si (estado == 'Confort') devuelve 'mdi:fire'; si (estado == 'Eco') devuelve 'mdi:leaf'; si (estado == 'Hors Gel') devuelve 'mdi:snowflake-term\u00f3metro'; si (estado == 'Off') devuelve 'mdi:power'; devolver \u00abmdi:help-circle-outline\u00bb; Icono de _color: &gt; si (estado == 'Confort') devuelve 'amarillo'; si (estado == 'Eco') devuelve 'verde'; if (state == 'Outside Gel') return '#2196f3\u00bb; if (state == 'Off') return 'red'; input_select.heating_rdc_mode: plantillas: icono: &gt; si (estado == 'Confort') devuelve 'mdi:fire'; si (estado == 'Eco') devuelve 'mdi:leaf'; si (estado == 'Hors Gel') devuelve 'mdi:snowflake-term\u00f3metro'; si (estado == 'Off') devuelve 'mdi:power'; devolver \u00abmdi:help-circle-outline\u00bb; Icono de _color: &gt; si (estado == 'Confort') devuelve 'amarillo'; si (estado == 'Eco') devuelve 'verde'; if (state == 'Outside Gel') return '#2196f3\u00bb; if (state == 'Off') return 'red';    <\/pre>\r\n<h3>Conduzco rel\u00e9s desde input_select<\/h3>\r\n<p>La correspondencia entre las zonas (Etage y Ground Floor) debe hacerse en Home Assistant, la elecci\u00f3n de los rel\u00e9s para controlar el modo de zona debe ser transparente para el usuario.<\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4927\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage2.png\" alt=\"\" width=\"728\" height=\"281\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage2.png 728w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage2-600x232.png 600w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage2-300x116.png 300w\" sizes=\"auto, (max-width: 728px) 100vw, 728px\" \/><\/a><\/p>\r\n<p>Para ello, se activar\u00e1 una automatizaci\u00f3n por un cambio de estado de entrada_select.heating_rdc_mode y otra por input_select.heating_etage_mode.<\/p>\r\n<p>Esta automatizaci\u00f3n cambiar\u00e1 el estado de los rel\u00e9s para enviar el orden que corresponde a la codificaci\u00f3n del cable piloto. Esto se explica <a href=\"https:\/\/www.sigalou-domotique.fr\/es\/commander-chauffage-fil-pilote-avec-sonoff-4ch-pro-r2-multi-zones\/#scenarii\" target=\"_blank\" rel=\"noopener\">aqu\u00ed<\/a>.<\/p>\r\n<h4>Automatizaci\u00f3n Pilotaje Calefacci\u00f3n Planta Baja<\/h4>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">alias: Descripci\u00f3n de Pilotage Heating Ground Floor: Activador \"\": - plataforma: _id, entidad estatal: - input_select.heating_rdc_mode condici\u00f3n: [] acci\u00f3n: - si: - condici\u00f3n: _id, entidad estatal: input_select.heating_rdc_mode estado: Confort entonces: - servicio: datos de switch.turn _off: {} entidad _id: - switch.heating_relais_3_heating - switch.heating_relais_4_heating - stop: \"\" - si: - condici\u00f3n: _id, entidad estatal: input_select.heating_rdc_mode estado: Eco entonces: - servicio: switch.turn_on datos: {} entidad _id: - switch.heating_relais_3_heating - switch.heating_relais_4_heating - stop: \"\" - si: - condici\u00f3n: _id, entidad estatal: input_select.heating_rdc_mode estado: Excluyendo Gel entonces: - servicio: datos de switch.turn _off: {} entidad _id: - switch.heating_relais_4_heating - servicio: switch.turn_on datos: {} entidad _id: - switch.heating_relais_3_heating - stop: \"\" - si: - condici\u00f3n: _id, entidad estatal: input_select.heating_rdc_mode estado: \"Fuera\" entonces: - servicio: datos de switch.turn _off: {} entidad _id: - switch.heating_relais_3_heating - servicio: switch.turn_on datos: {} entidad _id: - switch.heating_relais_4_heating - stop: Modo \"\": soltero\r\n<\/pre>\r\n<h4>Automatizaci\u00f3n Pilotaje Calefacci\u00f3n suelo<\/h4>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">alias: Descripci\u00f3n del suelo de calefacci\u00f3n de pilotaje: Activador \"\": - plataforma: _id, entidad estatal: - input_select.heating_etage_mode condition: [] acci\u00f3n: - si: - condici\u00f3n: _id, entidad estatal: input_select.heating_etage _mode estado: Confort entonces: - servicio: datos de switch.turn _off: {} entidad _id: - switch.heating_relais_2_heating - switch.heating_relais_1_heating - stop: \"\" - si: - condici\u00f3n: _id, entidad estatal: input_select.heating_etage _mode estado: Eco entonces: - servicio: switch.turn_on datos: {} entidad _id: - switch.heating_relais_2_heating - switch.heating_relais_1_heating - stop: \"\" - si: - condici\u00f3n: _id, entidad estatal: input_select.heating_etage _mode estado: Excluyendo Gel entonces: - servicio: datos de switch.turn _off: {} entidad _id: - switch.heating_relais_2_heating - servicio: switch.turn_on datos: {} entidad _id: - switch.heating_relais_1_heating - stop: \"\" - si: - condici\u00f3n: _id, entidad estatal: input_select.heating_etage _mode estado: \"Fuera\" entonces: - servicio: datos de switch.turn _off: {} entidad _id: - switch.heating_relais_1_heating - servicio: switch.turn_on datos: {} entidad _id: - switch.heating_relais_2_heating - stop: Modo \"\": soltero<\/pre>\r\n<h3>Hago un buen mapa para el tablero<\/h3>\r\n<p>Aqu\u00ed est\u00e1 el resultado de lo que quiero como tarjeta:<\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4930\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage3.png\" alt=\"\" width=\"506\" height=\"270\" srcset=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage3.png 506w, https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage3-300x160.png 300w\" sizes=\"auto, (max-width: 506px) 100vw, 506px\" \/><\/a><\/p>\r\n<p>En este punto, no s\u00e9 si voy a mantener la lista desplegable o los botones \/ selectores, ambos funcionan.<\/p>\r\n<h4>C\u00f3digo de mapa para el \u00e1rea de la planta baja\u00a0<\/h4>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">Tipo: custom:modo de pila en tarjeta: tarjetas verticales: - tipo: custom:auto-entidades muestran _empty: Tarjeta falsa: Tipo: custom:mushroom-chips-card view_layout: zona de la red: alineaci\u00f3n de chips: tarjeta central_param: Filtro de chips: plantilla: &gt; {% set ns = namespace(select=[],entity=\"input_select.heating_rdc_mode\") %} {% para optar en el estado_attr(ns.entity, 'options') %} {% icono de conjunto = iif(opt== 'Confort', 'mdi:fire', icono) %} {% set icon_color _select = iif(opt== 'Comfort', 'yellow', icon_color _select) %} {% icono de conjunto = iif(opt== 'Off', 'mdi:power', icono) %} {% set icon_color _select = iif(opt== 'Off', 'red', icon_color _select) %} {% icono de conjunto = iif(opt== 'Eco', 'mdi:leaf', icono) %} {% set icon_color _select = iif(opt== 'Eco', 'green', icon_color _select) %} {% icono de conjunto = iif(opt== 'Out of Gel', 'mdi:snowflake-thermometer', icono) %} {% set icon_color _select = iif(opt== 'Out of Gel', 'blue', icon_color _select) %} {% set ns.select = ns.select + [ { \"type\": \"plantilla\", \"icono\": icono, \"entidad\": ns.entity, \"icono _color\": '{{ iif(is _state(\"' ~ ns.entity ~ '\", \"' ~ opt ~ '\"), \"' ~ icon_color _select ~ '\", \"disabled\") }', \"tap _action\": { \"acci\u00f3n\": \"servicio de llamada\", \"servicio\": \u00abinput_select.select _option\u00bb, \u00ab_data service\u00bb: { \"entidad _id\": ns.entidad, \"opci\u00f3n\": opt } }, \"tarjeta _mod\": { \"estilo\": 'ha-card { {% si es _state( \"' ~ ns.entity ~ '\" , \"' ~ opt ~ '\" ) %} --chip-fondo: rgba(var(--rgb-gris), 0,1); {% de lo contrario %} --chip-fondo: rgba(var(--mush-rgb-state-entity), 0,3); {% endif %} }' } } ] %} {% endfor %} {{ ns.select }} - tipo: entidades entidades: - entidad: input_select.heating_rdc_mode\r\n<\/pre>\r\n<h4>C\u00f3digo de mapa para el \u00e1rea del piso<\/h4>\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\">Tipo: custom:modo de pila en tarjeta: tarjetas verticales: - tipo: custom:auto-entidades muestran _empty: Tarjeta falsa: Tipo: custom:mushroom-chips-card view_layout: zona de la red: alineaci\u00f3n de chips: tarjeta central_param: Filtro de chips: plantilla: &gt; {% set ns = namespace(select=[],entity=\"input_select.heating_etage _mode\") %} {% para optar en el estado_attr(ns.entity, 'options') %} {% icono de conjunto = iif(opt== 'Confort', 'mdi:fire', icono) %} {% set icon_color _select = iif(opt== 'Comfort', 'yellow', icon_color _select) %} {% icono de conjunto = iif(opt== 'Off', 'mdi:power', icono) %} {% set icon_color _select = iif(opt== 'Off', 'red', icon_color _select) %} {% icono de conjunto = iif(opt== 'Eco', 'mdi:leaf', icono) %} {% set icon_color _select = iif(opt== 'Eco', 'green', icon_color _select) %} {% icono de conjunto = iif(opt== 'Out of Gel', 'mdi:snowflake-thermometer', icono) %} {% set icon_color _select = iif(opt== 'Out of Gel', 'blue', icon_color _select) %} {% set ns.select = ns.select + [ { \"type\": \"plantilla\", \"icono\": icono, \"entidad\": ns.entity, \"icono _color\": '{{ iif(is _state(\"' ~ ns.entity ~ '\", \"' ~ opt ~ '\"), \"' ~ icon_color _select ~ '\", \"disabled\") }', \"tap _action\": { \"acci\u00f3n\": \"servicio de llamada\", \"servicio\": \u00abinput_select.select _option\u00bb, \u00ab_data service\u00bb: { \"entidad _id\": ns.entidad, \"opci\u00f3n\": opt } }, \"tarjeta _mod\": { \"estilo\": 'ha-card { {% si es _state( \"' ~ ns.entity ~ '\" , \"' ~ opt ~ '\" ) %} --chip-fondo: rgba(var(--rgb-gris), 0,1); {% de lo contrario %} --chip-fondo: rgba(var(--mush-rgb-state-entity), 0,3); {% endif %} }' } } ] %} {% endfor %} {{ ns.select }} - tipo: entidades entidades: - entidad: input_select.heating_etage_mode\r\n<\/pre>\r\n<h3>Conclusi\u00f3n<\/h3>\r\n<p>Estoy terminando aqu\u00ed un paso importante en la integraci\u00f3n de mi calefacci\u00f3n con Home Assistant. Abordar\u00e9 ahora el control de esta calefacci\u00f3n en funci\u00f3n de qui\u00e9n est\u00e9 presente o no, horas, d\u00edas y periodos de ausencia (\u2026 holidays)<\/p>\r\n<p><a href=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4918\" src=\"https:\/\/www.sigalou-domotique.fr\/wp-content\/uploads\/2023\/09\/chauffage.gif\" alt=\"\" width=\"502\" height=\"244\" \/><\/a><\/p>\r\n<p>&nbsp;<\/p>\r\n<p>&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>&nbsp; Como expliqu\u00e9 en: Ordene su calefacci\u00f3n con un Sonoff 4CH Pro R2 en varias zonas Controlo mi calefacci\u00f3n en dos zonas gracias a los cables piloto. Como parte del cambio de Jeedom a Home Assistant, tengo que administrar estos rel\u00e9s con Home Assistant.<\/p>","protected":false},"author":1,"featured_media":4918,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14,53,166],"tags":[85,81],"class_list":["post-4917","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-domotique","category-home-assistant","category-retex","tag-chauffage","tag-developpement"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/posts\/4917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/comments?post=4917"}],"version-history":[{"count":0,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/posts\/4917\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/media\/4918"}],"wp:attachment":[{"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/media?parent=4917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/categories?post=4917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sigalou-domotique.fr\/es\/wp-json\/wp\/v2\/tags?post=4917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}