Support this project
As always, we would like to thank everyone who donated to this project and remind you that every donation helps to support this project - so if you haven't made a donation yet, now would be a good time ;)
General
Big news: v4.0 has finally landed! Here’s the scoop:
🚨 We've added an Alarm control panel – safety first, right?
🎵 The Media Player control is here for all our tunes and binge-watching needs.
🌬️ Dial in your comfort with the new Fan speed and Embedded climate control settings.
Plus, we've beefed up the panel's resilience to those annoying network or server glitches.
Give it a spin and let us know your thoughts. Thanks for being on this journey with us!
Updating
Since in this update lots of input to the blueprint changed, we highly recommend you review your settings and make sure all fields have the correct selection. We did our best to support your legacy settings and avoid breaking your system, but please double check your settings if you see something not working as expected.
Files that need to be reloaded:
- nspanel_blueprint.yaml - v4.0
- nspanel_eu.tft or nspanel_us.tft - v4.0
- nspanel_esphome.yaml - v4.0
Instructions
You can find the update procedures following here:
- (EN) How To - All important thing you should know - Update
- (DE) How To - Alle wichtigen Dinge die man wissen sollte - Update
Enable "Current page" sensor
If have used v3.3 or earlier, and then updated to v3.4, there's a chance the entity sensor.xxxxx_current_page
was disabled. As this entity is used again with v4.0, please go to your panel's page (Settings > Devices and Services > ESPHome) and make sure the sensor "Current page" is enabled.
Breaking changes
- New requirements: Home Assistant and ESPHome v2023.5.0 or later.
- Existing users will have to select again the language for the panel, otherwise English will be used to display strings.
- Removed entity
sensor.xxxxx_settings_entity
and serviceesphome.xxxxx_set_settings_entity
. - Removed entity
sensor.xxxxx_nspanel_event
related to sensor "NSPanel Event". So no more of those ugly json-like strings polluting the device's page.
The sensor "Current page" is back with the information about the page currently visible in your panel, so please update your automation if you are using the event sensor.
Attention!! If you have disabled the entitysensor.xxxxx_current_page
in a previous version you will be required to manually enable it back after the update. - Due to the changes on the time display engine, you might have to select your time format again in the blueprint settings.
- The network settings was moved to under
networks
on thewifi
section. If you are using advanced/custom settings for Wi-Fi on ESPHome, you may have to update it in order to follow the new format. - The sensor "Uptime" is deprecated. It was replaced by "API timestamp" and "Device timestamp" sensors, which makes it more readable to humans on Home Assistant interface and shows respectively the last time the API got connected (between the panel and Home Assistant) and the last time the device started. Thanks to @WZYProjects (#986 and #998) for the new sensors.
- Service
esphome.xxxxx_qr_code
is deprecated. It was replaced by serviceqrcode
which can be used for changing the QRcode value even when the QRcode page is not visible (useful when using dynamic Wi-Fi credentials). - Removed switches "Relay 1 Local Fallback" and "Relay 2 Local Fallback". Now when you assign your panel's relay to it's respective button the control will be fully local and therefore will have the same behavior as the "fallback" in previous versions, and you can still force a fallback in the blueprint settings when you want to have it working locally (to the respective relays) even when the buttons are assigned to other entities.
- The "Hardware button long press hold delay" input was removed and the delay (800ms) is now hard coded in ESPHome.
- The service
esphome.xxxxx_wake_up_display
was deprecated. Please useesphome.xxxxx_wake_up
instead. - The services
esphome.xxxxx_send_command_font_color
andesphome.xxxxx_send_command_background_color
where deprecated. Please useesphome.xxxxx_set_component_color
instead, and you can use RGB arrays forforeground
andbackground
colors, a 1-element array with the Nextion color code or an empty array if you don't want to change that specific parameter. - Old color selection (based in a text input where you typed a number) is being deprecated gradually.
The icons colors selected before the implementation of the color picker (when it was about typing a number) might fail now, so if you haven't done this yet, please select the color using the new color selector. Open the Blueprint and if the colors are shown properly, you are good, otherwise, please select a color. - The panel selection based on a text box (where you manually typed the panel name).
The new device selection was introduce a few releases ago and is more reliable. The previous selections are still valid, but requires extra processing every time the automation is triggered, so it will be removed.
If you can see your device name on the blueprint settings screen, you are good, otherwise, pick your panel from the new drop down list. - The entity
switch.xxxxx_confirmation_message
was removed and now the confirmation is processed directly on the Nextion display. - With the new flows for dimming and sleeping, you might have to adjust the page timeout as this have a slightly different name now.
- The switch "Sleep mode" (
switch.xxxxx_sleep_mode
) was removed and it was replaces by "Timeout sleep" (number.xxxxx_timeout_sleep
) where you can set the time to sleep or 0s to disable the sleep mode.
Overview of all changes
- Add-ons support
- Embedded thermostat (cooler or heater) (#917)
- Alarm control panel
- Support to sensor display precision from Home Assistant (#880)
- Filtered device list (#881)
- New language selector (#882)
- Removed json sensors (#887)
- Support for US model on landscape mode (#890)
- API status indication on the panel (#5ff5d35)
- Light & cover settings pages will show only the supported features (#896)
- New "Fan speed page" (#897)
- Select wake-up page (#898)
- Panel's local control
- New "Confirm" pop-up
- Page "Settings" now supports translations
- Media Player control
- Custom buttons on Home page
- New controls for dimming and sleeping time
Details of all changes
1. Support to add-ons
We are trying to make your panel more useful and more robust by changing some of the functionalities to run internally in the panel, even when the Wi-Fi network or Home Assistant are not available, however, every new functionality takes a bit from the ESP embedded in your panel and increases the complexity, and having a code capable to adapt to all the different user cases will be very complex and certainly will exceed the available memory.
The first add-on available is an embedded thermostat, able to control it locally even when your Wi-Fi is out or Home Assistant is unavailable.
Please refer to the documentation to get more details on how to enable this add-on.
2. Alarm control panel
Now you can control an Alarm Control Panel from your NSPanel, which will allow you to set the alarm mode between the standard modes supported by Home Assistant (Home, Away, Night, Vacation or Custom bypass) or disarm the alarm.
On this first release, only the basic functionality will be available, so please share your ideas for future improvements.
For more details, instructions and security considerations, please take a look at the Alarm Control Panel docs. You may also want to join this discussion about the alarm implementation and some ideas for the future releases.
Important: At this moment, this functionality is available only for alarms without a code or alarms using a numeric code. Alarms with text code are not yet supported.
3. Support to sensor display precision from Home Assistant
Now the values shown in your panel will follow the sensor display precision provided by Home Assistant.
- If you have problems with a value exceeding the available space in your panel, please reduce the number of decimals using Home Assistant sensor display precision.
4. Filtered device list
When selecting the NSPanel on the automation, only ESP32 devices will be shown, making easier to find your panel.
5. New language selector
Starts using the new language selector release with HA 2023.5.0 and based on RFC 5646, which will increase reliability and standardization of the code.
Althougt this is not visible for users at the first view, it will enable the use of more granular language selections (like pt-BR vs pt-PT or en-US vs en-UK) if needed in the future.
- If you are an existing users, please remember to select your language again after the update, as the previous selection will be invalid.
6. Removed json sensors
The entities sensor.xxxxx_settings_entity
and sensor.xxxxx_nspanel_event
, previously used by ESPHome to to transfer information to the Blueprint, like the selected page, buttons pressed, the selected entity on the settings page, etc., together with the service esphome.xxxxx_set_settings_entity
. This mechanism was a bit fragile and not very user friendly.
With this version all that information will be transfered via calls to event esphome.nspanel_ha_blueprint
and the service esphome.xxxxx_open_entity_settings_page
.
Apart of a cleaner device page, this change should be transparent for most users. If you have made automation based on the removed elements, please update it using the new service and sensor.xxxxx_current_page
.
7. Support for US model on landscape mode
If you are using a panel model US in landscape mode, you can now use nspanel_us_land.tft
where the bars related to the hardware buttons will be located at the right, closer to the respective buttons and fixing the offset on the touch screen when using nspanel_eu.tft
into a US panel.
- The hardware buttons labels are hidden in this format, as Nextion cannot support rotated text.
8. API status indication on the panel
Now the Wi-Fi icon in the panel (at the right side of the time) will show one of 3 possible states:
The panel is connected to the Wi-Fi and the API is connected to Home Assistant (mdi:wifi)
The panel is connected to the Wi-Fi, but the API is not connected to Home Assistant (mdi:api-off)
The panel is NOT connected to the Wi-Fi (mdi:wifi-off)
9. Light & cover settings pages will show only the supported features
Now when long press a button connected to a light or a cover, the detailed light settings page will open only when the entity supports advanced control, and the detailed page will only show the controls supported by that entity.
10. New "Fan speed page"
If you have a connected fan supporting speed control, now you are able to control it's speed from your panel. Just add the new fan to one of the buttons pages or to the hardware buttons and a long press on those buttons will pop up the new "Fan speed page":
11. Select wake-up page
Now you can select the wake-up page on the device settings:
This selected page will be shown after a boot (after the boot page) and with a touch in the screen when on screen saver page. After showing this wake-up page, all the previous behavior for closing the page (with a click or after a timeout) will be the same and will fall back to the "Home" page.
12. Panel's local control
We are trying to make your panel as autonomous as possible by moving some of the controls from the Blueprint to ESPHome. This will reduce the load in your network and Home Assistant, but also will make a more reliable system capable to do it's core functionality even when the network is unavailable or Home Assistant is restarting.
With this version, the following engines have been moved to your panel (local control):
- Time display
- Physical relay control (when hardware left button is connected to relay 1 or right button to relay 2) - Replacing the fallback mode from previous versions.
- Embedded thermostat (see item 1 about add-ons)
13. New "Confirm" pop-up
A new pop-up will replace the previous confirmation page, making clear the difference from notifications.
14. Page "Settings" now supports translations
Now you will see the Settings page in the same language selected to your panel:
- Not all the languages are supported at this moment. If you want to contribute with the translations for your language(s), please visit #1002.
15. Media Player control
You can now tap into basic controls for all your connected media devices right from your panel.
Just add a media player entity to any of the buttons pages. A long press in the button will open the media player control page:
- Just like all other pages, this one relies on information from Home Assistant, and the Media Player entities are a bit slower than other entities to update it's states. We included an engine to pull for a new update in a loop, but as a result of that, the commands can be a bit laggy.
- Some media player providers aren't capable to send updated information about the progress of the media playing. We create an engine to try to estimate this progress and keep the progress bar updated in the screen, however it is possible that the information gets unsync specially when a track starts while the Media Player is not visible. In this case, it should adjust (again to an estimated value) when the next track starts.
16. Custom buttons on Home page
Now you can add up to 3 customize buttons to the Home page. You can select a climate, cover, fan, light or media player and an icon of your preference, which will be shown in the Home page right above the already known icons for QRcode and entities pages.
By clicking in the icon, the detailed page will be opened with the selected entity. With that, all those icons will have a similar behavior of jumping to another page.
- To keep consistency with other buttons on this page, entities supporting advanced settings will open the settings page with the click. All other entities will toggle or execute, with no visual feedback,
17. New controls for dimming and sleeping time
We have changed the way your panel handles the dimming and sleeping.
Sleep flow on v3.4:
Apart of some hard-coded times for dimming and sleeping, this flow was inconvenient when the time-out was set to 0, as the panel never go to dimming when left in a page other than Home.
Now you will have full control of the 3 actions and you will be able to play with those parameters as you want or just disabling any of the flows by setting the timeout to 0.
New flows on v4.0:
Next topics we are currently working on
See here: roadmap Roadmap contains future features
Special thanks to:
- @chpego
- Fixes on the blueprint UI (#928)
- @WZYProjects
- @el97
- Translation to Swedish (#1047)
- @Doughboy68
- Tons of tests and feedback during the
dev
phase.
- Tons of tests and feedback during the