Giter Site home page Giter Site logo

olicooper / esphome-nspanel-lovelace-native Goto Github PK

View Code? Open in Web Editor NEW
25.0 25.0 4.0 390 KB

Custom ESPHome component for NSPanel utilising the TFT firmware of the project 'joBr99/nspanel-lovelace-ui'

License: Other

Python 15.00% C++ 84.87% C 0.13%
esp32 esphome home-assistant home-automation lovelace-ui nspanel sonoff

esphome-nspanel-lovelace-native's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esphome-nspanel-lovelace-native's Issues

doesn't compile when rtttl is added to config

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

Weather on screensaver tries to read the 'forecast' attribute on weather entities, which has been removed from HA recently.

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

Home/Back button on hidden cards doesn't work

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

Alarm Card can't use PIN code to disarm

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.

Build script gets confused if you use external_components source: git

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.

Bootloop after flashing that requires a hard reset to stop

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.

timercard: no start / stop button?

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.

Entities missing either support or config validation

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.

Can't compile latest version.

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'

Cover entity controls don't seem to work

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

'delete' entries don't leave blank spaces anymore

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.

daylight saving time

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?

Update documentation for initial tft flash

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:

Turn screen power on/off

  • platform: gpio
    name: Screen Power
    id: screen_power
    entity_category: config
    pin:
    number: 4
    inverted: true
    restore_mode: ALWAYS_ON

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.