Merge pull request #189 from Blackymas/beta

Release - v.3.0.0
This commit is contained in:
Blackymas
2023-01-15 10:23:49 +01:00
committed by GitHub
5 changed files with 1179 additions and 563 deletions

View File

@@ -1,5 +1,6 @@
# NSPanel Custom with HA Blueprint # NSPanel Custom with HA Blueprint
[![Paypal](https://user-images.githubusercontent.com/41958506/212499642-b2fd097a-0938-4bfc-b37b-74df64592c58.png)](https://www.paypal.com/donate/?hosted_button_id=S974SWQMB8PB2)
[![Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.](https://my.home-assistant.io/badges/blueprint_import.svg)](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2FBlackymas%2FNSPanel_HA_Blueprint%2Fblob%2Fmain%2Fnspanel_blueprint.yaml) [![Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.](https://my.home-assistant.io/badges/blueprint_import.svg)](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2FBlackymas%2FNSPanel_HA_Blueprint%2Fblob%2Fmain%2Fnspanel_blueprint.yaml)

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -125,6 +125,14 @@ api:
then: then:
- lambda: 'id(disp1)->upload_tft();' - lambda: 'id(disp1)->upload_tft();'
##### SERVICE TO UPDATE THE TFT FILE from URL #####
- service: upload_tft_url
variables:
url: string
then:
- lambda: 'id(disp1)->set_tft_url(url.c_str());'
- lambda: 'id(disp1)->upload_tft();'
##### Service to send a command "printf" directly to the display ##### ##### Service to send a command "printf" directly to the display #####
- service: send_command_printf - service: send_command_printf
variables: variables:
@@ -179,6 +187,7 @@ api:
- wait_until: - wait_until:
switch.is_on: nextion_init switch.is_on: nextion_init
- lambda: 'id(disp1).set_component_font_color(component.c_str(), message);' - lambda: 'id(disp1).set_component_font_color(component.c_str(), message);'
##### Service to send a command "background color" directly to the display ##### ##### Service to send a command "background color" directly to the display #####
- service: send_command_background_color - service: send_command_background_color
variables: variables:
@@ -189,6 +198,46 @@ api:
switch.is_on: nextion_init switch.is_on: nextion_init
- lambda: 'id(disp1).set_component_background_color(component.c_str(), message);' - lambda: 'id(disp1).set_component_background_color(component.c_str(), message);'
##### Service to show a notification-message on the screen #####
- service: notification_show
variables:
label: string
text: string
then:
- wait_until:
switch.is_on: nextion_init
- lambda: |-
id(disp1).send_command_printf("page notification");
id(disp1).set_component_text_printf("notification.notifi_label", "%s", label.c_str());
id(disp1).set_component_text_printf("notification.notifi_text01", "%s", text.c_str());
id(notification_label).publish_state(label.c_str());
id(notification_text).publish_state(text.c_str());
- switch.turn_on: notification_unread
- if:
condition:
switch.is_on: notification_sound
then:
- rtttl.play: "two short:d=4,o=5,b=100:16e6,16e6"
##### Service to clear the notification #####
- service: notification_clear
then:
- wait_until:
switch.is_on: nextion_init
- lambda: |-
id(notification_label).publish_state("");
id(notification_text).publish_state("");
- switch.turn_off: notification_unread
##### Service to play a rtttl tones #####
# Example tones : https://codebender.cc/sketch:109888#RTTTL%20Songs.ino
- service: play_rtttl
variables:
song_str: string
then:
- rtttl.play:
rtttl: !lambda 'return song_str;'
#### Service to send thermostat cycle state #### #### Service to send thermostat cycle state ####
- service: send_thermostat_cycle_state - service: send_thermostat_cycle_state
variables: variables:
@@ -404,7 +453,7 @@ binary_sensor:
number: 27 number: 27
inverted: true inverted: true
##### Restart NSPanel Button ##### ##### Restart NSPanel Button - Setting Page #####
- platform: nextion - platform: nextion
name: ${device_name} Restart name: ${device_name} Restart
page_id: 7 page_id: 7
@@ -413,6 +462,15 @@ binary_sensor:
on_click: on_click:
- button.press: restart_nspanel - button.press: restart_nspanel
##### Restart NSPanel Button - Boot Page #####
- platform: nextion
name: ${device_name} Restart
page_id: 8
component_id: 5
internal: true
on_click:
- button.press: restart_nspanel
##### Sleep Modus NSPanel Button ##### ##### Sleep Modus NSPanel Button #####
- platform: nextion - platform: nextion
name: ${device_name} Sleep Modus name: ${device_name} Sleep Modus
@@ -472,11 +530,11 @@ sensor:
reference_resistance: 10kOhm reference_resistance: 10kOhm
filters: filters:
- lambda: return x + id(temperature_correction_global); - lambda: return x + id(temperature_correction_global);
on_value: # on_value:
then: # then:
- wait_until: # - wait_until:
switch.is_on: nextion_init # switch.is_on: nextion_init
- lambda: id(disp1).set_component_text_printf("home.current_temp", "%.1f°", id(temp_nspanel).state); # onboard temp (thermostat temp) to home page. # - lambda: id(disp1).set_component_text_printf("home.current_temp", "%.1f°", id(temp_nspanel).state); # onboard temp (thermostat temp) to home page.
# - lambda: id(disp1).set_component_text_printf("climate.current_temp", "%.1f", id(temp_nspanel).state); # - lambda: id(disp1).set_component_text_printf("climate.current_temp", "%.1f", id(temp_nspanel).state);
##### current value of page-climate target_temp ##### ##### current value of page-climate target_temp #####
@@ -549,6 +607,14 @@ text_sensor:
name: ${device_name} BSSID name: ${device_name} BSSID
disabled_by_default: true disabled_by_default: true
- platform: template
name: ${device_name} Notification Label
id: notification_label
- platform: template
name: ${device_name} Notification Text
id: notification_text
##### last click sensor, the main action variable - push to HA ##### ##### last click sensor, the main action variable - push to HA #####
- platform: nextion - platform: nextion
nextion_id: disp1 nextion_id: disp1
@@ -675,9 +741,33 @@ switch:
assumed_state: off assumed_state: off
optimistic: true optimistic: true
##### Notification unread #####
- platform: template
name: ${device_name} Notification unread
id: notification_unread
entity_category: config
restore_state: true
optimistic: true
##### Notification sound #####
- platform: template
name: ${device_name} Notification sound
id: notification_sound
entity_category: config
restore_state: true
optimistic: true
##### Confirmation Message #####
- platform: template
name: ${device_name} Confirmation Message
id: confirmation_message
entity_category: config
restore_state: false
optimistic: true
##### UPDATE TFT DISPLAY ##### ##### UPDATE TFT DISPLAY #####
- platform: template - platform: template
name: Update TFT display name: ${device_name} Update TFT display
id: tft_update id: tft_update
entity_category: config entity_category: config
turn_on_action: turn_on_action:
@@ -799,17 +889,10 @@ display:
tft_url: ${nextion_update_url} tft_url: ${nextion_update_url}
on_setup: on_setup:
then: then:
- lambda: id(disp1).send_command_printf("page 9"); ##### CHANGE! - Loading page ##### - lambda: id(disp1).send_command_printf("page 8");
- wait_until: - wait_until:
api.connected api.connected
- delay: 0.5s - delay: 0.5s
- rtttl.play: "two short:d=4,o=5,b=100:16e6,16e6"
- delay: 0.5s
- switch.template.publish:
id: nextion_init
state: on
- lambda: id(disp1).send_command_printf("page 0"); #### home page #####
- delay: 2s ##### gives the display time to update other components & set the home page #####
- number.set: - number.set:
id: display_brightness id: display_brightness
value: !lambda 'return id(display_brightness_global);' value: !lambda 'return id(display_brightness_global);'
@@ -827,3 +910,7 @@ display:
{ {
id(disp1).set_component_value("settings.a02",1); id(disp1).set_component_value("settings.a02",1);
} }
- delay: 0.5s
- switch.template.publish:
id: nextion_init
state: on