diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index 7b74f4b..b67bfe8 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -815,7 +815,7 @@ blueprint: description: > *HOME page* - *activate QR Code page and QR Code Button on the home page* ' + *activate QR Code page and QR Code Button on the home page* selector: boolean: qrcode_label: @@ -3588,6 +3588,7 @@ variables: set_entity: 'esphome.{{ nspanel_name }}_set_entity' set_climate: 'esphome.{{ nspanel_name }}_set_climate' global_settings: 'esphome.{{ nspanel_name }}_global_settings' + alarm_settings: 'esphome.{{ nspanel_name }}_alarm_settings' icon: domain: automation: "\uF6FC" #F6FC @@ -3675,6 +3676,7 @@ variables: - "entitypage02" - "entitypage03" - "entitypage04" + alarm: "alarm" ##### MUI Multilingual User Interface ##### language_tmp: !input 'language' @@ -3738,6 +3740,13 @@ variables: please_confirm: Моля, потвърдете unavailable: Недостъпен no_name: Няма име + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm cs: #Czech weekdays: mon: Pondělí @@ -3795,6 +3804,13 @@ variables: please_confirm: Potvrďte prosím unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm da: #Danish weekdays: mon: Mandag @@ -3852,6 +3868,13 @@ variables: please_confirm: Bekræft venligst unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm de: #German weekdays: mon: Montag @@ -3909,6 +3932,13 @@ variables: please_confirm: Bitte bestätigen unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm el: #Greek weekdays: mon: Δευτέρα @@ -3966,6 +3996,13 @@ variables: please_confirm: Παρακαλώ επιβεβαιώστε unavailable: Μη διαθέσιμο no_name: Χωρίς όνομα + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm en: #English weekdays: mon: Monday @@ -4023,6 +4060,13 @@ variables: please_confirm: Please confirm unavailable: Unavailable no_name: No name + alarm: + home: Home + away: Away + night: Night + vacation: Vacation + bypass: Bypass + disarm: Disarm es: #Spanish weekdays: mon: Lunes @@ -4080,6 +4124,13 @@ variables: please_confirm: Por favor, confirme unavailable: No disponible no_name: Sin nombre + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm et: #Estonian weekdays: mon: Esmaspäev @@ -4137,6 +4188,13 @@ variables: please_confirm: Palun kinnitage unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm fi: #Finnish weekdays: mon: Maanantai @@ -4194,6 +4252,13 @@ variables: please_confirm: Vahvista unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm fr: #French weekdays: mon: Lundi @@ -4251,6 +4316,13 @@ variables: please_confirm: Veuillez confirmer unavailable: Indisponible no_name: Sans nom + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm he: #Hebrew weekdays: mon: ינש @@ -4308,6 +4380,13 @@ variables: please_confirm: רשא השקבב unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm hr: #Croatian weekdays: mon: Ponedjeljak @@ -4365,6 +4444,13 @@ variables: please_confirm: Molim potvrdite unavailable: Nedostupno no_name: Bez imena + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm hu: #Hungarian weekdays: mon: Hétfő @@ -4422,6 +4508,13 @@ variables: please_confirm: Kérjük, erősítse meg unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm id: #Indonesian weekdays: mon: Senin @@ -4479,6 +4572,13 @@ variables: please_confirm: Mohon konfirmasi unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm it: #Italian weekdays: mon: Lunedì @@ -4536,6 +4636,13 @@ variables: please_confirm: Confermare unavailable: Unavailable no_name: No name + alarm: + home: Casa + away: Completo + night: Notte + vacation: Vacanza + bypass: Bypass + disarm: Disarmato lt: #Lithuanian weekdays: mon: Pirmadienis @@ -4593,6 +4700,13 @@ variables: please_confirm: Prašome patvirtinti unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm lv: #Latvian weekdays: mon: Pirmdiena @@ -4650,6 +4764,13 @@ variables: please_confirm: Lūdzu, apstipriniet unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm nb: #Norwegian weekdays: mon: Mandag @@ -4707,6 +4828,13 @@ variables: please_confirm: Vennligst bekreft unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm nl: #Dutch weekdays: mon: Maandag @@ -4764,6 +4892,13 @@ variables: please_confirm: Bevestig alstublieft unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm pl: #Polish weekdays: mon: Poniedziałek @@ -4821,6 +4956,13 @@ variables: please_confirm: Proszę o potwierdzenie unavailable: Niedostępny no_name: Bez nazwy + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm pt: #Portuguese weekdays: mon: Segunda-feira @@ -4878,6 +5020,13 @@ variables: please_confirm: Confirme, por favor unavailable: Indisponível no_name: Sem nome + alarm: + home: Em casa + away: Ausente + night: Noturno + vacation: Férias + bypass: bypass + disarm: Desarmar ro: #Romanian weekdays: mon: Luni @@ -4935,6 +5084,13 @@ variables: please_confirm: Vă rugăm să confirmați unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm ru: #Russian weekdays: mon: Понедельник @@ -4992,6 +5148,13 @@ variables: please_confirm: Пожалуйста, подтвердите unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm sk: #Slovak weekdays: mon: Pondelok @@ -5049,6 +5212,13 @@ variables: please_confirm: Potvrďte, prosím unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm sl: #Slovenian weekdays: mon: Ponedeljek @@ -5106,6 +5276,13 @@ variables: please_confirm: Prosimo, potrdite unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm sv: #Swedish weekdays: mon: Måndag @@ -5163,6 +5340,13 @@ variables: please_confirm: Vänligen bekräfta unavailable: Otillgänglig no_name: Inget namn + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm tr: #Turkish weekdays: mon: Pazartesi @@ -5220,6 +5404,13 @@ variables: please_confirm: Lütfen onaylayın unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm uk: #Ukrainian weekdays: mon: Понеділок @@ -5277,6 +5468,13 @@ variables: please_confirm: Будь ласка, підтвердіть unavailable: Unavailable no_name: No name + alarm: + home: home + away: away + night: night + vacation: vacation + bypass: bypass + disarm: disarm ##### WEATHER #### weather_entity_tmp: !input 'weather_entity' # used only during the creation of weather in variables @@ -5313,10 +5511,10 @@ variables: color_rgb: "on": !input 'home_button06_icon_color' "off": "" # NOT IN USE - - icon: "" # NOT IN USE + - icon: "mdi:shield-home" # ALARM color_rgb: - "on": "" # NOT IN USE - "off": "" # NOT IN USE + "on": [248, 0, 0] # red: "63488" + "off": [255, 255, 255] # white: "65535" general: outdoor_temp: label: @@ -5376,6 +5574,7 @@ variables: indoortemp: !input 'indoortemp' climate: !input 'climate' embedded_climate: '{{ climate == thermostat_embedded }}' + alarm: !input 'alarm' relay_1_local_fallback: !input 'relay_1_local_fallback' relay_2_local_fallback: !input 'relay_2_local_fallback' @@ -6189,6 +6388,12 @@ action: }} embedded_climate: '{{ embedded_climate }}' wakeup_page: '{{ wakeup_page }}' + alarm_state: > + {{ + states(alarm) | default("") + if alarm is string and alarm | length > 0 + else "" + }} continue_on_error: true - *delay-default @@ -7472,6 +7677,38 @@ action: continue_on_error: true - *delay-default + ## PAGE ALARM ## + - alias: Alarm settings page + conditions: '{{ nspanel_event.page == page.alarm }}' + sequence: &refresh_page_alarm + - variables: #https://github.com/home-assistant/core/blob/dev/homeassistant/components/alarm_control_panel/const.py + alarm: + state: '{{ states(nspanel_event.entity) | default("unavailable") }}' + friendly_name: '{{ state_attr(nspanel_event.entity, "friendly_name") }}' + supported_features: '{{ state_attr(nspanel_event.entity, "supported_features") | int(0) }}' + code_format: '{{ state_attr(nspanel_event.entity, "code_format") }}' + icon: > + {% set icon_attr = state_attr(nspanel_event.entity, "icon") | default("") %} + {{ + all_icons[icon_attr.split(":")[1]] | default(all_icons.shield) + if + icon_attr not in ["unavailable", "unknown", "", None] + and icon_attr is string + and icon_attr.split(":") | count > 0 + else all_icons.shield + }} + - condition: '{{ alarm.supported_features > 0 }}' + ### DEBUG - Service to set alarm page + - service: '{{ nextion.command.alarm_settings }}' + data: + page_icon: '{{ alarm.icon }}' + page_title: '{{ alarm.friendly_name }}' + state: '{{ alarm.supported_features }}' + supported_features: '{{ alarm.supported_features }}' + code_format: '{{ alarm.code_format }}' + entity: '{{ nspanel_event.entity }}' + continue_on_error: true + ## PAGE CLIMATE ## - alias: Climate page conditions: '{{ nspanel_event.page == page.climate }}' @@ -8674,7 +8911,7 @@ action: - condition: or conditions: - '{{ nspanel_event.page in page.buttonpages }}' - - '{{ nspanel_event.page in [page.light, page.cover, page.climate, page.fan] }}' + - '{{ nspanel_event.page in [page.light, page.cover, page.climate, page.fan, page.alarm] }}' sequence: - choose: @@ -8714,6 +8951,11 @@ action: - '{{ nspanel_event.page == page.fan }}' - '{{ trigger.entity_id is match "fan." }}' sequence: *refresh_page_fan + - alias: 'Alarm page' + conditions: + - '{{ nspanel_event.page == page.alarm }}' + - '{{ trigger.entity_id is match "alarm_control_panel." }}' + sequence: *refresh_page_alarm ##### UPDATE ENTITY PAGES ##### - alias: 'Update entity pages' diff --git a/nspanel_esphome.yaml b/nspanel_esphome.yaml index 3e6b217..3794ed3 100644 --- a/nspanel_esphome.yaml +++ b/nspanel_esphome.yaml @@ -9,7 +9,6 @@ ##### ADVANCED CONFIGURATION - activate only when you know what you do ############################## substitutions: verbose_log: "false" - baud_rate: "115200" # requires 115200 if tft is installed but can be changed to 9600 if tft upload fails and nextion switches to 9600 # ## 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. @@ -107,7 +106,7 @@ ota: ##### LOGGER ##### logger: baud_rate: 0 - # level: WARN + #level: INFO ##### CONFIGURE INTERNAL BUZZER ##### output: @@ -126,7 +125,7 @@ rtttl: uart: tx_pin: 16 rx_pin: 17 - baud_rate: ${baud_rate} + baud_rate: 115200 id: tf_uart # debug: # direction: BOTH @@ -190,8 +189,7 @@ button: ##### START - API CONFIGURATION ##### api: id: api_server - ##### advanced config - activate to use api_password ##### - # password: ${api_password} + services: ##### SERVICE TO UPDATE THE HMI FILE ############## @@ -265,7 +263,7 @@ api: then: - wait_until: binary_sensor.is_on: nextion_init - - lambda: 'id(disp1).show_component("255");' + - lambda: id(disp1).show_component("255"); ##### Service to send a command "font color" directly to the display ##### - service: send_command_font_color @@ -507,17 +505,24 @@ api: time_color: int embedded_climate: bool wakeup_page: int + alarm_state: string then: ## Logs - lambda: |- if (${verbose_log}) { ESP_LOGD("global_settings", "relay1_local_control: %i", (relay1_local_control) ? 1 : 0); + ESP_LOGD("global_settings", "relay1_icon: %s", relay1_icon.c_str()); + ESP_LOGD("global_settings", "relay1_icon_color: %i", relay1_icon_color); ESP_LOGD("global_settings", "relay2_local_control: %i", (relay2_local_control) ? 1 : 0); + ESP_LOGD("global_settings", "relay2_icon: %s", relay2_icon.c_str()); + ESP_LOGD("global_settings", "relay2_icon_color: %i", relay2_icon_color); ESP_LOGD("global_settings", "date_color: %i", date_color); ESP_LOGD("global_settings", "time_format: %s", time_format.c_str()); ESP_LOGD("global_settings", "time_color: %i", time_color); ESP_LOGD("global_settings", "embedded_climate: %i", (embedded_climate and not (${embedded_thermostat_disabled})) ? 1 : 0); + ESP_LOGD("global_settings", "wakeup_page: %i", wakeup_page); + ESP_LOGD("global_settings", "alarm_state: %s", alarm_state.c_str()); } ## Relays @@ -540,6 +545,9 @@ api: ## Embedded thermostat - lambda: id(is_embedded_thermostat) = (embedded_climate and not (${embedded_thermostat_disabled})); + ## Alarm button + - lambda: id(home_alarm) = (alarm_state != "" and not alarm_state.empty()); + ## Wakeup page - lambda: id(wakeup_page_id) = wakeup_page; @@ -551,6 +559,35 @@ api: - script.execute: id: update_page_home + #### Service to populate the alarm settings page ##### + - service: alarm_settings + variables: + page_icon: string + page_title: string + state: string + supported_features: int + code_format: string + entity: string + then: + - if: + condition: + - binary_sensor.is_on: nextion_init + - text_sensor.state: # Is alarm page visible? + id: current_page + state: 'alarm' + then: + # Log + - lambda: |- + if (${verbose_log}) + { + ESP_LOGD("service.alarm_settings", "page_icon: %s", page_icon.c_str()); + ESP_LOGD("service.alarm_settings", "page_title: %s", page_title.c_str()); + ESP_LOGD("service.alarm_settings", "state: %s", state.c_str()); + ESP_LOGD("service.alarm_settings", "supported_features: %i", supported_features); + ESP_LOGD("service.alarm_settings", "code_format: %s", code_format.c_str()); + ESP_LOGD("service.alarm_settings", "entity: %s", entity.c_str()); + } + ##### START - GLOBALS CONFIGURATION ##### globals: @@ -630,6 +667,12 @@ globals: restore_value: true initial_value: '0' + ##### Alarm is set ##### + - id: home_alarm + type: bool + restore_value: false + initial_value: 'false' + ##### START - BINARY SENSOR CONFIGURATION ##### binary_sensor: @@ -716,8 +759,8 @@ binary_sensor: icon: mdi:tablet-dashboard ##### API connection status - - platform: status - name: ${device_name} Status + - name: ${device_name} Status + platform: status id: api_status on_state: then: @@ -937,7 +980,7 @@ text_sensor: resp_kv.key = "entity_id"; resp_kv.value = entity; resp.data.push_back(resp_kv); - resp_kv.key = "pin"; // DEBUG + resp_kv.key = "pin"; // DEBUG resp_kv.value = value; resp.data.push_back(resp_kv); id(api_server).send_homeassistant_service_call(resp); @@ -1026,15 +1069,14 @@ switch: platform: template id: notification_unread entity_category: config - restore_state: true optimistic: true + restore_mode: RESTORE_DEFAULT_ON ##### Notification sound ##### - name: ${device_name} Notification sound platform: template id: notification_sound entity_category: config - restore_state: true optimistic: true restore_mode: RESTORE_DEFAULT_OFF @@ -1043,7 +1085,7 @@ switch: platform: template id: confirmation_message entity_category: config - restore_state: false + restore_mode: RESTORE_DEFAULT_OFF optimistic: true ##### PHYSICAL SWITCH 1 ##### @@ -1080,7 +1122,6 @@ switch: id: sleep_mode entity_category: config restore_mode: RESTORE_DEFAULT_OFF - restore_state: true optimistic: false turn_on_action: &sleep_mode-turn_on - logger.log: "Sleep mode - Turn on" @@ -1102,7 +1143,6 @@ switch: platform: template id: relay1_local entity_category: config - restore_state: true optimistic: true restore_mode: RESTORE_DEFAULT_OFF internal: true @@ -1114,7 +1154,6 @@ switch: platform: template id: relay2_local entity_category: config - restore_state: true optimistic: true restore_mode: RESTORE_DEFAULT_OFF internal: true @@ -1128,14 +1167,12 @@ switch: platform: template id: relay1_fallback entity_category: config - restore_state: true optimistic: true restore_mode: RESTORE_DEFAULT_OFF - name: ${device_name} Relay 2 Local Fallback platform: template id: relay2_fallback entity_category: config - restore_state: true optimistic: true restore_mode: RESTORE_DEFAULT_OFF @@ -1214,27 +1251,22 @@ display: platform: nextion uart_id: tf_uart tft_url: ${nextion_update_url} + on_page: # I couldn't make this trigger to work, so used text_sensor nspanelevent and localevent instead + - logger.log: "DEBUG - NEXTION PAGE CHANGED" on_setup: then: - - logger.log: "Nextion start - Jump to 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.5_dev"); ### esphome-version ### - - logger.log: "Nextion start - Wait for Home Assistant API" - wait_until: 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()); - delay: 1s - - logger.log: "Nextion start - Set display brigntess" - number.set: id: display_brightness value: !lambda 'return id(display_brightness_global);' - - logger.log: "Nextion start - Set display dim brightness" - number.set: id: display_dim_brightness 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.a04", "%i", id(display_dim_brightness_global)); - lambda: id(disp1).send_command_printf("settings.brightslider.val=%i", id(display_brightness_global)); @@ -1245,17 +1277,14 @@ display: then: *sleep_mode-turn_off else: *sleep_mode-turn_on - delay: 1s - - logger.log: "Nextion start - Inform Home Assistant display is ready" - binary_sensor.template.publish: id: nextion_init state: true - - logger.log: "Nextion start - Prepare home page" - script.execute: id: refresh_colors - lambda: id(home_relay1_icon) = "\uE3A5"; - lambda: id(home_relay1_icon) = "\uE3A8"; - logger.log: "Nextion start - Done!" - #on_page: # Couldn't make this trigger to work, so used text_sensor nspanelevent and localevent instead ### Script for page_timer script: @@ -1443,7 +1472,7 @@ script: break; case 3: //CLIMATE_MODE_HEAT id(disp1).set_component_text_printf("home.icon_top_03", "%s", "\uE237"); - id(disp1).set_component_font_color("home.icon_top_03", 35921); + id(disp1).set_component_font_color("home.icon_top_03", 64164); break; case 4: //CLIMATE_MODE_FAN_ONLY id(disp1).set_component_text_printf("home.icon_top_03", "%s", "\uE20F"); @@ -1499,15 +1528,15 @@ script: condition: api.connected: then: - - lambda: id(disp1).set_component_value("home.api",1); + - lambda: id(disp1).set_component_value("api",1); - lambda: id(disp1).set_component_text_printf("home.wifi_icon", "%s", "\uE5A8"); - lambda: id(disp1).set_component_font_color("home.wifi_icon", 33808); else: - - lambda: id(disp1).set_component_value("home.api",0); + - lambda: id(disp1).set_component_value("api",0); - lambda: id(disp1).set_component_text_printf("home.wifi_icon", "%s", "\uF256"); - lambda: id(disp1).set_component_font_color("home.wifi_icon", 63488); else: - - lambda: id(disp1).set_component_value("home.api",0); + - lambda: id(disp1).set_component_value("api",0); - lambda: id(disp1).set_component_text_printf("home.wifi_icon", "%s", "\uE5A9"); - lambda: id(disp1).set_component_font_color("home.wifi_icon", 63488); @@ -1533,6 +1562,18 @@ script: // Update home.entity variable if (id(is_embedded_thermostat) and not (${embedded_thermostat_disabled})) id(disp1).set_component_text_printf("home.entity", "embedded_climate"); else id(disp1).set_component_text_printf("home.entity", ""); + // Show alarm button + if (id(home_alarm)) + { + id(disp1).set_component_text_printf("button07_icon", "\uECCB"); + id(disp1).show_component("button07"); + id(disp1).show_component("button07_icon"); + } + else + { + id(disp1).hide_component("button07"); + id(disp1).hide_component("button07_icon"); + } - id: update_page_climate mode: restart diff --git a/nspanel_eu.HMI b/nspanel_eu.HMI index 90146fd..167d7dd 100644 Binary files a/nspanel_eu.HMI and b/nspanel_eu.HMI differ diff --git a/nspanel_eu.tft b/nspanel_eu.tft index e32dffc..bd38033 100644 Binary files a/nspanel_eu.tft and b/nspanel_eu.tft differ diff --git a/nspanel_eu_code/Program.s.txt b/nspanel_eu_code/Program.s.txt index c76d01f..e9fd6eb 100644 --- a/nspanel_eu_code/Program.s.txt +++ b/nspanel_eu_code/Program.s.txt @@ -4,9 +4,10 @@ Program.s int r=0,g=0,b=0 int h=0,s=0,v=0 int p=0,q=0,t=0,f=0 + int api=0 // 0 = disconnected from HA, 1 = connected to HA bauds=115200//Configure baudrat - recmod=0//Serial data parsing mode:0-Passive mode;1-Active mod - printh 00 00 00 ff ff ff 88 ff ff ff//Output power on information to serial pore + recmod=0//Serial data parsing mode:0-Passive mode;1-Active mode + printh 00 00 00 ff ff ff 88 ff ff ff//Output power on information to serial port lcd_dev fffb 0002 0000 0020// Fix touch offset for EU Version printh 92 prints "nspanelevent",0 diff --git a/nspanel_eu_code/notification.txt b/nspanel_eu_code/notification.txt index 17ea873..2ceff2a 100644 --- a/nspanel_eu_code/notification.txt +++ b/nspanel_eu_code/notification.txt @@ -13,7 +13,7 @@ Page notification Events Preinitialize Event dim=home.brightness.val - if(home.api.val==0) + if(api==0) { page home }else diff --git a/nspanel_eu_code/pics/button_amber.png b/nspanel_eu_code/pics/button_amber.png new file mode 100644 index 0000000..e6d24ae Binary files /dev/null and b/nspanel_eu_code/pics/button_amber.png differ diff --git a/nspanel_eu_code/pics/button_green.png b/nspanel_eu_code/pics/button_green.png new file mode 100644 index 0000000..3ab4886 Binary files /dev/null and b/nspanel_eu_code/pics/button_green.png differ diff --git a/nspanel_eu_code/pics/button_grey_super_light.png b/nspanel_eu_code/pics/button_grey_super_light.png new file mode 100644 index 0000000..5f813b2 Binary files /dev/null and b/nspanel_eu_code/pics/button_grey_super_light.png differ diff --git a/nspanel_eu_code/pics/button_white.png b/nspanel_eu_code/pics/button_white.png new file mode 100644 index 0000000..3f56d7a Binary files /dev/null and b/nspanel_eu_code/pics/button_white.png differ diff --git a/nspanel_eu_code/qrcode.txt b/nspanel_eu_code/qrcode.txt index 12ecdfb..8fc2ff0 100644 --- a/nspanel_eu_code/qrcode.txt +++ b/nspanel_eu_code/qrcode.txt @@ -13,7 +13,7 @@ Page qrcode Events Preinitialize Event dim=home.brightness.val - if(home.api.val==0) + if(api==0) { page home }else diff --git a/nspanel_us.HMI b/nspanel_us.HMI index 6475fd0..b602d8c 100644 Binary files a/nspanel_us.HMI and b/nspanel_us.HMI differ diff --git a/nspanel_us.tft b/nspanel_us.tft index 01dc86c..53694b0 100644 Binary files a/nspanel_us.tft and b/nspanel_us.tft differ diff --git a/nspanel_us_code/Program.s.txt b/nspanel_us_code/Program.s.txt index 3829088..a79f803 100644 --- a/nspanel_us_code/Program.s.txt +++ b/nspanel_us_code/Program.s.txt @@ -4,9 +4,10 @@ Program.s int r=0,g=0,b=0 int h=0,s=0,v=0 int p=0,q=0,t=0,f=0 + int api=0 // 0 = disconnected from HA, 1 = connected to HA bauds=115200//Configure baudrat - recmod=0//Serial data parsing mode:0-Passive mode;1-Active mod - printh 00 00 00 ff ff ff 88 ff ff ff//Output power on information to serial pore + recmod=0//Serial data parsing mode:0-Passive mode;1-Active mode + printh 00 00 00 ff ff ff 88 ff ff ff//Output power on information to serial port printh 92 prints "nspanelevent",0 printh 00 diff --git a/nspanel_us_code/qrcode.txt b/nspanel_us_code/qrcode.txt index 12ecdfb..8fc2ff0 100644 --- a/nspanel_us_code/qrcode.txt +++ b/nspanel_us_code/qrcode.txt @@ -13,7 +13,7 @@ Page qrcode Events Preinitialize Event dim=home.brightness.val - if(home.api.val==0) + if(api==0) { page home }else