Compare commits
288 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
787f337220 | ||
|
|
44aaea74ec | ||
|
|
4a346ce2d2 | ||
|
|
4ead4382a2 | ||
|
|
1e64e134f9 | ||
|
|
68190ece4b | ||
|
|
81d0bcf304 | ||
|
|
94364d711e | ||
|
|
2953942fbd | ||
|
|
51173352d2 | ||
|
|
1bec2b1160 | ||
|
|
4921453a1b | ||
|
|
95a4447eeb | ||
|
|
350b3f4ca7 | ||
|
|
a8172a1b06 | ||
|
|
df10d09736 | ||
|
|
4f31326b8e | ||
|
|
f0e557b5e4 | ||
|
|
80d19b1da1 | ||
|
|
df0855862f | ||
|
|
d23fe9616c | ||
|
|
76fee43d3b | ||
|
|
e8fd5e2020 | ||
|
|
89faeb3ec1 | ||
|
|
a006af2654 | ||
|
|
4ea23c7cf5 | ||
|
|
1e7ead8e46 | ||
|
|
d88290474e | ||
|
|
75f17f0d3e | ||
|
|
8a21f88df9 | ||
|
|
5a01431670 | ||
|
|
7c90677d99 | ||
|
|
fe65530eb5 | ||
|
|
ecd806b1c5 | ||
|
|
72e59947b6 | ||
|
|
8869eb2f67 | ||
|
|
c7c54261cb | ||
|
|
27185ea88c | ||
|
|
bfe2c65bfd | ||
|
|
45dafc3d0d | ||
|
|
c9c31bba57 | ||
|
|
485e5cc8d2 | ||
|
|
175c927ee8 | ||
|
|
4392bf251b | ||
|
|
9616ea4c8f | ||
|
|
2a9162e809 | ||
|
|
df976b0a90 | ||
|
|
220b5fb02b | ||
|
|
a0a0d16af7 | ||
|
|
f97b298d00 | ||
|
|
6feba8a56d | ||
|
|
0ff61a2e4a | ||
|
|
aee6e7bb57 | ||
|
|
602a58cc40 | ||
|
|
5e45641687 | ||
|
|
8b2beec50c | ||
|
|
3278de673a | ||
|
|
3cf5fb3eeb | ||
|
|
d53a34b83f | ||
|
|
e4f0dba8fa | ||
|
|
3ea33a6dfa | ||
|
|
6b11ffb7cf | ||
|
|
3047204272 | ||
|
|
61af338a96 | ||
|
|
729414944b | ||
|
|
22dbd2814b | ||
|
|
44836d1e4d | ||
|
|
881c50dd1f | ||
|
|
ce7dfb1423 | ||
|
|
c45bd4057f | ||
|
|
3401340563 | ||
|
|
7f7d496beb | ||
|
|
c7ec9f97b7 | ||
|
|
3c58a29e73 | ||
|
|
7fd5658630 | ||
|
|
81f6783ca1 | ||
|
|
cf430fc1a8 | ||
|
|
7f6c9c696b | ||
|
|
7580a38b4f | ||
|
|
14532444bc | ||
|
|
f2a424027d | ||
|
|
f038eaed87 | ||
|
|
3f00773927 | ||
|
|
7e63a4cb18 | ||
|
|
e6fd475947 | ||
|
|
1869f8023d | ||
|
|
860f5ddbba | ||
|
|
218ef94c9c | ||
|
|
730e0acd99 | ||
|
|
c8afa129b5 | ||
|
|
ee0c21128d | ||
|
|
1aed46b71f | ||
|
|
4e38a928fc | ||
|
|
d58ba87dbb | ||
|
|
640e245cf8 | ||
|
|
f056dace88 | ||
|
|
3211f44770 | ||
|
|
bd5b1303f2 | ||
|
|
8ff0cad379 | ||
|
|
fdcd37c6d0 | ||
|
|
6a464325d7 | ||
|
|
3af0c20670 | ||
|
|
7ee10d4ca6 | ||
|
|
884c8d91e6 | ||
|
|
07b8e99b01 | ||
|
|
d74b70f864 | ||
|
|
e70fcd54eb | ||
|
|
ea5b80e3b8 | ||
|
|
b5cd83240f | ||
|
|
7d241d1400 | ||
|
|
ee2e1d53d2 | ||
|
|
36e0344345 | ||
|
|
eb6eebfd46 | ||
|
|
0de7850c39 | ||
|
|
5f1d2b9d10 | ||
|
|
0abd5531cb | ||
|
|
0fdcd088ec | ||
|
|
29df75263b | ||
|
|
5035b89956 | ||
|
|
9de5abff25 | ||
|
|
a113e0cd43 | ||
|
|
a2f5e69b76 | ||
|
|
0e41a87659 | ||
|
|
f6a6a7adb0 | ||
|
|
8abfee7b54 | ||
|
|
70038014a2 | ||
|
|
268c6a7e23 | ||
|
|
133165e79e | ||
|
|
99f2b2815d | ||
|
|
d6f0958652 | ||
|
|
6704e320da | ||
|
|
d0d09b93a4 | ||
|
|
155ab33086 | ||
|
|
55ed836400 | ||
|
|
6ac6a25803 | ||
|
|
26844cd290 | ||
|
|
7dc0f49809 | ||
|
|
71cd913135 | ||
|
|
dfa3ee901a | ||
|
|
f7131aaca0 | ||
|
|
fefb1374fd | ||
|
|
8f5165bd1b | ||
|
|
94a51da6fe | ||
|
|
e422a158ca | ||
|
|
b43d83291b | ||
|
|
e751938cdd | ||
|
|
b8321807dc | ||
|
|
3a42c12c00 | ||
|
|
d552fb458b | ||
|
|
a7b96d8582 | ||
|
|
18f188bb32 | ||
|
|
f44d3fd8d1 | ||
|
|
a0b8697a4f | ||
|
|
de8f463968 | ||
|
|
6642a46a04 | ||
|
|
0b856cbb83 | ||
|
|
e41c02e883 | ||
|
|
6f3dc4a010 | ||
|
|
d46eecc57c | ||
|
|
7223103905 | ||
|
|
547338c5b1 | ||
|
|
811aca8cfa | ||
|
|
0465a9eb8b | ||
|
|
45907e1ce5 | ||
|
|
3ff82ef8cd | ||
|
|
5f6cc373fe | ||
|
|
4801f6c6b9 | ||
|
|
02b4f6e178 | ||
|
|
b0161d41f8 | ||
|
|
d1702ccacf | ||
|
|
281be927a7 | ||
|
|
c352047991 | ||
|
|
c058fd4fb1 | ||
|
|
e4e5cb0f51 | ||
|
|
da611e384a | ||
|
|
5292bbff8b | ||
|
|
a22311c4e8 | ||
|
|
0d250fb56b | ||
|
|
5ba5d2fb08 | ||
|
|
51170c514d | ||
|
|
53cf4f1371 | ||
|
|
6ab6892f5b | ||
|
|
a38948ad2f | ||
|
|
0f56e859db | ||
|
|
365f863fc2 | ||
|
|
cf2e648a21 | ||
|
|
b7c077faad | ||
|
|
44d65c3cd7 | ||
|
|
069cece05e | ||
|
|
276524686a | ||
|
|
a46b3ad20b | ||
|
|
295096a9d7 | ||
|
|
0c6b994161 | ||
|
|
63e1ab4947 | ||
|
|
9ec2bac284 | ||
|
|
6fdbec1486 | ||
|
|
f11215c097 | ||
|
|
7ec5bb6a04 | ||
|
|
aae9bd8d8a | ||
|
|
cdf980ee8f | ||
|
|
7b23050791 | ||
|
|
faaa698e46 | ||
|
|
4b5c10a68e | ||
|
|
b00720d465 | ||
|
|
c4cf3049b2 | ||
|
|
f7e76bdbd8 | ||
|
|
4294fb39b2 | ||
|
|
eb2f810161 | ||
|
|
17e11063e3 | ||
|
|
70e2f724f7 | ||
|
|
f3787c812a | ||
|
|
a056a13f0b | ||
|
|
13d5b7a1d2 | ||
|
|
2c8a45153b | ||
|
|
be12633af1 | ||
|
|
81e4149b11 | ||
|
|
4b98f4a80a | ||
|
|
d83f37962d | ||
|
|
33b0d0674a | ||
|
|
b7f2c18c85 | ||
|
|
cda0e0c1d6 | ||
|
|
42eb9b5d71 | ||
|
|
35be40fb93 | ||
|
|
1d5c40d7a8 | ||
|
|
c1ea2e1810 | ||
|
|
f9562d495a | ||
|
|
58ad89ee4e | ||
|
|
b4a0800929 | ||
|
|
e27c92ef0e | ||
|
|
936c152ca6 | ||
|
|
fadd725662 | ||
|
|
ab5d30d0ce | ||
|
|
12ecc30e1f | ||
|
|
985cf69f0b | ||
|
|
ffa9deaf54 | ||
|
|
8613208b5f | ||
|
|
7b1bbb704a | ||
|
|
5acbdef022 | ||
|
|
96f855e930 | ||
|
|
c504ade7d4 | ||
|
|
5941b6dab4 | ||
|
|
33416b498c | ||
|
|
beb8941c80 | ||
|
|
33d8487adf | ||
|
|
cb5e9a2afe | ||
|
|
802a089c16 | ||
|
|
edad480e4f | ||
|
|
6181cbca97 | ||
|
|
572fb9e934 | ||
|
|
52dabed6ee | ||
|
|
d12d8fbd86 | ||
|
|
b0d57e63e3 | ||
|
|
baf3ff4e95 | ||
|
|
c061c0bae1 | ||
|
|
797c7d1a32 | ||
|
|
b1b63b11cd | ||
|
|
2ac8305eff | ||
|
|
eb9d9e0f1e | ||
|
|
9a1b447087 | ||
|
|
7fb8480138 | ||
|
|
ad26272524 | ||
|
|
147cf0f497 | ||
|
|
fa08f6b54a | ||
|
|
0f2d5fbd29 | ||
|
|
d645f4c02e | ||
|
|
f0af3f1562 | ||
|
|
b78699c9d5 | ||
|
|
c3f2ddd499 | ||
|
|
6f962ebfd0 | ||
|
|
7f768ced45 | ||
|
|
37e287d253 | ||
|
|
298e67a29d | ||
|
|
f1af69581e | ||
|
|
351b84ad96 | ||
|
|
e050bce77e | ||
|
|
01de27059d | ||
|
|
7407a2841b | ||
|
|
2f1a947cfc | ||
|
|
f26e5e33cc | ||
|
|
5a040cbd8e | ||
|
|
d2c383ef82 | ||
|
|
ffc89d07e9 | ||
|
|
2bae66f6fe | ||
|
|
09aaabf4c5 | ||
|
|
5de8c739f8 | ||
|
|
1220715e9b | ||
|
|
8cb194b3b9 | ||
|
|
dd4f6c3b9e |
13
.github/FUNDING.yml
vendored
Normal file
13
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# These are supported funding model platforms
|
||||||
|
|
||||||
|
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||||
|
patreon: # Replace with a single Patreon username
|
||||||
|
open_collective: # Replace with a single Open Collective username
|
||||||
|
ko_fi: # Replace with a single Ko-fi username
|
||||||
|
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||||
|
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||||
|
liberapay: # Replace with a single Liberapay username
|
||||||
|
issuehunt: # Replace with a single IssueHunt username
|
||||||
|
otechie: # Replace with a single Otechie username
|
||||||
|
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
||||||
|
custom: https://www.paypal.com/donate/?hosted_button_id=S974SWQMB8PB2
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,6 @@
|
|||||||
# Ignore Mac DS_Store files
|
# Ignore Mac DS_Store files
|
||||||
.DS_Store
|
.DS_Store
|
||||||
**/.DS_Store
|
**/.DS_Store
|
||||||
|
|
||||||
|
# Ignore IntelliJ IDEA project directory
|
||||||
|
.idea
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# NSPanel Custom with HA Blueprint
|
# NSPanel Custom with HA Blueprint
|
||||||
|
|
||||||
|
*You use our NSPanel version and are satisfied with it? Then we would be very happy about a donation to support our project.*
|
||||||
|
|
||||||
[](https://www.paypal.com/donate/?hosted_button_id=S974SWQMB8PB2)
|
[](https://www.paypal.com/donate/?hosted_button_id=S974SWQMB8PB2)
|
||||||
|
|
||||||
[](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2FBlackymas%2FNSPanel_HA_Blueprint%2Fblob%2Fmain%2Fnspanel_blueprint.yaml)
|
[](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2FBlackymas%2FNSPanel_HA_Blueprint%2Fblob%2Fmain%2Fnspanel_blueprint.yaml)
|
||||||
@@ -14,7 +16,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l
|
|||||||
|
|
||||||
📕 Full documentation and installation is available here [NSPanel Configuration, Setup and HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki).
|
📕 Full documentation and installation is available here [NSPanel Configuration, Setup and HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki).
|
||||||
|
|
||||||
📌 Step by Step - [Setup Video](https://www.youtube.com/watch?v=3afPFg6kUdc)
|
📌 Step by Step - [Setup and Overview Video´s](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki)
|
||||||
|
|
||||||
🚀 How to create "Issues" when I have a problem [WIKI HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki)
|
🚀 How to create "Issues" when I have a problem [WIKI HowTo](https://github.com/Blackymas/NSPanel_HA_Blueprint/wiki)
|
||||||
|
|
||||||
@@ -27,7 +29,8 @@ The goal was to create a version that allows everyone to use the NSpanel fully l
|
|||||||
🙋 WE ARE LOOKING FOR YOU! _**We are always looking for people who would like to support this project. We are looking for help with "programming new features, writing documentation or translating documentation to EN. If you are interested then please contact us :)**_
|
🙋 WE ARE LOOKING FOR YOU! _**We are always looking for people who would like to support this project. We are looking for help with "programming new features, writing documentation or translating documentation to EN. If you are interested then please contact us :)**_
|
||||||
|
|
||||||
## NSPanel:
|
## NSPanel:
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||
|
|||||||
BIN
custom_configuration/OLD NSPanel version/OLD_nspanel_blank.tft
Normal file
BIN
custom_configuration/OLD NSPanel version/OLD_nspanel_blank.tft
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
custom_configuration/nspanel_blank.HMI
Normal file
BIN
custom_configuration/nspanel_blank.HMI
Normal file
Binary file not shown.
Binary file not shown.
10541
nspanel_blueprint.yaml
10541
nspanel_blueprint.yaml
File diff suppressed because it is too large
Load Diff
@@ -49,15 +49,19 @@ wifi:
|
|||||||
password: ${wifi_password}
|
password: ${wifi_password}
|
||||||
|
|
||||||
##### Functionality for the Nextion display #####
|
##### Functionality for the Nextion display #####
|
||||||
external_components:
|
# external_components:
|
||||||
- source: github://pr#2956
|
# - source: github://pr#2956
|
||||||
components: [nextion]
|
# components: [nextion]
|
||||||
refresh: 1h
|
# refresh: 1h
|
||||||
|
|
||||||
##### ESPHOME CONFIGURATION #####
|
##### ESPHOME CONFIGURATION #####
|
||||||
esphome:
|
esphome:
|
||||||
name: ${device_name}
|
name: ${device_name}
|
||||||
min_version: 2022.10.2
|
min_version: 2022.10.2
|
||||||
|
on_boot:
|
||||||
|
priority: 601
|
||||||
|
then:
|
||||||
|
- lambda: id(disp1).send_command_printf("DRAKJHSUYDGBNCJHGJKSHBDN");
|
||||||
|
|
||||||
##### TYPE OF ESP BOARD #####
|
##### TYPE OF ESP BOARD #####
|
||||||
esp32:
|
esp32:
|
||||||
@@ -107,12 +111,22 @@ uart:
|
|||||||
baud_rate: 115200
|
baud_rate: 115200
|
||||||
id: tf_uart
|
id: tf_uart
|
||||||
|
|
||||||
###### REBOOT BUTTON #####
|
##### START - BUTTON CONFIGURATION #####
|
||||||
button:
|
button:
|
||||||
|
###### REBOOT BUTTON #####
|
||||||
- platform: restart
|
- platform: restart
|
||||||
name: ${device_name} Restart
|
name: ${device_name} Restart
|
||||||
id: restart_nspanel
|
id: restart_nspanel
|
||||||
|
|
||||||
|
##### UPDATE TFT DISPLAY #####
|
||||||
|
- platform: template
|
||||||
|
name: ${device_name} Update TFT display
|
||||||
|
icon: mdi:file-sync
|
||||||
|
id: tft_update
|
||||||
|
entity_category: config
|
||||||
|
on_press:
|
||||||
|
- delay: 16ms
|
||||||
|
- lambda: id(disp1).upload_tft();
|
||||||
|
|
||||||
##### START - API CONFIGURATION #####
|
##### START - API CONFIGURATION #####
|
||||||
api:
|
api:
|
||||||
@@ -161,7 +175,7 @@ api:
|
|||||||
- lambda: 'id(disp1).set_component_value(component.c_str(), message);'
|
- lambda: 'id(disp1).set_component_value(component.c_str(), message);'
|
||||||
|
|
||||||
##### Service to send a command "hide componente" directly to the display #####
|
##### Service to send a command "hide componente" directly to the display #####
|
||||||
- service: send_command_hide
|
- service: send_command_hide ### unused ###
|
||||||
variables:
|
variables:
|
||||||
component: string
|
component: string
|
||||||
then:
|
then:
|
||||||
@@ -170,7 +184,7 @@ api:
|
|||||||
- lambda: 'id(disp1).hide_component(component.c_str());'
|
- lambda: 'id(disp1).hide_component(component.c_str());'
|
||||||
|
|
||||||
##### Service to send a command "show componente" directly to the display #####
|
##### Service to send a command "show componente" directly to the display #####
|
||||||
- service: send_command_show
|
- service: send_command_show ### unused ###
|
||||||
variables:
|
variables:
|
||||||
component: string
|
component: string
|
||||||
then:
|
then:
|
||||||
@@ -178,6 +192,13 @@ api:
|
|||||||
switch.is_on: nextion_init
|
switch.is_on: nextion_init
|
||||||
- lambda: 'id(disp1).show_component(component.c_str());'
|
- lambda: 'id(disp1).show_component(component.c_str());'
|
||||||
|
|
||||||
|
##### Service to send a command "show ALL componente" directly to the display #####
|
||||||
|
- service: send_command_show_all ### unused ###
|
||||||
|
then:
|
||||||
|
- wait_until:
|
||||||
|
switch.is_on: nextion_init
|
||||||
|
- lambda: 'id(disp1).show_component("255");'
|
||||||
|
|
||||||
##### Service to send a command "font color" directly to the display #####
|
##### Service to send a command "font color" directly to the display #####
|
||||||
- service: send_command_font_color
|
- service: send_command_font_color
|
||||||
variables:
|
variables:
|
||||||
@@ -229,6 +250,16 @@ api:
|
|||||||
id(notification_text).publish_state("");
|
id(notification_text).publish_state("");
|
||||||
- switch.turn_off: notification_unread
|
- switch.turn_off: notification_unread
|
||||||
|
|
||||||
|
##### Service to set entity-information for settings-page(s)
|
||||||
|
- service: set_settings_entity
|
||||||
|
variables:
|
||||||
|
entity: string
|
||||||
|
then:
|
||||||
|
- wait_until:
|
||||||
|
switch.is_on: nextion_init
|
||||||
|
- lambda: |-
|
||||||
|
id(settings_entity).publish_state(entity.c_str());
|
||||||
|
|
||||||
##### Service to play a rtttl tones #####
|
##### Service to play a rtttl tones #####
|
||||||
# Example tones : https://codebender.cc/sketch:109888#RTTTL%20Songs.ino
|
# Example tones : https://codebender.cc/sketch:109888#RTTTL%20Songs.ino
|
||||||
- service: play_rtttl
|
- service: play_rtttl
|
||||||
@@ -238,6 +269,17 @@ api:
|
|||||||
- rtttl.play:
|
- rtttl.play:
|
||||||
rtttl: !lambda 'return song_str;'
|
rtttl: !lambda 'return song_str;'
|
||||||
|
|
||||||
|
# Service to show a QR code on the display (ex. for WiFi password)
|
||||||
|
- service: qr_code
|
||||||
|
variables:
|
||||||
|
qrdata: string
|
||||||
|
then:
|
||||||
|
- wait_until:
|
||||||
|
switch.is_on: nextion_init
|
||||||
|
- lambda: |-
|
||||||
|
id(disp1).send_command_printf("page qrcode");
|
||||||
|
id(disp1).set_component_text_printf("qrcode.qrcode_value", "%s", qrdata.c_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:
|
||||||
@@ -247,126 +289,12 @@ api:
|
|||||||
switch.is_on: nextion_init
|
switch.is_on: nextion_init
|
||||||
- lambda: |-
|
- lambda: |-
|
||||||
//ESP_LOGD("nextion", "thermostat sendig value %f", value);
|
//ESP_LOGD("nextion", "thermostat sendig value %f", value);
|
||||||
int left=16; // 16 is empty left.
|
int v = int(2 * std::min(std::max(value - 13.5, 0.0), 5.0));
|
||||||
int mid=17; // 17 is empty mid.
|
int left = v + (v ? 19 : 16); // 16 is empty left.
|
||||||
int right=18; // 18 is empty right.
|
v = int(2 * std::min(std::max(value - 18.0, 0.0), 4.0));
|
||||||
if (value < 13.5) {
|
int mid = v + (v ? 29 : 17); // 17 is empty mid.
|
||||||
left=16;
|
v = int(2 * std::min(std::max(value - 21.5, 0.0), 5.5));
|
||||||
mid=17;
|
int right = v + (v ? 37 : 18); // 18 is empty right.
|
||||||
right=18;
|
|
||||||
} else if (value >= 13.5 and value < 14) {
|
|
||||||
left=19;
|
|
||||||
mid=17;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 14 and value < 14.5) {
|
|
||||||
left=20;
|
|
||||||
mid=17;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 14.5 and value < 15) {
|
|
||||||
left=21;
|
|
||||||
mid=17;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 15 and value < 15.5) {
|
|
||||||
left=22;
|
|
||||||
mid=17;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 15.5 and value < 16) {
|
|
||||||
left=23;
|
|
||||||
mid=17;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 16 and value < 16.5) {
|
|
||||||
left=24;
|
|
||||||
mid=17;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 16.5 and value < 17) {
|
|
||||||
left=25;
|
|
||||||
mid=17;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 17 and value < 17.5) {
|
|
||||||
left=26;
|
|
||||||
mid=17;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 17.5 and value < 18) {
|
|
||||||
left=27;
|
|
||||||
mid=17;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 18 and value < 18.5) {
|
|
||||||
left=28;
|
|
||||||
mid=17;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 18.5 and value < 19) {
|
|
||||||
left=29;
|
|
||||||
mid=30;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 19 and value < 19.5) {
|
|
||||||
left=29;
|
|
||||||
mid=31;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 19.5 and value < 20) {
|
|
||||||
left=29;
|
|
||||||
mid=32;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 20 and value < 20.5) {
|
|
||||||
left=29;
|
|
||||||
mid=33;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 20.5 and value < 21) {
|
|
||||||
left=29;
|
|
||||||
mid=34;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 21 and value < 21.5) {
|
|
||||||
left=29;
|
|
||||||
mid=35;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 21.5 and value < 22) {
|
|
||||||
left=29;
|
|
||||||
mid=36;
|
|
||||||
right=18;
|
|
||||||
} else if (value >= 22 and value < 22.5) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=38;
|
|
||||||
} else if (value >= 22.5 and value < 23) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=39;
|
|
||||||
} else if (value >= 23 and value < 23.5) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=40;
|
|
||||||
} else if (value >= 23.5 and value < 24) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=41;
|
|
||||||
} else if (value >= 24 and value < 24.5) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=42;
|
|
||||||
} else if (value >= 24.5 and value < 25) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=43;
|
|
||||||
} else if (value >= 25 and value < 25.5) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=44;
|
|
||||||
} else if (value >= 25.5 and value < 26) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=45;
|
|
||||||
} else if (value >= 26 and value < 26.5) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=46;
|
|
||||||
} else if (value >= 26.5 and value < 27) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=47;
|
|
||||||
} else if (value >= 27) {
|
|
||||||
left=29;
|
|
||||||
mid=37;
|
|
||||||
right=48;
|
|
||||||
}
|
|
||||||
// sends the 3 images to the display
|
// sends the 3 images to the display
|
||||||
//ESP_LOGD("nextion", "thermostat left %i", left);
|
//ESP_LOGD("nextion", "thermostat left %i", left);
|
||||||
//ESP_LOGD("nextion", "thermostat mid %i", mid);
|
//ESP_LOGD("nextion", "thermostat mid %i", mid);
|
||||||
@@ -378,6 +306,41 @@ api:
|
|||||||
id(disp1).set_component_text_printf("target_temp", "%.1f°", value);
|
id(disp1).set_component_text_printf("target_temp", "%.1f°", value);
|
||||||
id(display_target_temp).publish_state(value);
|
id(display_target_temp).publish_state(value);
|
||||||
|
|
||||||
|
#### Service to set the buttons ####
|
||||||
|
- service: set_button
|
||||||
|
variables:
|
||||||
|
btn_id: string
|
||||||
|
btn_pic: int
|
||||||
|
btn_bg: int
|
||||||
|
btn_icon_font: int
|
||||||
|
btn_txt_font: int
|
||||||
|
btn_bri_font: int
|
||||||
|
btn_icon: string
|
||||||
|
btn_label: string
|
||||||
|
btn_bri_txt: string
|
||||||
|
then:
|
||||||
|
- wait_until:
|
||||||
|
switch.is_on: nextion_init
|
||||||
|
- lambda: |-
|
||||||
|
// ESP_LOGD("nextion", "set button %s", btn_id.c_str());
|
||||||
|
std::string btnicon = btn_id.c_str() + std::string("icon");
|
||||||
|
std::string btntext = btn_id.c_str() + std::string("text");
|
||||||
|
std::string btnbri = btn_id.c_str() + std::string("bri");
|
||||||
|
id(disp1).send_command_printf("%spic.pic=%i", btn_id.c_str(), btn_pic);
|
||||||
|
id(disp1).set_component_background_color(btnicon.c_str(), btn_bg);
|
||||||
|
id(disp1).set_component_background_color(btntext.c_str(), btn_bg);
|
||||||
|
id(disp1).set_component_background_color(btnbri.c_str(), btn_bg);
|
||||||
|
id(disp1).set_component_font_color(btnicon.c_str(), btn_icon_font);
|
||||||
|
id(disp1).set_component_font_color(btntext.c_str(), btn_txt_font);
|
||||||
|
id(disp1).set_component_font_color(btnbri.c_str(), btn_bri_font);
|
||||||
|
id(disp1).set_component_text_printf(btnicon.c_str(), "%s", btn_icon.c_str());
|
||||||
|
id(disp1).set_component_text_printf(btntext.c_str(), "%s", btn_label.c_str());
|
||||||
|
// id(disp1).set_component_text_printf(btnbri.c_str(), "%s", btn_bri_txt.c_str());
|
||||||
|
if (strcmp(btn_bri_txt.c_str(), "0") != 0) {
|
||||||
|
id(disp1).set_component_text_printf(btnbri.c_str(), "%s", btn_bri_txt.c_str());
|
||||||
|
} else {
|
||||||
|
id(disp1).set_component_text_printf(btnbri.c_str(), " ");
|
||||||
|
}
|
||||||
|
|
||||||
##### START - GLOBALS CONFIGURATION #####
|
##### START - GLOBALS CONFIGURATION #####
|
||||||
globals:
|
globals:
|
||||||
@@ -430,7 +393,7 @@ globals:
|
|||||||
restore_value: no
|
restore_value: no
|
||||||
initial_value: ''
|
initial_value: ''
|
||||||
|
|
||||||
##### lastclick_ccurrentpage State #####
|
##### lastclick_currentpage State #####
|
||||||
- id: currentpage_global
|
- id: currentpage_global
|
||||||
type: std::string
|
type: std::string
|
||||||
restore_value: no
|
restore_value: no
|
||||||
@@ -442,22 +405,75 @@ binary_sensor:
|
|||||||
###### LEFT BUTTON BELOW DISPLAY TO TOGGLE RELAY#####
|
###### LEFT BUTTON BELOW DISPLAY TO TOGGLE RELAY#####
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: ${device_name} Left Button
|
name: ${device_name} Left Button
|
||||||
|
id: left_button
|
||||||
pin:
|
pin:
|
||||||
number: 14
|
number: 14
|
||||||
inverted: true
|
inverted: true
|
||||||
|
on_click:
|
||||||
|
then:
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
and:
|
||||||
|
- switch.is_on: relay1_fallback
|
||||||
|
- not:
|
||||||
|
api.connected:
|
||||||
|
then:
|
||||||
|
- switch.toggle: relay_1
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
switch.is_on: relay_1
|
||||||
|
then:
|
||||||
|
- lambda: id(disp1).send_command_printf("home.left_bt_pic.pic=78");
|
||||||
|
- lambda: id(disp1).send_command_printf("home.icon_top_01","\U0000E3A5");
|
||||||
|
else:
|
||||||
|
- lambda: id(disp1).send_command_printf("home.left_bt_pic.pic=77");
|
||||||
|
- lambda: id(disp1).send_command_printf("home.icon_top_01","\U0000FFFF");
|
||||||
|
|
||||||
|
|
||||||
##### RIGHT BUTTON BELOW DISPLAY TO TOGGLE RELAY #####
|
##### RIGHT BUTTON BELOW DISPLAY TO TOGGLE RELAY #####
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: ${device_name} Right Button
|
name: ${device_name} Right Button
|
||||||
|
id: right_button
|
||||||
pin:
|
pin:
|
||||||
number: 27
|
number: 27
|
||||||
inverted: true
|
inverted: true
|
||||||
|
on_click:
|
||||||
|
then:
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
and:
|
||||||
|
- switch.is_on: relay2_fallback
|
||||||
|
- not:
|
||||||
|
api.connected:
|
||||||
|
then:
|
||||||
|
- switch.toggle: relay_2
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
switch.is_on: relay_2
|
||||||
|
then:
|
||||||
|
- lambda: id(disp1).send_command_printf("home.right_bt_pic.pic=78");
|
||||||
|
- lambda: id(disp1).send_command_printf("home.icon_top_02","\U0000E3A8");
|
||||||
|
else:
|
||||||
|
- lambda: id(disp1).send_command_printf("home.right_bt_pic.pic=77");
|
||||||
|
- lambda: id(disp1).send_command_printf("home.icon_top_02","\U0000FFFF");
|
||||||
|
|
||||||
|
##### JUMP PAGE TO SETTING PAGE #####
|
||||||
|
- platform: nextion
|
||||||
|
name: $device_name setting page
|
||||||
|
page_id: 0
|
||||||
|
component_id: 52
|
||||||
|
internal: true
|
||||||
|
on_multi_click:
|
||||||
|
- timing:
|
||||||
|
- ON for at least 1s #LONG Press
|
||||||
|
then:
|
||||||
|
- lambda: 'id(disp1).send_command_printf("page settings");'
|
||||||
|
|
||||||
##### Restart NSPanel Button - Setting Page #####
|
##### Restart NSPanel Button - Setting Page #####
|
||||||
- platform: nextion
|
- platform: nextion
|
||||||
name: ${device_name} Restart
|
name: ${device_name} Restart
|
||||||
page_id: 7
|
page_id: 7
|
||||||
component_id: 9
|
component_id: 13
|
||||||
internal: true
|
internal: true
|
||||||
on_click:
|
on_click:
|
||||||
- button.press: restart_nspanel
|
- button.press: restart_nspanel
|
||||||
@@ -466,7 +482,7 @@ binary_sensor:
|
|||||||
- platform: nextion
|
- platform: nextion
|
||||||
name: ${device_name} Restart
|
name: ${device_name} Restart
|
||||||
page_id: 8
|
page_id: 8
|
||||||
component_id: 5
|
component_id: 4
|
||||||
internal: true
|
internal: true
|
||||||
on_click:
|
on_click:
|
||||||
- button.press: restart_nspanel
|
- button.press: restart_nspanel
|
||||||
@@ -475,7 +491,7 @@ binary_sensor:
|
|||||||
- platform: nextion
|
- platform: nextion
|
||||||
name: ${device_name} Sleep Modus
|
name: ${device_name} Sleep Modus
|
||||||
page_id: 7
|
page_id: 7
|
||||||
component_id: 4
|
component_id: 14
|
||||||
internal: true
|
internal: true
|
||||||
on_click:
|
on_click:
|
||||||
- switch.toggle: sleep_modus
|
- switch.toggle: sleep_modus
|
||||||
@@ -504,22 +520,30 @@ sensor:
|
|||||||
- platform: wifi_signal
|
- platform: wifi_signal
|
||||||
name: ${device_name} RSSI
|
name: ${device_name} RSSI
|
||||||
update_interval: 60s
|
update_interval: 60s
|
||||||
|
on_value:
|
||||||
|
- if:
|
||||||
|
condition:
|
||||||
|
wifi.connected:
|
||||||
|
then:
|
||||||
|
- lambda: id(disp1).set_component_text_printf("home.wifi_icon", "%s", "\U0000E5A8");
|
||||||
|
else:
|
||||||
|
- lambda: id(disp1).set_component_text_printf("home.wifi_icon", "%s", "\U0000FFFF");
|
||||||
|
|
||||||
##### INTERNAL TEMPERATUE SENSOR, ADC VALUE #####
|
##### INTERNAL TEMPERATURE SENSOR, ADC VALUE #####
|
||||||
- platform: adc
|
- platform: adc
|
||||||
id: ntc_source
|
id: ntc_source
|
||||||
pin: 38
|
pin: 38
|
||||||
update_interval: 10s
|
update_interval: 60s
|
||||||
attenuation: 11db
|
attenuation: 11db
|
||||||
|
|
||||||
##### INTERNAL TEMPERATUE SENSOR, adc reading converted to resistance (calculation)#####
|
##### INTERNAL TEMPERATURE SENSOR, adc reading converted to resistance (calculation)#####
|
||||||
- platform: resistance
|
- platform: resistance
|
||||||
id: resistance_sensor
|
id: resistance_sensor
|
||||||
sensor: ntc_source
|
sensor: ntc_source
|
||||||
configuration: DOWNSTREAM
|
configuration: DOWNSTREAM
|
||||||
resistor: 11.2kOhm
|
resistor: 11.2kOhm
|
||||||
|
|
||||||
##### INTERNAL TEMPERATUE SENSOR, resistance to temperature (calculation) #####
|
##### INTERNAL TEMPERATURE SENSOR, resistance to temperature (calculation) #####
|
||||||
- platform: ntc
|
- platform: ntc
|
||||||
name: ${device_name} Temperature
|
name: ${device_name} Temperature
|
||||||
id: temp_nspanel
|
id: temp_nspanel
|
||||||
@@ -600,6 +624,7 @@ text_sensor:
|
|||||||
ip_address:
|
ip_address:
|
||||||
name: ${device_name} IP
|
name: ${device_name} IP
|
||||||
disabled_by_default: true
|
disabled_by_default: true
|
||||||
|
id: ip_address
|
||||||
ssid:
|
ssid:
|
||||||
name: ${device_name} SSID
|
name: ${device_name} SSID
|
||||||
disabled_by_default: true
|
disabled_by_default: true
|
||||||
@@ -615,6 +640,10 @@ text_sensor:
|
|||||||
name: ${device_name} Notification Text
|
name: ${device_name} Notification Text
|
||||||
id: notification_text
|
id: notification_text
|
||||||
|
|
||||||
|
- platform: template
|
||||||
|
name: ${device_name} Settings Entity
|
||||||
|
id: settings_entity
|
||||||
|
|
||||||
##### 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
|
||||||
@@ -635,6 +664,8 @@ text_sensor:
|
|||||||
- globals.set:
|
- globals.set:
|
||||||
id: lastclick_general_global
|
id: lastclick_general_global
|
||||||
value: !lambda return x;
|
value: !lambda return x;
|
||||||
|
- lambda: |-
|
||||||
|
id(page_timer)->execute(int(id(page_timeout).state));
|
||||||
|
|
||||||
##### last click lightsettings page, the main action variable - push to HA #####
|
##### last click lightsettings page, the main action variable - push to HA #####
|
||||||
- platform: nextion
|
- platform: nextion
|
||||||
@@ -656,6 +687,8 @@ text_sensor:
|
|||||||
- globals.set:
|
- globals.set:
|
||||||
id: lastclick_lightsettings_global
|
id: lastclick_lightsettings_global
|
||||||
value: !lambda return x;
|
value: !lambda return x;
|
||||||
|
- lambda: |-
|
||||||
|
id(page_timer)->execute(int(id(page_timeout).state));
|
||||||
|
|
||||||
##### last click coversettings page, the main action variable - push to HA #####
|
##### last click coversettings page, the main action variable - push to HA #####
|
||||||
- platform: nextion
|
- platform: nextion
|
||||||
@@ -677,6 +710,8 @@ text_sensor:
|
|||||||
- globals.set:
|
- globals.set:
|
||||||
id: lastclick_coversettings_global
|
id: lastclick_coversettings_global
|
||||||
value: !lambda return x;
|
value: !lambda return x;
|
||||||
|
- lambda: |-
|
||||||
|
id(page_timer)->execute(int(id(page_timeout).state));
|
||||||
|
|
||||||
##### last click climate page, the main action variable - push to HA #####
|
##### last click climate page, the main action variable - push to HA #####
|
||||||
- platform: nextion
|
- platform: nextion
|
||||||
@@ -698,6 +733,8 @@ text_sensor:
|
|||||||
- globals.set:
|
- globals.set:
|
||||||
id: lastclick_climatesettings_global
|
id: lastclick_climatesettings_global
|
||||||
value: !lambda return x;
|
value: !lambda return x;
|
||||||
|
- lambda: |-
|
||||||
|
id(page_timer)->execute(int(id(page_timeout).state));
|
||||||
|
|
||||||
##### currentpage sensor, the main action variable - push to HA #####
|
##### currentpage sensor, the main action variable - push to HA #####
|
||||||
- platform: nextion
|
- platform: nextion
|
||||||
@@ -719,6 +756,32 @@ text_sensor:
|
|||||||
- globals.set:
|
- globals.set:
|
||||||
id: currentpage_global
|
id: currentpage_global
|
||||||
value: !lambda return x;
|
value: !lambda return x;
|
||||||
|
- lambda: |-
|
||||||
|
id(page_timer)->execute(int(id(page_timeout).state));
|
||||||
|
|
||||||
|
|
||||||
|
##### touchevent sensor, Reset the page timeout #####
|
||||||
|
- platform: nextion
|
||||||
|
nextion_id: disp1
|
||||||
|
#name: ${device_name} touchevent
|
||||||
|
id: disp1_touchevent
|
||||||
|
update_interval: 50ms
|
||||||
|
component_name: touchevent
|
||||||
|
internal: true
|
||||||
|
filters:
|
||||||
|
- lambda: |-
|
||||||
|
static std::string touchevent_history = "";
|
||||||
|
if (strcmp(x.c_str(), touchevent_history.c_str()) != 0) {
|
||||||
|
touchevent_history = x;
|
||||||
|
return x;
|
||||||
|
// touchevent_history = "";
|
||||||
|
} else {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
on_value:
|
||||||
|
then:
|
||||||
|
- lambda: |-
|
||||||
|
id(page_timer)->execute(int(id(page_timeout).state));
|
||||||
|
|
||||||
|
|
||||||
##### START - SWITCH CONFIGURATION #####
|
##### START - SWITCH CONFIGURATION #####
|
||||||
@@ -765,16 +828,6 @@ switch:
|
|||||||
restore_state: false
|
restore_state: false
|
||||||
optimistic: true
|
optimistic: true
|
||||||
|
|
||||||
##### UPDATE TFT DISPLAY #####
|
|
||||||
- platform: template
|
|
||||||
name: ${device_name} Update TFT display
|
|
||||||
id: tft_update
|
|
||||||
entity_category: config
|
|
||||||
turn_on_action:
|
|
||||||
- delay: 16ms
|
|
||||||
- lambda: id(disp1).upload_tft();
|
|
||||||
- switch.turn_off: tft_update
|
|
||||||
|
|
||||||
##### PHYSICAL SWITCH 1 #####
|
##### PHYSICAL SWITCH 1 #####
|
||||||
- platform: gpio
|
- platform: gpio
|
||||||
name: ${device_name} Relay 1
|
name: ${device_name} Relay 1
|
||||||
@@ -822,6 +875,20 @@ switch:
|
|||||||
value: '1'
|
value: '1'
|
||||||
- lambda: id(disp1).set_component_value("settings.a02",1);
|
- lambda: id(disp1).set_component_value("settings.a02",1);
|
||||||
|
|
||||||
|
##### Relay Local control Fallback #####
|
||||||
|
- platform: template
|
||||||
|
name: ${device_name} Relay 1 Local Fallback
|
||||||
|
id: relay1_fallback
|
||||||
|
entity_category: config
|
||||||
|
restore_state: true
|
||||||
|
optimistic: true
|
||||||
|
|
||||||
|
- platform: template
|
||||||
|
name: ${device_name} Relay 2 Local Fallback
|
||||||
|
id: relay2_fallback
|
||||||
|
entity_category: config
|
||||||
|
restore_state: true
|
||||||
|
optimistic: true
|
||||||
|
|
||||||
##### START - NUMBER CONFIGURATION #####
|
##### START - NUMBER CONFIGURATION #####
|
||||||
number:
|
number:
|
||||||
@@ -880,6 +947,17 @@ number:
|
|||||||
id: temperature_correction_global
|
id: temperature_correction_global
|
||||||
value: !lambda 'return x;'
|
value: !lambda 'return x;'
|
||||||
|
|
||||||
|
##### page-timeout #####
|
||||||
|
- platform: template
|
||||||
|
name: ${device_name} Page Timeout
|
||||||
|
id: page_timeout
|
||||||
|
entity_category: config
|
||||||
|
min_value: 0
|
||||||
|
max_value: 60
|
||||||
|
initial_value: 10
|
||||||
|
step: 1
|
||||||
|
restore_value: true
|
||||||
|
optimistic: true
|
||||||
|
|
||||||
##### START - DISPLAY START CONFIGURATION #####
|
##### START - DISPLAY START CONFIGURATION #####
|
||||||
display:
|
display:
|
||||||
@@ -890,9 +968,11 @@ display:
|
|||||||
on_setup:
|
on_setup:
|
||||||
then:
|
then:
|
||||||
- lambda: id(disp1).send_command_printf("page 8");
|
- lambda: id(disp1).send_command_printf("page 8");
|
||||||
|
- lambda: id(disp1).set_component_text_printf("boot.esph_version", "%s", "3.2.2"); ### esphome-version ###
|
||||||
- wait_until:
|
- wait_until:
|
||||||
api.connected
|
api.connected
|
||||||
- delay: 0.5s
|
- lambda: id(disp1).set_component_text_printf("boot.ip_addr", "%s", id(ip_address).state.c_str());
|
||||||
|
- delay: 1s
|
||||||
- number.set:
|
- number.set:
|
||||||
id: display_brightness
|
id: display_brightness
|
||||||
value: !lambda 'return id(display_brightness_global);'
|
value: !lambda 'return id(display_brightness_global);'
|
||||||
@@ -904,13 +984,25 @@ display:
|
|||||||
- 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_modus_global));
|
- lambda: id(disp1).send_command_printf("home.sleepmodus.val=%i", id(sleep_modus_global));
|
||||||
- lambda: |-
|
- lambda: id(disp1).set_component_value("settings.a02", id(sleep_modus_global) == 1);
|
||||||
id(disp1).set_component_value("settings.a02",0);
|
- delay: 1s
|
||||||
if (id(sleep_modus_global) == 1)
|
|
||||||
{
|
|
||||||
id(disp1).set_component_value("settings.a02",1);
|
|
||||||
}
|
|
||||||
- delay: 0.5s
|
|
||||||
- switch.template.publish:
|
- switch.template.publish:
|
||||||
id: nextion_init
|
id: nextion_init
|
||||||
state: on
|
state: on
|
||||||
|
|
||||||
|
### Script for page_timer
|
||||||
|
script:
|
||||||
|
- id: page_timer
|
||||||
|
mode: restart
|
||||||
|
parameters:
|
||||||
|
delay: int
|
||||||
|
then:
|
||||||
|
- lambda: ESP_LOGD("nspanel", "start page-timer delay %i", int(id(page_timeout).state));
|
||||||
|
- delay: !lambda return delay *1000;
|
||||||
|
- lambda: |-
|
||||||
|
if (id(disp1_currentpage).state == "home" or id(disp1_currentpage).state == "screensaver" or id(disp1_currentpage).state == "boot" or int(id(page_timeout).state) == 0) {
|
||||||
|
ESP_LOGD("nspanel", "no page-jump");
|
||||||
|
} else {
|
||||||
|
ESP_LOGD("nspanel", "timer->home");
|
||||||
|
id(disp1).send_command_printf("page 0");
|
||||||
|
}
|
||||||
|
|||||||
BIN
nspanel_eu.HMI
Normal file
BIN
nspanel_eu.HMI
Normal file
Binary file not shown.
BIN
nspanel_eu.tft
Normal file
BIN
nspanel_eu.tft
Normal file
Binary file not shown.
BIN
nspanel_us.HMI
Normal file
BIN
nspanel_us.HMI
Normal file
Binary file not shown.
BIN
nspanel_us.tft
Normal file
BIN
nspanel_us.tft
Normal file
Binary file not shown.
Reference in New Issue
Block a user