tlačítko na otevírání vrat a kontrola stavu
- okoun
- Dárce - Donátor
- Příspěvky: 527
- Registrován: 30. prosinec 2022, 21:19
- Dal poděkování: 20 poděkování
- Dostal poděkování: 7 poděkování
tlačítko na otevírání vrat a kontrola stavu
ahoj, řeším problém, mám klasické tlačítko na otevírání vrat, zmáčku začnou se vrata otevírat, zmáčknu znovu a začnou se zavírat, potřeboval bych ale však vidět u toho tlačítka i stav jestli jsou vrata zavřená či otevřená (protože pokud je překážka vrata se nezavřou), na to jsem si nainstaloval binární senzor z esphome a teď je otázka jestli se dá nějak propojit graficky tlačítko a ten stav binárního senzoru?
Děkuji
Děkuji
-
- Dárce - Donátor
- Příspěvky: 191
- Registrován: 20. září 2021, 13:47
- Bydliště: Třebechovice p. O.
- Dal poděkování: 23 poděkování
- Dostal poděkování: 23 poděkování
Re: tlačítko na otevírání vrat a kontrola stavu
Já mám tlačítko, které funguje po stisku: nahoru-stop-dolu-stop-nahoru... atd.
K tomu tlačítku jsem přidal paralelně desku Sonoff SV s relé, takže jsem pak schopen ovládat vrata i z HA. K té desce jsem ještě napojil dva magnetické senzory, nahoru a dolů, takže jsem schopen monitorovat tři stavy vrat:
Kód pro ESPhome je ve spoileru
K tomu tlačítku jsem přidal paralelně desku Sonoff SV s relé, takže jsem pak schopen ovládat vrata i z HA. K té desce jsem ještě napojil dva magnetické senzory, nahoru a dolů, takže jsem schopen monitorovat tři stavy vrat:
- zavřeno (sepnutý spodní senzor)
- v pohybu (rozepnuté oba senzory)
- otevřeno (sepnutý horní senzor)
Kód pro ESPhome je ve spoileru
Spoiler
Kód: Vybrat vše
esphome:
name: vrata
platform: ESP8266
board: esp01_1m
wifi:
ssid: !secret wifiIoT_SSID
password: !secret wifiIoT_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Vrata Fallback Hotspot"
password: !secret wifiIoT_password
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
web_server:
port: 80
binary_sensor:
- platform: gpio
pin:
number: GPIO14
mode: INPUT_PULLUP
# Použít v případě, že magnetický senzor sepnutím detekuje Otevřeno
# inverted: true
#
name: "Garážová vrata zavřeny"
id: down_endstop
- platform: gpio
pin:
number: GPIO4
mode: INPUT_PULLUP
# Použít v případě, že magnetický senzor sepnutím detekuje Otevřeno
# inverted: true
#
name: "Garážová vrata otevřeny"
id: up_endstop
- platform: status
name: "Vrata Stav"
switch:
- platform: gpio
pin: GPIO12
id: relay
- platform: template
icon: "mdi:arrow-up-down-bold-outline"
name: "Ovládání vrat"
turn_on_action:
- switch.turn_on: relay
- delay: 900ms
- switch.turn_off: relay
- platform: restart
name: "Vrata restart"
sensor:
- platform: wifi_signal
name: "Vrata WiFi signál"
update_interval: 60s
- platform: uptime
name: "Vrata Doba běhu v sec."
id: uptime_s
update_interval: 60s
text_sensor:
- platform: template
name: "Gate status"
lambda: |-
if((id(up_endstop).state)==(id(down_endstop).state)){
return {"V pohybu"};
} else if((!id(up_endstop).state)&&(id(down_endstop).state)){
return {"Zavřeno"};
} else {
return {"Otevřeno"};
}
update_interval: 5s
- platform: template
name: "Vrata Doba běhu"
lambda: |-
uint32_t dur = id(uptime_s).state;
int dys = 0;
int hrs = 0;
int mnts = 0;
if (dur > 86399) {
dys = trunc(dur / 86400);
dur = dur - (dys * 86400);
}
if (dur > 3599) {
hrs = trunc(dur / 3600);
dur = dur - (hrs * 3600);
}
if (dur > 59) {
mnts = trunc(dur / 60);
dur = dur - (mnts * 60);
}
char buffer[17];
sprintf(buffer, "%ud %02uh %02um %02us", dys, hrs, mnts, dur);
return {buffer};
icon: mdi:clock-start
update_interval: 60s
- platform: version
name: "Vrata Verze FW"
- platform: wifi_info
ip_address:
name: "Vrata IP Address"
ssid:
name: "Vrata Connected SSID"
bssid:
name: "Vrata Connected BSSID"
mac_address:
name: "Vrata Mac Wifi Address"
# by mamo-nick
- Lion®
- Administrátor fóra
- Příspěvky: 1613
- Registrován: 28. září 2020, 14:07
- Bydliště: podkrkonoší
- Dal poděkování: 145 poděkování
- Dostal poděkování: 194 poděkování
- Kontaktovat uživatele:
Re: tlačítko na otevírání vrat a kontrola stavu
Jak senzory poznají při nahoru-stop-dolu-stop-nahoru, že jsou vrata v pohybu?
Myslím že poznají
Otevřeno
Zavřeno
a
NNN = NedootevřenoNeboNedozavřeno
Myslím že poznají
Otevřeno
Zavřeno
a
NNN = NedootevřenoNeboNedozavřeno
________________
Přispěj a získej přístup do obsahu fóra pro dárce.
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box
Galerie realizací
Přispěj a získej přístup do obsahu fóra pro dárce.
Oficiální sada s Raspberry Pi 4B/4GB, černá +Argon NEO Raspberry Pi 4 Case
Patriot Burst 2.5" SATA SSD 120GB + AXAGON EE25-XA6 ALINE box
Galerie realizací
- okoun
- Dárce - Donátor
- Příspěvky: 527
- Registrován: 30. prosinec 2022, 21:19
- Dal poděkování: 20 poděkování
- Dostal poděkování: 7 poděkování
Re: tlačítko na otevírání vrat a kontrola stavu
chápu ale já právě potřebuji udělat to jak tam máte tu ikonku těch šipek aby třeba byly šipky zelné když je zavřeno a nebo třeba červené když je otevřeno... prostě spojit dvě entity, jedna entita ovládaní a druhá kontrola stavůmamonick píše: ↑29. květen 2023, 19:20 Já mám tlačítko, které funguje po stisku: nahoru-stop-dolu-stop-nahoru... atd.
K tomu tlačítku jsem přidal paralelně desku Sonoff SV s relé, takže jsem pak schopen ovládat vrata i z HA. K té desce jsem ještě napojil dva magnetické senzory, nahoru a dolů, takže jsem schopen monitorovat tři stavy vrat:
- zavřeno (sepnutý spodní senzor)
- v pohybu (rozepnuté oba senzory)
Na jiné desce mám pak ještě HC-SR14, který indikuje, že je v garáži auto. A pod vypínačem světla v garáži mám Sonoff mini a v HA automatizaci, která, když je tma, rozsvítí světlo s počátkem otevírání vrat (stav "v pohybu") a zhasne, když jsou vrata zavřená.
- otevřeno (sepnutý horní senzor)
garaz.png
Kód pro ESPhome je ve spoileruSpoiler
Kód: Vybrat vše
esphome: name: vrata platform: ESP8266 board: esp01_1m wifi: ssid: !secret wifiIoT_SSID password: !secret wifiIoT_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Vrata Fallback Hotspot" password: !secret wifiIoT_password captive_portal: # Enable logging logger: # Enable Home Assistant API api: ota: web_server: port: 80 binary_sensor: - platform: gpio pin: number: GPIO14 mode: INPUT_PULLUP # Použít v případě, že magnetický senzor sepnutím detekuje Otevřeno # inverted: true # name: "Garážová vrata zavřeny" id: down_endstop - platform: gpio pin: number: GPIO4 mode: INPUT_PULLUP # Použít v případě, že magnetický senzor sepnutím detekuje Otevřeno # inverted: true # name: "Garážová vrata otevřeny" id: up_endstop - platform: status name: "Vrata Stav" switch: - platform: gpio pin: GPIO12 id: relay - platform: template icon: "mdi:arrow-up-down-bold-outline" name: "Ovládání vrat" turn_on_action: - switch.turn_on: relay - delay: 900ms - switch.turn_off: relay - platform: restart name: "Vrata restart" sensor: - platform: wifi_signal name: "Vrata WiFi signál" update_interval: 60s - platform: uptime name: "Vrata Doba běhu v sec." id: uptime_s update_interval: 60s text_sensor: - platform: template name: "Gate status" lambda: |- if((id(up_endstop).state)==(id(down_endstop).state)){ return {"V pohybu"}; } else if((!id(up_endstop).state)&&(id(down_endstop).state)){ return {"Zavřeno"}; } else { return {"Otevřeno"}; } update_interval: 5s - platform: template name: "Vrata Doba běhu" lambda: |- uint32_t dur = id(uptime_s).state; int dys = 0; int hrs = 0; int mnts = 0; if (dur > 86399) { dys = trunc(dur / 86400); dur = dur - (dys * 86400); } if (dur > 3599) { hrs = trunc(dur / 3600); dur = dur - (hrs * 3600); } if (dur > 59) { mnts = trunc(dur / 60); dur = dur - (mnts * 60); } char buffer[17]; sprintf(buffer, "%ud %02uh %02um %02us", dys, hrs, mnts, dur); return {buffer}; icon: mdi:clock-start update_interval: 60s - platform: version name: "Vrata Verze FW" - platform: wifi_info ip_address: name: "Vrata IP Address" ssid: name: "Vrata Connected SSID" bssid: name: "Vrata Connected BSSID" mac_address: name: "Vrata Mac Wifi Address" # by mamo-nick
-
- Dárce - Donátor
- Příspěvky: 191
- Registrován: 20. září 2021, 13:47
- Bydliště: Třebechovice p. O.
- Dal poděkování: 23 poděkování
- Dostal poděkování: 23 poděkování
Re: tlačítko na otevírání vrat a kontrola stavu
Už tomu rozumím.
Pak se to dá udělat přes customize.
Zkus do configuration.yam dát ten kód níže (samozřejmě upravený). Pokud máš customize includované, tak to dej přímo do customize.yaml.
Pak se to dá udělat přes customize.
Zkus do configuration.yam dát ten kód níže (samozřejmě upravený). Pokud máš customize includované, tak to dej přímo do customize.yaml.
Kód: Vybrat vše
homeassistant: # pokud tuto položku už v config máš, tak vynechej a zbytek vlož pod ní
customize:
sensor.entity1: # Nahraď "sensor.entity1" identifikátorem entity, u které chceš měnit barvu ikony, což bude entita ovládání
templates:
icon_color: >-
if (states['sensor.entity2'].state == 'on') return 'green';
else return 'red';