Rebuild Sleep mode switch (#719)

This commit is contained in:
Edward Firmo
2023-04-26 22:03:54 +02:00
committed by GitHub
parent 32b98e09f6
commit b05633aae5

View File

@@ -415,12 +415,6 @@ globals:
restore_value: true restore_value: true
initial_value: '0.0' initial_value: '0.0'
##### Save Display DIM Brightness for NSPanel reboot
- id: sleep_mode_global
type: int
restore_value: true
initial_value: '0'
##### START - BINARY SENSOR CONFIGURATION ##### ##### START - BINARY SENSOR CONFIGURATION #####
binary_sensor: binary_sensor:
@@ -515,6 +509,7 @@ binary_sensor:
component_id: 14 component_id: 14
internal: true internal: true
on_click: on_click:
- logger.log: "Sleep mode - Nextion toggle"
- switch.toggle: sleep_mode - switch.toggle: sleep_mode
##### global variable to keep track on whether the Nextion display is ready or not. ##### global variable to keep track on whether the Nextion display is ready or not.
@@ -746,22 +741,23 @@ switch:
device_class: switch device_class: switch
id: sleep_mode id: sleep_mode
entity_category: config entity_category: config
restore_state: true
assumed_state: false
optimistic: true
restore_mode: RESTORE_DEFAULT_OFF restore_mode: RESTORE_DEFAULT_OFF
on_turn_off: restore_state: true
- lambda: id(disp1).send_command_printf("home.sleepmodus.val=0"); optimistic: false
- globals.set: turn_on_action: &sleep_mode-turn_on
id: sleep_mode_global - logger.log: "Sleep mode - Turn on"
value: '0'
- lambda: id(disp1).set_component_value("settings.bt1",0);
on_turn_on:
- lambda: id(disp1).send_command_printf("home.sleepmodus.val=1"); - lambda: id(disp1).send_command_printf("home.sleepmodus.val=1");
- globals.set:
id: sleep_mode_global
value: '1'
- lambda: id(disp1).set_component_value("settings.bt1",1); - lambda: id(disp1).set_component_value("settings.bt1",1);
- switch.template.publish:
id: sleep_mode
state: ON
turn_off_action: &sleep_mode-turn_off
- logger.log: "Sleep mode - Turn off"
- lambda: id(disp1).send_command_printf("home.sleepmodus.val=0");
- lambda: id(disp1).set_component_value("settings.bt1",0);
- switch.template.publish:
id: sleep_mode
state: OFF
##### Relay Local control Fallback ##### ##### Relay Local control Fallback #####
- name: ${device_name} Relay 1 Local Fallback - name: ${device_name} Relay 1 Local Fallback
@@ -857,28 +853,40 @@ display:
tft_url: ${nextion_update_url} tft_url: ${nextion_update_url}
on_setup: on_setup:
then: then:
- logger.log: "Nextion start - Jump to page 8"
- lambda: id(disp1).send_command_printf("page 8"); - lambda: id(disp1).send_command_printf("page 8");
- logger.log: "Nextion start - Publish ESPHome version"
- lambda: id(disp1).set_component_text_printf("boot.esph_version", "%s", "3.3"); ### esphome-version ### - lambda: id(disp1).set_component_text_printf("boot.esph_version", "%s", "3.3"); ### esphome-version ###
- logger.log: "Nextion start - Wait for Home Assistant API"
- wait_until: - wait_until:
api.connected api.connected
- logger.log: "Nextion start - Publish IP address"
- lambda: id(disp1).set_component_text_printf("boot.ip_addr", "%s", id(ip_address).state.c_str()); - lambda: id(disp1).set_component_text_printf("boot.ip_addr", "%s", id(ip_address).state.c_str());
- delay: 1s - delay: 1s
- logger.log: "Nextion start - Set display brigntess"
- number.set: - number.set:
id: display_brightness id: display_brightness
value: !lambda 'return id(display_brightness_global);' value: !lambda 'return id(display_brightness_global);'
- logger.log: "Nextion start - Set display dim brightness"
- number.set: - number.set:
id: display_dim_brightness id: display_dim_brightness
value: !lambda 'return id(display_dim_brightness_global);' value: !lambda 'return id(display_dim_brightness_global);'
- logger.log: "Nextion start - Update settings page"
- lambda: id(disp1).set_component_text_printf("settings.a03", "%i", id(display_brightness_global)); - lambda: id(disp1).set_component_text_printf("settings.a03", "%i", id(display_brightness_global));
- lambda: id(disp1).set_component_text_printf("settings.a04", "%i", id(display_dim_brightness_global)); - lambda: id(disp1).set_component_text_printf("settings.a04", "%i", id(display_dim_brightness_global));
- lambda: id(disp1).send_command_printf("settings.brightslider.val=%i", id(display_brightness_global)); - lambda: id(disp1).send_command_printf("settings.brightslider.val=%i", id(display_brightness_global));
- lambda: id(disp1).send_command_printf("settings.dimslider.val=%i", id(display_dim_brightness_global)); - lambda: id(disp1).send_command_printf("settings.dimslider.val=%i", id(display_dim_brightness_global));
- lambda: id(disp1).send_command_printf("home.sleepmodus.val=%i", id(sleep_mode_global)); - if:
- lambda: id(disp1).set_component_value("settings.a02", id(sleep_mode_global) == 1); condition:
switch.is_off: sleep_mode
then: *sleep_mode-turn_off
else: *sleep_mode-turn_on
- delay: 1s - delay: 1s
- logger.log: "Nextion start - Inform Home Assistant display is ready"
- binary_sensor.template.publish: - binary_sensor.template.publish:
id: nextion_init id: nextion_init
state: true state: true
- logger.log: "Nextion start - Done!"
### Script for page_timer ### Script for page_timer
script: script: