36 Commits

Author SHA1 Message Date
Blackymas
787f337220 v3.2.2 - fixed some bugs performance improvement
v3.2.2 - fixed some bugs performance improvement
2023-04-04 08:37:14 +02:00
Blackymas
44aaea74ec change weather params
Change order of weather params to fit the screen (#592)
2023-04-04 08:25:30 +02:00
Edward Firmo
4a346ce2d2 Change order of weather params to fit the screen (#592) 2023-04-04 07:11:43 +02:00
Blackymas
4ead4382a2 Merge pull request #591 from Blackymas/dev
fix for wakeup sleep mode
2023-04-03 22:43:19 +02:00
Blackymas
1e64e134f9 fix for wakeup sleep mode 2023-04-03 22:37:57 +02:00
Blackymas
68190ece4b Merge pull request #589 from Blackymas/dev
v.3.2.2 - fixed some bugs
2023-04-03 21:14:34 +02:00
Blackymas
81d0bcf304 change description 2023-04-03 21:13:30 +02:00
Blackymas
94364d711e Merge pull request #585 from Blackymas/dev
v.3.2.2 - fixed some bugs
2023-04-03 16:40:51 +02:00
Chris
2953942fbd Merge pull request #584 from deejaybeam/dev
v3.2.2
2023-04-03 08:28:08 +02:00
Chris
51173352d2 Merge branch 'Blackymas:dev' into dev 2023-04-03 08:26:05 +02:00
Chris
1bec2b1160 upd: v3.2.2 2023-04-03 08:21:35 +02:00
Blackymas
4921453a1b fix variables for v3.2.2 2023-04-02 22:32:42 +02:00
Blackymas
95a4447eeb Update page_id & component_id 2023-04-02 22:30:05 +02:00
deejaybeam
350b3f4ca7 upd: use set_button on all button pages 2023-04-02 08:55:30 +02:00
deejaybeam
a8172a1b06 fix: fallback state 2023-04-02 08:49:02 +02:00
deejaybeam
df10d09736 upd: use current nextion-component 2023-04-01 02:17:04 +02:00
Chris
4f31326b8e Merge pull request #578 from deejaybeam/dev
fix: avoid "0" brightness in some cases
2023-04-01 02:12:20 +02:00
deejaybeam
f0e557b5e4 fix: avoid "0" brightness in some cases 2023-04-01 02:11:00 +02:00
Chris
80d19b1da1 Merge pull request #577 from deejaybeam/dev
upd: service set_button to improve performance
2023-03-31 23:24:33 +02:00
deejaybeam
df0855862f upd: service set_button to improve performance 2023-03-31 23:23:43 +02:00
Edward Firmo
d23fe9616c fix: ignore unassigned indoor sensor
Fix for when sensor is set but unavailable.
2023-03-29 15:49:29 +02:00
Chris
76fee43d3b Merge pull request #561 from deejaybeam/dev
fix: ignore unassigned indoor sensor
2023-03-29 11:01:50 +02:00
deejaybeam
e8fd5e2020 fix: ignore unassigned indoor sensor 2023-03-29 11:00:50 +02:00
Chris
89faeb3ec1 Merge pull request #525 from edwardtfn/patch-19
Code refactoring - Weather & Climate
2023-03-28 22:35:38 +02:00
Chris
a006af2654 Merge pull request #537 from edwardtfn/patch-21
Removing empty sequences
2023-03-28 22:34:07 +02:00
Chris
4ea23c7cf5 Merge pull request #543 from edwardtfn/patch-23
Update clock at the beginning of each minute
2023-03-28 22:33:39 +02:00
Chris
1e7ead8e46 Merge pull request #556 from deejaybeam/dev
fix: typo
2023-03-28 19:16:42 +02:00
deejaybeam
d88290474e fix: typo 2023-03-28 19:11:12 +02:00
Blackymas
75f17f0d3e fix sleep button settings page 2023-03-27 22:05:17 +02:00
Edward Firmo
8a21f88df9 Merge branch 'dev' into patch-19 2023-03-27 00:51:40 +02:00
Edward Firmo
5a01431670 Resolving merging conflicts with #541 2023-03-27 00:46:20 +02:00
Edward Firmo
ecd806b1c5 Update clock at the beginning of each minute
As it is now, using `minutes: "/1"`, the time will update every minute, but that could happen when lots of seconds has passed on that minute, making possible the displayed time to be up to 59s late.
By changing that to `seconds: 0` if forces the update in the same rate, but always in the first second of a minute, keeping the displayed time always updated.
2023-03-26 22:26:55 +02:00
Edward Firmo
4392bf251b Fix variable name hotwater_pic_on -> hotw_bt_on
Trying to avoid merging conflict with #538
2023-03-26 17:54:06 +02:00
Edward Firmo
9616ea4c8f Merging weather01 page into the others
- All the weather pages now shares the same code, increasing standardization
- Support for other forecast parameters when supported by the integration
- Removed empty rows between the forecast parameters
2023-03-26 17:21:10 +02:00
Edward Firmo
2a9162e809 Removing empty sequences
This probably isn't an issue, but a sequence shouldn't be empty.
2023-03-26 16:11:39 +02:00
Edward Firmo
881c50dd1f Code refactoring - Weather & Climate
Code refactoring on Weather and Climate entities/pages in order to make easier to maintain and understand.
2023-03-24 23:52:45 +01:00
6 changed files with 524 additions and 1939 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@
##### ADVANCED CONFIGURATION - activate only when you know what you do ##############################
# substitutions:
# substitutions:
# ## usage of secrets-file ## -> comment in ###### Change ME ######
# device_name: "nspanel-name" # Wird im Blueprint benötigt!
# wifi_ssid: !secret nspanel_wifi_ssid # add in your esphome secrets file.
@@ -36,7 +36,7 @@ wifi:
ssid: ${wifi_ssid}
password: ${wifi_password}
power_save_mode: none
##### advanced config - uncomment to use static IP-Config #####
##### advanced config - uncomment to use static IP-Config #####
# manual_ip:
# static_ip: ${ip}
# gateway: ${gw}
@@ -49,15 +49,19 @@ wifi:
password: ${wifi_password}
##### Functionality for the Nextion display #####
external_components:
- source: github://pr#2956
components: [nextion]
refresh: 1h
# external_components:
# - source: github://pr#2956
# components: [nextion]
# refresh: 1h
##### ESPHOME CONFIGURATION #####
esphome:
name: ${device_name}
min_version: 2022.10.2
on_boot:
priority: 601
then:
- lambda: id(disp1).send_command_printf("DRAKJHSUYDGBNCJHGJKSHBDN");
##### TYPE OF ESP BOARD #####
esp32:
@@ -70,13 +74,13 @@ web_server:
auth:
username: admin
password: ${wifi_password}
##### advanced config - change to use web_password #####
##### advanced config - change to use web_password #####
# password: ${web_password}
##### OTA PASSWORD #####
ota:
password: ${wifi_password}
##### advanced config - change to use ota_password #####
##### advanced config - change to use ota_password #####
# password: ${ota_password}
safe_mode: true
reboot_timeout: 3min
@@ -126,7 +130,7 @@ button:
##### START - API CONFIGURATION #####
api:
##### advanced config - activate to use api_password #####
##### advanced config - activate to use api_password #####
# password: ${api_password}
services:
@@ -142,7 +146,7 @@ api:
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: send_command_printf
variables:
@@ -204,7 +208,7 @@ api:
- wait_until:
switch.is_on: nextion_init
- lambda: 'id(disp1).set_component_font_color(component.c_str(), message);'
##### Service to send a command "background color" directly to the display #####
- service: send_command_background_color
variables:
@@ -263,7 +267,7 @@ api:
song_str: string
then:
- 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
@@ -302,6 +306,41 @@ api:
id(disp1).set_component_text_printf("target_temp", "%.1f°", 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 #####
globals:
@@ -380,13 +419,15 @@ binary_sensor:
api.connected:
then:
- switch.toggle: relay_1
- lambda: id(disp1).send_command_printf("home.icon_top_01.pic=51");
- lambda: id(disp1).send_command_printf("home.left_bt_pic.pic=98");
- if:
condition:
switch.is_on: relay_1
then:
- lambda: id(disp1).send_command_printf("home.icon_top_01.pic=105");
- 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 #####
@@ -406,19 +447,21 @@ binary_sensor:
api.connected:
then:
- switch.toggle: relay_2
- lambda: id(disp1).send_command_printf("home.icon_top_02.pic=51");
- lambda: id(disp1).send_command_printf("home.right_bt_pic.pic=98");
- if:
condition:
switch.is_on: relay_2
then:
- lambda: id(disp1).send_command_printf("home.icon_top_02.pic=106");
- 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: 53
component_id: 52
internal: true
on_multi_click:
- timing:
@@ -430,7 +473,7 @@ binary_sensor:
- platform: nextion
name: ${device_name} Restart
page_id: 7
component_id: 15
component_id: 13
internal: true
on_click:
- button.press: restart_nspanel
@@ -439,7 +482,7 @@ binary_sensor:
- platform: nextion
name: ${device_name} Restart
page_id: 8
component_id: 5
component_id: 4
internal: true
on_click:
- button.press: restart_nspanel
@@ -448,7 +491,7 @@ binary_sensor:
- platform: nextion
name: ${device_name} Sleep Modus
page_id: 7
component_id: 16
component_id: 14
internal: true
on_click:
- switch.toggle: sleep_modus
@@ -538,7 +581,7 @@ sensor:
- number.set:
id: display_brightness
value: !lambda 'return int(x);'
# send text field percentage of current_lightslider_val
# send text field percentage of current_lightslider_val
- lambda: id(disp1).set_component_text_printf("settings.a03", "%i", id(display_brightness_global));
###### Display DIM Brightness GET VALUE FROM NSPanel SLIDER #####
@@ -554,7 +597,7 @@ sensor:
- number.set:
id: display_dim_brightness
value: !lambda 'return int(x);'
# send text field percentage of current_lightslider_val
# send text field percentage of current_lightslider_val
- lambda: id(disp1).set_component_text_printf("settings.a04", "%i", id(display_dim_brightness_global));
###### Send current page to HA
@@ -623,7 +666,7 @@ text_sensor:
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 #####
- platform: nextion
nextion_id: disp1
@@ -741,7 +784,7 @@ text_sensor:
id(page_timer)->execute(int(id(page_timeout).state));
##### START - SWITCH CONFIGURATION #####
##### START - SWITCH CONFIGURATION #####
switch:
# ##### Restart switch ######
@@ -798,7 +841,7 @@ switch:
id: relay_2
pin:
number: 19
##### DISPLAY ALWAYS ON #####
- platform: gpio
name: ${device_name} Screen Power
@@ -832,7 +875,7 @@ switch:
value: '1'
- lambda: id(disp1).set_component_value("settings.a02",1);
##### Relay Local control Fallback #####
##### Relay Local control Fallback #####
- platform: template
name: ${device_name} Relay 1 Local Fallback
id: relay1_fallback
@@ -925,7 +968,7 @@ display:
on_setup:
then:
- lambda: id(disp1).send_command_printf("page 8");
- lambda: id(disp1).set_component_text_printf("boot.esph_version", "%s", "3.2"); ### esphome-version ###
- lambda: id(disp1).set_component_text_printf("boot.esph_version", "%s", "3.2.2"); ### esphome-version ###
- wait_until:
api.connected
- lambda: id(disp1).set_component_text_printf("boot.ip_addr", "%s", id(ip_address).state.c_str());

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.