olicooper / esphome-nspanel-lovelace-native Goto Github PK
View Code? Open in Web Editor NEWCustom ESPHome component for NSPanel utilising the TFT firmware of the project 'joBr99/nspanel-lovelace-ui'
License: Other
Custom ESPHome component for NSPanel utilising the TFT firmware of the project 'joBr99/nspanel-lovelace-ui'
License: Other
undefined reference to esphome::output::FloatOutput::set_zero_means_zero(bool)
when using ledc
output:
## Buzzer for playing tones
- platform: ledc
id: buzzer_out
pin: 21
## Rtttl function for buzzer
rtttl:
id: buzzer
output: buzzer_out
Not really an issue, but you need to point the screensaver weather at a template sensor like the one below as HA 2024.04 removed the 'forecast' attribute out to a service call for some random reason...
template:
- trigger:
- platform: time_pattern
hours: /1
- platform: homeassistant
event: start
action:
- service: weather.get_forecasts
data:
type: daily
target:
entity_id: weather.home # change to your weather entity
response_variable: daily
sensor:
- name: Weather Forecast Daily
unique_id: weather_forecast_daily
state: "{{ states('weather.home') }}" # # change to your weather entity in this line
attributes:
temperature: "{{ state_attr('weather.home', 'temperature') }}" # change to your weather entity
temperature_unit: "{{ state_attr('weather.home', 'temperature_unit') }}" # change to your weather entity
forecast: "{{ daily['weather.home'].forecast }}" # change to your weather entity
I have a few 'navigate' entries in a card grid as a menu, which lead to cards with 'hidden: true' set. The navigate works and takes me to the right card, which shows a small home icon in the top left. Tapping it does nothing, you have to wait for the screen to time out to escape.
Logs show [D][nspanel_lovelace:364]: Screen CMD: event,buttonPress2,navigate.uuid.1,button
The alarm card works to arm and disarm the alarm, however it doesn't show the number pad when disarming and can't disarm alarms that require a code. e.g. an Alarmo alarm with 'Require code for disarming' set can't be disarmed.
I thought I'd simplify my builds by using
external_components:
- source:
type: git
url: https://github.com/olicooper/esphome-nspanel-lovelace-native
ref: dev
components: [ nspanel-lovelace]
However, whatever the build path this uses doesn't get handled by __init.py properly, and the build fails on the first include (icons.json, iirc).
Not a biggie, I just checked the repo out manually and included it as a local external component, but it would simplify updating to new versions if it worked.
Something is slightly off, when I flash either OTA or via usb, the esp will invariably get into a boot loop, drop the api connection and eventually drop into safe mode. Poking a paperclip into the reset button on the bottom clears 'something' (PSRAM? TFT uart? I can't see any logs) and then reboots absolutely fine.
Not a major issue, I just have to prod it back life after a flash, but it suggests something isn't fully reset by the soft reset.
from a cardGrid entry pointing to a timer.xxx entity, I can bring up popupTimer but there's no way to start / stop / pause the timer per appdaemon backend does.
I've just given this a quick test by setting up a new yaml in esphome and building it (but not actually flashing it yet). Most of it transferred over pretty well, except for a few entities.
Input_button, input_boolean and covers all get rejected with :
entity_id "input_boolean.night_mode" must match the format "[entity type].[entity name]" and contain only numbers (0-9), letters (A-Z) and underscores (_), e.g. "light.living_room_light_1"
I had a look through the code and can see at least some handling for the input_* domains, but it seems either mine have odd names or the config validation is broken somehow.
Ok, latest version with the entity refactoring seems to explode if you have 'navigate' keys in your config.
Important bit of the log appears to be:
File "/data/external_components/e1292338/components/nspanel_lovelace/__init__.py", line 693, in to_code
gen_card_entities(
File "/data/external_components/e1292338/components/nspanel_lovelace/__init__.py", line 436, in gen_card_entities
entity_id = get_entity_id(entity_config.get(CONF_ENTITY_ID, "delete"))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/external_components/e1292338/components/nspanel_lovelace/__init__.py", line 402, in get_entity_id
return cg.MockObj(entity_ids[entity_id])
~~~~~~~~~~^^^^^^^^^^^
KeyError: 'navigate.lights'
I have two 'cover' entities on an entities card, the controls show, but are not working. The logs show:
[12:10:48][D][nspanel_lovelace:364]: Screen CMD: event,buttonPress2,uuid.27,up
[12:10:50][D][nspanel_lovelace:364]: Screen CMD: event,buttonPress2,uuid.27,stop
[12:10:51][D][nspanel_lovelace:364]: Screen CMD: event,buttonPress2,uuid.27,down
Ok, both my panels are now running this, AppDaemon is gone (wohoo). While cardThermo gets support, I've been using 'delete' to leave a blank space for the heating in my menu. It was working, but with the recent changes it leaves a '?' in a circle.
First of all, I LOVE the speed!!! Now I am refreshing the project page a couple of times a day waiting for cardThermo!
OOTB, esphome's auto detection of timezone failed, thus the screensaver screen showed the winter time.
As a workaround, add timezone param to time: config
time:
- platform: homeassistant
id: homeassistant_time
timezone: Europe/London
Any chance we could add a note to the example config?
The service upload_tft will fail with basic configuration example because the display is turned off. Took me hours to get behind this issue.
Please update your documentation and add screen power to basic example (https://github.com/olicooper/esphome-nspanel-lovelace-native/blob/dev/basic-example.yaml#L80)
switch:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.