mirror of
https://github.com/joBr99/nspanel-lovelace-ui.git
synced 2025-12-20 14:37:01 +01:00
Merge branch 'main' of https://github.com/joBr99/nspanel-lovelace-ui
This commit is contained in:
50
README.md
50
README.md
@@ -10,6 +10,10 @@ NsPanel Lovelace UI is a Firmware for the nextion screen inside of NSPanel in th
|
|||||||
|
|
||||||
EU Model and US Model supported (in portrait and landscape orientation)
|
EU Model and US Model supported (in portrait and landscape orientation)
|
||||||
|
|
||||||
|
Content of the screen is controlled by a AppDaemon Python Script installed on your HomeAssistant Instance.
|
||||||
|
|
||||||
|
(or a TypeScript on your ioBroker Instance in case you are an ioBroker User)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Entities Page with support for cover, switch, input_boolean, binary_sensor, sensor, button, number, scenes, script, input_button and light
|
- Entities Page with support for cover, switch, input_boolean, binary_sensor, sensor, button, number, scenes, script, input_button and light
|
||||||
@@ -19,6 +23,8 @@ EU Model and US Model supported (in portrait and landscape orientation)
|
|||||||
- Media Player Card
|
- Media Player Card
|
||||||
- Alarm Control Panel
|
- Alarm Control Panel
|
||||||
- Screensaver Page with Time, Date and Weather Information
|
- Screensaver Page with Time, Date and Weather Information
|
||||||
|
- Localization possible (currently 38 languages)
|
||||||
|
- **Everything is dynamically configurable by a yaml config, no need to code or touch Nextion Editor**
|
||||||
|
|
||||||
It works with [Tasmota](https://tasmota.github.io/docs/) and MQTT.
|
It works with [Tasmota](https://tasmota.github.io/docs/) and MQTT.
|
||||||
To control the panel and update it with content from HomeAssistant there is an [AppDaemon](https://github.com/AppDaemon/appdaemon) App.
|
To control the panel and update it with content from HomeAssistant there is an [AppDaemon](https://github.com/AppDaemon/appdaemon) App.
|
||||||
@@ -224,6 +230,8 @@ US Version Landscape: `FlashNextion http://nspanel.pky.eu/lui-us-l-release.tft`
|
|||||||
|
|
||||||
For the app to work you need a working MQTT Configuration in AppDaemon. Please add the configuration of your mqtt server, user and password to your existing `appdaemon.yaml`
|
For the app to work you need a working MQTT Configuration in AppDaemon. Please add the configuration of your mqtt server, user and password to your existing `appdaemon.yaml`
|
||||||
|
|
||||||
|
NOTE: This are not the options of the AppDaemon Addon in HomeAssistant. You will find this file under: `config/appdaemon/appdeamon.yaml`
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
---
|
---
|
||||||
secrets: /config/secrets.yaml
|
secrets: /config/secrets.yaml
|
||||||
@@ -349,6 +357,48 @@ key | optional | type | default | description
|
|||||||
`screensaver` | True | complex | | configuration for screensaver
|
`screensaver` | True | complex | | configuration for screensaver
|
||||||
`hiddenCards` | True | complex | | configuration for cards that can be accessed though navigate items
|
`hiddenCards` | True | complex | | configuration for cards that can be accessed though navigate items
|
||||||
|
|
||||||
|
Possible languages for locale config key:
|
||||||
|
|
||||||
|
- `af_xx` - Afrikaans
|
||||||
|
- `ar_xx` - Arabic
|
||||||
|
- `bg_xx` - Bulgarian
|
||||||
|
- `ca_xx` - Catalan
|
||||||
|
- `cs_xx` - Czech
|
||||||
|
- `da_xx` - Danish
|
||||||
|
- `de_xx` - German
|
||||||
|
- `el_xx` - Greek
|
||||||
|
- `en_xx` - English
|
||||||
|
- `es_xx` - Spanish
|
||||||
|
- `et_xx` - Estonian
|
||||||
|
- `fa_xx` - Persian
|
||||||
|
- `fi_xx` - Finnish
|
||||||
|
- `fr_xx` - French
|
||||||
|
- `he_xx` - Hebrew
|
||||||
|
- `hr_xx` - Croatian
|
||||||
|
- `hu_xx` - Hungarian
|
||||||
|
- `hy_xx` - Armenian
|
||||||
|
- `id_xx` - Indonesian
|
||||||
|
- `is_xx` - Icelandic
|
||||||
|
- `it_xx` - Italian
|
||||||
|
- `lb_xx` - Luxembourgish
|
||||||
|
- `lt_xx` - Lithuanian
|
||||||
|
- `lv_xx` - Latvian
|
||||||
|
- `nb_xx` - Norwegian
|
||||||
|
- `nl_xx` - Dutch
|
||||||
|
- `nn_xx` - Norwegian
|
||||||
|
- `pl_xx` - Polish
|
||||||
|
- `pt_xx` - Portuguese
|
||||||
|
- `ro_xx` - Romanian
|
||||||
|
- `ru_xx` - Russian
|
||||||
|
- `sk_xx` - Slovak
|
||||||
|
- `sl_xx` - Slovenian
|
||||||
|
- `sv_xx` - Swedish
|
||||||
|
- `th_xx` - Thai
|
||||||
|
- `tr_xx` - Turkish
|
||||||
|
- `uk_xx` - Ukrainian
|
||||||
|
- `vi_xx` - Vietnamese
|
||||||
|
|
||||||
|
|
||||||
Possible configuration values for a card in card config:
|
Possible configuration values for a card in card config:
|
||||||
|
|
||||||
key | optional | type | default | description
|
key | optional | type | default | description
|
||||||
|
|||||||
@@ -66,8 +66,6 @@ class LuiController(object):
|
|||||||
|
|
||||||
|
|
||||||
def update_screensaver_brightness_state_callback(self, entity, attribute, old, new, kwargs):
|
def update_screensaver_brightness_state_callback(self, entity, attribute, old, new, kwargs):
|
||||||
x = type(self._config.get("sleepBrightness"))
|
|
||||||
y = self._config.get("sleepBrightness")
|
|
||||||
if type(self._config.get("sleepBrightness")) == str:
|
if type(self._config.get("sleepBrightness")) == str:
|
||||||
self.current_screensaver_brightness = self.calc_current_screensaver_brightness()
|
self.current_screensaver_brightness = self.calc_current_screensaver_brightness()
|
||||||
self.update_screensaver_brightness(kwargs={"value": self.current_screensaver_brightness})
|
self.update_screensaver_brightness(kwargs={"value": self.current_screensaver_brightness})
|
||||||
|
|||||||
@@ -509,25 +509,6 @@ translations = {
|
|||||||
'disarm': "Rozbrój",
|
'disarm': "Rozbrój",
|
||||||
'run': "Uruchom",
|
'run': "Uruchom",
|
||||||
},
|
},
|
||||||
'pt': {
|
|
||||||
'PRESS': "Pressione",
|
|
||||||
'ACTIVATE': "Ativar",
|
|
||||||
'aux_heat': "Aquecedor aux",
|
|
||||||
'cooling': "Resfriando",
|
|
||||||
'drying': "Secando",
|
|
||||||
'fan': "Ventilando",
|
|
||||||
'idle': "Oscioso",
|
|
||||||
'off': "Desligado",
|
|
||||||
'arm_away': "Armar ausente",
|
|
||||||
'arm_custom_bypass': "Bypass personalizado",
|
|
||||||
'arm_home': "Armar em casa",
|
|
||||||
'arm_night': "Acionamento noturno",
|
|
||||||
'arm_vacation': "Armar férias",
|
|
||||||
'clear_code': "Limpar",
|
|
||||||
'code': "Código",
|
|
||||||
'disarm': "Desarmar",
|
|
||||||
'run': "Executar",
|
|
||||||
},
|
|
||||||
'pt': {
|
'pt': {
|
||||||
'PRESS': "Pressione",
|
'PRESS': "Pressione",
|
||||||
'ACTIVATE': "Ativar",
|
'ACTIVATE': "Ativar",
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ class Updater:
|
|||||||
return False
|
return False
|
||||||
# send notification about the update
|
# send notification about the update
|
||||||
if self.mode == "auto-notify":
|
if self.mode == "auto-notify":
|
||||||
update_msg = "There's a firmware update available for the Nextion screen of the NSPanel. Do you want tostart the update now? If the update fails check the installation manual and flash again over the Tasmota console. Be patient, the update will take a while."
|
update_msg = "There's a firmware update available for the Nextion screen of the NSPanel. Do you want tostart the update now? If the update fails check the installation manual and flash again over the Tasmota console. Be patient, the update will take a while."
|
||||||
self.send_message_page("updateDisplayNoYes", "Display Update available!", update_msg, "Dismiss", "Yes")
|
self.send_message_page("updateDisplayNoYes", "Display Update available!", update_msg, "Dismiss", "Yes")
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -1,6 +1,3 @@
|
|||||||
import logging
|
|
||||||
import traceback
|
|
||||||
|
|
||||||
import hassapi as hass
|
import hassapi as hass
|
||||||
|
|
||||||
from luibackend.config import LuiBackendConfig
|
from luibackend.config import LuiBackendConfig
|
||||||
@@ -28,7 +25,7 @@ class NsPanelLovelaceUIManager(hass.Hass):
|
|||||||
controller = LuiController(self, cfg, send_mqtt_msg)
|
controller = LuiController(self, cfg, send_mqtt_msg)
|
||||||
|
|
||||||
desired_display_firmware_version = 32
|
desired_display_firmware_version = 32
|
||||||
version = "v2.7.2"
|
version = "v2.7.3"
|
||||||
|
|
||||||
model = cfg.get("model")
|
model = cfg.get("model")
|
||||||
if model == "us-l":
|
if model == "us-l":
|
||||||
|
|||||||
Reference in New Issue
Block a user