Configuring Command Line switch using YAML has moved.
Consult the documentation to move your YAML configuration to integration key and restart Home Assistant to fix this issue.
Co tu trzeba zrobić ?
Dostaję takie info ale w głównym nie mam żadnych switch:
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
# Text to speech
tts:
- platform: google_translate
service_name: google_say
language: 'pl'
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
switch: !include switch.yaml
sensor: !include sensor.yaml
mqtt: !include mqtt.yaml
rest: !include rest.yaml
group: !include groups.yaml
notify: !include notify.yaml
homeassistant:
customize: !include customize.yaml
# ssl to https connection
http:
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
#Termostat Piętro
climate:
- platform: generic_thermostat
unique_id: '0a7426cc-d6c1-40ba-8ae1-606518c3497f'
name: Ogrzewanie
heater: switch.sterownik_pieca_pietro
target_sensor: sensor.temperatura_pietro #sensor temperatura piętro
min_temp: 15
max_temp: 26
ac_mode: false
target_temp: 22
cold_tolerance: 0
hot_tolerance: 0.3
min_cycle_duration:
seconds: 120
keep_alive:
minutes: 1
initial_hvac_mode: "off"
away_temp: 22
precision: 0.1
# Telegram bot
telegram_bot:
- platform: broadcast
api_key: !secret telegram_api_key
allowed_chat_ids:
- !secret telegram_chat_ids
binary_sensor:
#Burze-dzis
- platform: burze_dzis_net
api_key: !secret burze_dzis_net
warnings:
- heat_warning
- wind_warning
- storm_warning
storms_nearby:
radius: 15
a w katalogu switch.yaml mam taki wpis już z command_line
# Relay SR-201; Car gate, Podlewanie
- platform: command_line
scan_interval: 5
switches:
garaz:
command_on: echo -n 11:1 | nc 192.168.1.170 6722
# command_off: echo -n 21:1 | nc 192.168.1.170 6722
command_state: echo -n '00:0^' | nc 192.168.1.170 6722
# command_state: echo -n '00:0^' | nc 192.168.1.170 6722 | sed 's/^.......\(.\)/\1/'
# value_template: '{{ value[0:1] == "1" }}'
value_template: '{{ value == "10000000" or value == "11000000" or value == "11100000" or value == "11110000" or value == "11111000" or value == "11111100" or value == "11111110" or value == "11111111" }}'
friendly_name: Garaz
podlewanie:
command_on: echo -n 12 | nc 192.168.1.170 6722
command_off: echo -n 22 | nc 192.168.1.170 6722
command_state: echo -n '00:0^' | nc 192.168.1.170 6722
# command_state: echo -n '00:0^' | nc 192.168.1.170 6722 | sed 's/^.......\(.\)/\1/'
# value_template: '{{ value[1:2] == "1" }}'
value_template: '{{ value == "01000000" or value == "11000000" or value == "11100000" or value == "11110000" or value == "11111000" or value == "11111100" or value == "11111110" or value == "11111111" }}'
friendly_name: Podlewanie
a w katalogu switch.yaml mam taki wpis już z command_line
No i masz źle , zajrzyj do dokumentacji , przykład
# Example configuration.yaml entry
command_line:
- switch:
name: Kitchen Light
command_on: switch_command on kitchen
command_off: switch_command off kitchen
Zawsze przed aktualizacją warto przeczytać co się zmienia.
Dostaję takie info ale w głównym nie mam żadnych switch:
To jest jak spis treści w książce, Twój yaml to także poszczególne rozdziały, które przeniosłeś z głównego pliku używając !include
https://www.home-assistant.io/blog/2023/06/07/release-20236/#breaking-changes
kurde już nie wiem co robię nie tak :
stworzyłem nowy plik command_lines dopisałem go w głównym config, wkleiłem i zapisuje się ale restartu nie mogę zrobić
# Relay SR-201; Car gate, Podlewanie
switch:
- scan_interval: 5
name: "garaz drzwi"
command_on: echo -n 11:1 | nc 192.168.1.170 6722
command_state: echo -n '00:0^' | nc 192.168.1.170 6722
value_template: '{{ value == "10000000" or value == "11000000" or value == "11100000" or value == "11110000" or value == "11111000" or value == "11111100" or value == "11111110" or value == "11111111" }}'
- scan_interval: 5
name: "podlewanie kran"
command_on: echo -n 12 | nc 192.168.1.170 6722
command_off: echo -n 22 | nc 192.168.1.170 6722
command_state: echo -n '00:0^' | nc 192.168.1.170 6722
value_template: '{{ value == "01000000" or value == "11000000" or value == "11100000" or value == "11110000" or value == "11111000" or value == "11111100" or value == "11111110" or value == "11111111" }}'
Twój "głowny" jak go nazywasz wygląda tak
# Text to speech
tts:
- platform: google_translate
service_name: google_say
language: 'pl'
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
switch: !include switch.yaml
sensor: !include sensor.yaml
mqtt: !include mqtt.yaml
rest: !include rest.yaml
group: !include groups.yaml
notify: !include notify.yaml
Jest tu ten "spis treści", o którym wspomiał @mariusz-2 , więc albo kasujesz ten spis treści, albo nie możesz w tym "głównym" dodawać konfiguracji dla switch. Musisz się na coś zdecydować, a nie jak Panna na wydaniu skaczesz raz tu raz tu. Dokąd tego nie zrozumiesz i sam nie dojdziesz, że w nowej konfiguracji zmiana jest wręcz kosmetyczna, to za każdym razem będziesz wołał o pomoc.
Zresztą w opisie najnowszego wydania, jest pokazane jak na dłoni jaka zmiana jest wymagana 🙂
Właśnie już po zmianach configuration.yaml wygląda tak i wydaje mi się że spis jest zachowany:
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
# Text to speech
tts:
- platform: google_translate
service_name: google_say
language: 'pl'
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
#switch: !include switch.yaml
sensor: !include sensor.yaml
mqtt: !include mqtt.yaml
rest: !include rest.yaml
group: !include groups.yaml
notify: !include notify.yaml
command_line: !include command_lines.yaml
homeassistant:
customize: !include customize.yaml
# ssl to https connection
http:
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
#Termostat Piętro
climate:
- platform: generic_thermostat
unique_id: '0a7426cc-d6c1-40ba-8ae1-606518c3497f'
name: Ogrzewanie
heater: switch.sterownik_pieca_pietro
target_sensor: sensor.temperatura_pietro #sensor temperatura piętro
min_temp: 15
max_temp: 26
ac_mode: false
target_temp: 22
cold_tolerance: 0
hot_tolerance: 0.3
min_cycle_duration:
seconds: 120
keep_alive:
minutes: 1
initial_hvac_mode: "off"
away_temp: 22
precision: 0.1
# Telegram bot
telegram_bot:
- platform: broadcast
api_key: !secret telegram_api_key
allowed_chat_ids:
- !secret telegram_chat_ids
binary_sensor:
#Burze-dzis
- platform: burze_dzis_net
api_key: !secret burze_dzis_net
warnings:
- heat_warning
- wind_warning
- storm_warning
storms_nearby:
radius: 15
# Ping every 5 mins to see if it's on.
- platform: ping
host: 192.168.1.108
name: "Wojtek Telefon"
count: 2
- platform: ping
host: 192.168.1.109
name: "Dorotka Telefon"
count: 2
- platform: ping
host: 192.168.1.142
name: "Kamera Furtka"
count: 2
a sam command_lines.yaml tak i nie widzę tu żadnej zmyłki:
# Relay SR-201; Car gate, Podlewanie
switch:
- scan_interval: 5
name: "garaz drzwi"
command_on: echo -n 11:1 | nc 192.168.1.170 6722
command_state: echo -n '00:0^' | nc 192.168.1.170 6722
value_template: '{{ value == "10000000" or value == "11000000" or value == "11100000" or value == "11110000" or value == "11111000" or value == "11111100" or value == "11111110" or value == "11111111" }}'
- scan_interval: 5
name: "podlewanie kran"
command_on: echo -n 12 | nc 192.168.1.170 6722
command_off: echo -n 22 | nc 192.168.1.170 6722
command_state: echo -n '00:0^' | nc 192.168.1.170 6722
value_template: '{{ value == "01000000" or value == "11000000" or value == "11100000" or value == "11110000" or value == "11111000" or value == "11111100" or value == "11111110" or value == "11111111" }}'
i nie widzę tu żadnej zmyłki:
a jaki komunikat dostajesz po sprawdzeniu konfiguracji ? Poza tym ten twój yaml jest jakiś koślawy :-), już ci @isom wyżej podsyłał składnię, zobacz tu jeszcze raz
# Example configuration command_line.yaml entry binary_sensor: name: Internet Health Check command: 'curl https://google.com --silent > /dev/null && echo ON || echo OFF' device_class: connectivity payload_on: 'ON' payload_off: 'OFF'
Zrobiłem tak, za hashowałem linię od switch i command_line, dodałem w configuration.yaml na końcu konfiguracje SR-201i ruszyło.
# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
# Text to speech
tts:
- platform: google_translate
service_name: google_say
language: 'pl'
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
#switch: !include switch.yaml
sensor: !include sensor.yaml
mqtt: !include mqtt.yaml
rest: !include rest.yaml
group: !include groups.yaml
notify: !include notify.yaml
#command_line: !include command_lines.yaml
homeassistant:
customize: !include customize.yaml
# ssl to https connection
http:
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
#Termostat Piętro
climate:
- platform: generic_thermostat
unique_id: '0a7426cc-d6c1-40ba-8ae1-606518c3497f'
name: Ogrzewanie
heater: switch.sterownik_pieca_pietro
target_sensor: sensor.temperatura_pietro #sensor temperatura piętro
min_temp: 15
max_temp: 26
ac_mode: false
target_temp: 22
cold_tolerance: 0
hot_tolerance: 0.3
min_cycle_duration:
seconds: 120
keep_alive:
minutes: 1
initial_hvac_mode: "off"
away_temp: 22
precision: 0.1
# Telegram bot
telegram_bot:
- platform: broadcast
api_key: !secret telegram_api_key
allowed_chat_ids:
- !secret telegram_chat_ids
binary_sensor:
#Burze-dzis
- platform: burze_dzis_net
api_key: !secret burze_dzis_net
warnings:
- heat_warning
- wind_warning
- storm_warning
storms_nearby:
radius: 15
# Ping every 5 mins to see if it's on.
- platform: ping
host: 192.168.1.108
name: "Wojtek Telefon"
count: 2
- platform: ping
host: 192.168.1.109
name: "Dorotka Telefon"
count: 2
- platform: ping
host: 192.168.1.142
name: "Kamera Furtka"
count: 2
# SR-201 Ethernet
command_line:
- switch:
name: garaz
command_on: echo -n 11:1 | nc 192.168.1.170 6722
command_state: echo -n '00:0^' | nc 192.168.1.170 6722
value_template: '{{ value == "10000000" or value == "11000000" or value == "11100000" or value == "11110000" or value == "11111000" or value == "11111100" or value == "11111110" or value == "11111111" }}'
scan_interval: 5
- switch:
name: podlewanie
command_on: echo -n 12 | nc 192.168.1.170 6722
command_off: echo -n 22 | nc 192.168.1.170 6722
command_state: echo -n '00:0^' | nc 192.168.1.170 6722
value_template: '{{ value == "01000000" or value == "11000000" or value == "11100000" or value == "11110000" or value == "11111000" or value == "11111100" or value == "11111110" or value == "11111111" }}'
scan_interval: 5
ruszyło.
Hm , dziwne, że ruszyło bez błędu, bo kod jest nieprawidłowy o 2 wcięcia za dużo w prawo.
# SR-201 Ethernet
command_line:
- switch:
name: garaz
command_on: echo -n 11:1 | nc 192.168.1.170 6722
command_state: echo -n '00:0^' | nc 192.168.1.170 6722
value_template: '{{ value == "10000000" or value == "11000000" or value == "11100000" or value == "11110000" or value == "11111000" or value == "11111100" or value == "11111110" or value == "11111111" }}'
scan_interval: 5
@mariusz-2 wydaje mi się, że ruszyło bo wpisy są na końcu pliku , problem może się pojawić jak coś zostanie dopisane poniżej.
Nie mam 100% pewności, bo wszystko konfiguruję w odzielnych folderach.
zmieniłem według twojej podpowiedzi, plik się zapisuje mogę wykonać szybki restart ale gdy robię restart HA encja staje nie dostępna ...
encja staje nie dostępna .
Tzn. jest niedostępna zaraz po restarcie? dopóki nie zmieni się jej stan i wtedy jest znów dostępna ?
po dostępności encji wykonuję rekonfigurację jak robię szybki restart to po jakimś czasie staje się niedostępna a gdy robię restart całego HA to po samym restarcie już jest niedostępny

