mirror of
https://github.com/Anonym-tsk/smart-domofon.git
synced 2025-12-07 12:07:06 +03:00
Moved some timeouts to numbers
This commit is contained in:
@@ -41,10 +41,6 @@ substitutions:
|
|||||||
|
|
||||||
# Software configuration
|
# Software configuration
|
||||||
call_end_detect_delay: 3000ms # Interval between rings to detect incoming call
|
call_end_detect_delay: 3000ms # Interval between rings to detect incoming call
|
||||||
relay_before_answer_delay: 400ms # Delay before answer call
|
|
||||||
relay_answer_on_time: 1000ms # Delay between answer call and open/close door
|
|
||||||
relay_open_on_time: 300ms # How long the "open door button" will be pressed
|
|
||||||
relay_after_open_delay: 500ms # Delay in "answer" state after opening door
|
|
||||||
short_click_time_from: 50ms # Short button click min time
|
short_click_time_from: 50ms # Short button click min time
|
||||||
short_click_time_to: 1000ms # Long button click min time
|
short_click_time_to: 1000ms # Long button click min time
|
||||||
|
|
||||||
|
|||||||
@@ -61,32 +61,34 @@ sensor:
|
|||||||
update_interval: 20s
|
update_interval: 20s
|
||||||
unit_of_measurement: bytes
|
unit_of_measurement: bytes
|
||||||
accuracy_decimals: 0
|
accuracy_decimals: 0
|
||||||
|
entity_category: "diagnostic"
|
||||||
|
|
||||||
- platform: uptime
|
- platform: uptime
|
||||||
internal: true
|
internal: true
|
||||||
id: uptime_sensor
|
id: uptime_sensor
|
||||||
|
update_interval: 60s
|
||||||
|
on_raw_value:
|
||||||
|
then:
|
||||||
|
- text_sensor.template.publish:
|
||||||
|
id: uptime_human
|
||||||
|
state: !lambda |-
|
||||||
|
int seconds = round(id(uptime_sensor).raw_state);
|
||||||
|
int days = seconds / (24 * 3600);
|
||||||
|
seconds = seconds % (24 * 3600);
|
||||||
|
int hours = seconds / 3600;
|
||||||
|
seconds = seconds % 3600;
|
||||||
|
int minutes = seconds / 60;
|
||||||
|
seconds = seconds % 60;
|
||||||
|
return (
|
||||||
|
(days ? to_string(days) + "d " : "") +
|
||||||
|
(hours ? to_string(hours) + "h " : "") +
|
||||||
|
(minutes ? to_string(minutes) + "m " : "") +
|
||||||
|
(to_string(seconds) + "s")
|
||||||
|
).c_str();
|
||||||
|
|
||||||
text_sensor:
|
text_sensor:
|
||||||
- platform: template
|
- platform: template
|
||||||
|
id: uptime_human
|
||||||
name: "${board_name} Uptime"
|
name: "${board_name} Uptime"
|
||||||
lambda: |-
|
|
||||||
uint32_t dur = id(uptime_sensor).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
|
icon: mdi:clock-start
|
||||||
update_interval: 60s
|
entity_category: "diagnostic"
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
button:
|
button:
|
||||||
|
- platform: restart
|
||||||
|
name: "${board_name} Restart"
|
||||||
|
|
||||||
# Accept call
|
# Accept call
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "${board_name} accept call"
|
name: "${board_name} accept call"
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ number:
|
|||||||
id: led_brightness
|
id: led_brightness
|
||||||
optimistic: true
|
optimistic: true
|
||||||
restore_value: true
|
restore_value: true
|
||||||
|
entity_category: "config"
|
||||||
initial_value: 7
|
initial_value: 7
|
||||||
min_value: 0
|
min_value: 0
|
||||||
max_value: 10
|
max_value: 10
|
||||||
@@ -18,3 +19,63 @@ number:
|
|||||||
light.control:
|
light.control:
|
||||||
id: rgb_led
|
id: rgb_led
|
||||||
brightness: !lambda "return x > 0 ? x / 10 : 0.01;"
|
brightness: !lambda "return x > 0 ? x / 10 : 0.01;"
|
||||||
|
|
||||||
|
# Delay before answer call
|
||||||
|
- platform: template
|
||||||
|
name: "${board_name} Delay Before Answer"
|
||||||
|
icon: "mdi:clock-time-two-outline"
|
||||||
|
id: relay_before_answer_delay
|
||||||
|
optimistic: true
|
||||||
|
restore_value: true
|
||||||
|
mode: box
|
||||||
|
unit_of_measurement: "ms"
|
||||||
|
entity_category: "config"
|
||||||
|
initial_value: 400
|
||||||
|
min_value: 100
|
||||||
|
max_value: 5000
|
||||||
|
step: 100
|
||||||
|
|
||||||
|
# Delay between answer call and open/close door
|
||||||
|
- platform: template
|
||||||
|
name: "${board_name} Answer On Time"
|
||||||
|
icon: "mdi:clock-time-two-outline"
|
||||||
|
id: relay_answer_on_time
|
||||||
|
optimistic: true
|
||||||
|
restore_value: true
|
||||||
|
mode: box
|
||||||
|
unit_of_measurement: "ms"
|
||||||
|
entity_category: "config"
|
||||||
|
initial_value: 1000
|
||||||
|
min_value: 100
|
||||||
|
max_value: 5000
|
||||||
|
step: 100
|
||||||
|
|
||||||
|
# How long the "open door button" will be pressed
|
||||||
|
- platform: template
|
||||||
|
name: "${board_name} Open On Time"
|
||||||
|
icon: "mdi:clock-time-two-outline"
|
||||||
|
id: relay_open_on_time
|
||||||
|
optimistic: true
|
||||||
|
restore_value: true
|
||||||
|
mode: box
|
||||||
|
unit_of_measurement: "ms"
|
||||||
|
entity_category: "config"
|
||||||
|
initial_value: 300
|
||||||
|
min_value: 50
|
||||||
|
max_value: 2000
|
||||||
|
step: 50
|
||||||
|
|
||||||
|
# Delay in "answer" state after opening door
|
||||||
|
- platform: template
|
||||||
|
name: "${board_name} Delay After Open"
|
||||||
|
icon: "mdi:clock-time-two-outline"
|
||||||
|
id: relay_after_open_delay
|
||||||
|
optimistic: true
|
||||||
|
restore_value: true
|
||||||
|
mode: box
|
||||||
|
unit_of_measurement: "ms"
|
||||||
|
entity_category: "config"
|
||||||
|
initial_value: 500
|
||||||
|
min_value: 100
|
||||||
|
max_value: 5000
|
||||||
|
step: 100
|
||||||
|
|||||||
@@ -31,13 +31,13 @@ script:
|
|||||||
then:
|
then:
|
||||||
- logger.log: "Accept call"
|
- logger.log: "Accept call"
|
||||||
- script.execute: state_no_call
|
- script.execute: state_no_call
|
||||||
- delay: $relay_before_answer_delay
|
- delay: !lambda "return id(relay_before_answer_delay).state;"
|
||||||
- script.execute: state_answer
|
- script.execute: state_answer
|
||||||
- delay: $relay_answer_on_time
|
- delay: !lambda "return id(relay_answer_on_time).state;"
|
||||||
- script.execute: state_open
|
- script.execute: state_open
|
||||||
- delay: $relay_open_on_time
|
- delay: !lambda "return id(relay_open_on_time).state;"
|
||||||
- script.execute: state_answer
|
- script.execute: state_answer
|
||||||
- delay: $relay_after_open_delay
|
- delay: !lambda "return id(relay_after_open_delay).state;"
|
||||||
- script.execute: state_ready
|
- script.execute: state_ready
|
||||||
- globals.set:
|
- globals.set:
|
||||||
id: mode_mute_once
|
id: mode_mute_once
|
||||||
@@ -48,9 +48,9 @@ script:
|
|||||||
then:
|
then:
|
||||||
- logger.log: "Reject call"
|
- logger.log: "Reject call"
|
||||||
- script.execute: state_no_call
|
- script.execute: state_no_call
|
||||||
- delay: $relay_before_answer_delay
|
- delay: !lambda "return id(relay_before_answer_delay).state;"
|
||||||
- script.execute: state_answer
|
- script.execute: state_answer
|
||||||
- delay: $relay_answer_on_time
|
- delay: !lambda "return id(relay_answer_on_time).state;"
|
||||||
- script.execute: state_ready
|
- script.execute: state_ready
|
||||||
- globals.set:
|
- globals.set:
|
||||||
id: mode_mute_once
|
id: mode_mute_once
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
switch:
|
switch:
|
||||||
- platform: restart
|
|
||||||
name: "${board_name} Restart"
|
|
||||||
|
|
||||||
# Automatically open door switch
|
# Automatically open door switch
|
||||||
- platform: template
|
- platform: template
|
||||||
name: "${board_name} automatically open"
|
name: "${board_name} automatically open"
|
||||||
|
|||||||
Reference in New Issue
Block a user