ESPHome Dashboards needs some love

I absolutely love ESPHome, and am using it a lot, and learning a lot in the process. Here is a list of suggestions, wishes, gripes, etc on how it could be improved. I am hoping that some kind developer will pick something up as a good idea to implement :smiley:

Dashboard

  • Add ability to ā€œUpdate Allā€ devices that actually need updating (not all devices regardless of their upgrade state) Maybe the options could be ā€œFlash Allā€ (current functionality) and ā€œUpdate Allā€ (Only devices not at latest fw version)
  • Add ā€œClean All Buildsā€ - After many issues, I now always clean builds before updating whether really needed or not. Maybe I am not alone in doing so…
  • Sort the tiles by name!!! This drives me up the wall! Or at the very least allow picking sort method.
  • Add folder support for ā€œtemplatesā€. I would rather not use the . trick to hide the files…
  • Any way to distinguish WIP (work in progress) from Deployed devices?
    Subset of tiles where you can see what a pain it is to find the one you are looking for. It sorts by the file name and while it is sometimes a good idea for device and file name to match, it is not always the case…

Dashboard Tiles

  • Add IP (the one configured, or used, whatever is feasible)
  • Add MAC (just make it easier to find on router - I’ve had IP messes where I used the same IP more than once, I go by MAC to be sure, and set everything static on router)
  • Exclude Update checkbox - to avoid updating a device when using ā€œUpdate Allā€
  • Add installed version
  • Integrations used list (this would help remember which device to go update when ESPHome changes)

Edit Window

  • Split screen to see main device YAML and template file(s) all on one screen (or some way to piece together a YAML that has been split up)
  • Code snippets to easily reuse the same code in each device? Instead of using templates for everything which are efficient but also a bit more annoying when you have to go hunt for each one to see what YAML is in it
  • Some way to overrule what is in a template (I have not fully researched this yet) / package. For example, I use the ratgdo YAML that uses a remote_package but due to some minor changes I need to make, I have to copy the contents of the package into my YAML and sync it up each time. I understand this can cause other issues… just brainstorming on nice-to-have options

Other - in HA

  • How much data is being pumped into the database by the device. Way too many times I forget to tone the data down after developing/testing/etc and it bloats and bogs down the DB.
  • Sorting in the ESPHome Device page (Controls, Sensors, Configuration, Diagnostic). As shown below, with devices that have up to 88 entities, it would be nice to be able to sort them other than just by name. Anyone using LD2410 likely has the issue :slight_smile:
    image
  • Fix the ability to remove an unavailable ESPHome entity. I often rename stuff so I run into this a lot. It is often possible to delete it after a system reboot. May be possible to delete elsewhere but I typically try to do it from the device page when I notice the old straggler… and it doesn’t work.
  • Make number boxes smaller… or the column wider so that more of the entity name will fit. Also, would be so nice to be able to disable decimals from the number box when not needed.
    image

I wish I could help in getting any of this done… I wouldn’t be able to code it, but am open to help in any other way.

5 Likes

It has that.

Just tweaked my list to clarify. When I hit ā€œUpdate Allā€ it tries to compile and update all 40+ devices I have. It always stops half way and I end up having to update the rest manually. What I was suggesting was a way to only update those that still have the blue label ā€œUpdate Availableā€ and that were not ā€œExcludedā€ (other feature request).

It is not always advisable or needed to update a device… although I have the itch until I’ve updated them all lol

I don’t have that many devices. I just manually updated buderus for rest I use update all.
Usually only one device, its converted sonoff mini, fail due to poor wifi connection.
In my case it only updates devices that are marked blue - update available. Never saw that it updated all.

I just hit the button, and it started from the top of my list. The device is already up-to-date. Maybe a malfunction on my end, but I’ve always seen it do it. It also asks if you want to update ā€œall devicesā€.
image

Edit: Sometimes this is not a bad thing as it is my understanding that if the firmware gets compiled but not uploaded (maybe offline or some other issue), the update badge will go away even though the device has not been updated… but for most of my cases it is annoying.

Hm… I just hit update all and it started to update all devices. But Im mostly certain that when new version of eshome is installed it update only devices marked blue - update available.

1 Like

I was under the same impression Daniel, but I can’t remember where I saw it -I think the release notes like a build or two ago?

It could be… but my builds always stops (no errors, just stops) after a dozen devices. Hitting ā€œUpdate Allā€ at that point starts the process all over again from the top even if there are many devices that have not been updated at all to the new version. :man_shrugging:

I usually update manually buderus pcb board running esphome and everything else is going to update all. I’m nearly certain that it skip buderus from updating.

1 Like

That might be caused by poor wifi connection. Try to put in your yaml code wifi signal strenght something like

sensor:
  - platform: wifi_signal
    name: "WiFi Signal"
    accuracy_decimals: 1
    entity_category: "diagnostic"
    update_interval: 5s

@ddaniel - Thanks for the suggestion… looking into it as I type. I have 5 APs around the house so coverage should be good in both directions (AP to EST & ESP to AP). To monitor AP to ESP I have this card:


It is cut off, but the strongest signal reaches -25dBm. I keep the APs’ 2.4GHz signal output low given the coverage. The worst one in the list above is close to an AP but it is inside a metal rack, yet it has never failed.

Checking on how strong the signal is received from the APs:

Too bad I can’t filter this view for only ESPs. It shows all wireless clients (mostly IoT).

I found only 3 ESPs that appear to the left of the -70dBm mark. One of them is indeed the ESP inside the rack:

Another is outside in my backyard when I am planning on adding another AP (not for the ESP as that works flawlessly, but for cell phone use, etc).

Not sure how to interpret ā€œWiFi Experienceā€ as it is not solely signal strength related. Lots of online posts mocking it as nobody really knows what it means. (Edit: It was a reporting bug in Unifi’s firmware, not an actual issue, now fixed)

The ESP that has the strongest signal (-25dBm) has a rating of Poor (could be that the signal is too strong, but I think the issue is more with how poor ESPs are as Wifi clients - latency, etc.).

The latency of the ESP device is pretty bad…

Edit: Found way to filter by 2.4GHz (that I only use for IoT / slow devices):

Yes, the latency is definitely pretty bad. I just changed something in my yaml code and esp board that had problems with uploading had the worst latency overall. But it is less than yours.
Probably coverage is good but maybe you just miss configured something in your routers settings.

If you are referring to the ā€œUpdate Allā€ that stops, I don’t believe it is a signal issue. Doing it manually always works flawlessly. It could be the browser putting the tab to sleep, or something else. I haven’t had the time to fully look into it. Anyhow the thread was more focused on some nice to have features :slight_smile: more than troubleshooting my wifi, but thanks for the suggestions! I will spend some time improving the setup and check Unifi configuration.

I know but I just want to say that my worst latency is 20 ms less that the one you posted.
I’m using cheap miwi routers in a mesh mode and I have only 3 of them.
For the equipment you are using is should be much better.

I checked another identical ESP to the one shown above, that does nothing until it receive a command to send an IR signal, and the latency is way better. It is on a much newer AP… Unifi UAP AC PRO Vs U6-LR :thinking:

I’ve got some testing to do :slight_smile:

1 Like

May i ask what kind of buderus board that is?
Thanks in advance

Yes you may.
Its pcb developed by Daniel Glaser for controlling Buderus 2107 logomatic furnaces.

1 Like

I am especially interested in ā€œAdd installed Versionā€.

  • First: The installed Version should be shown.

  • Second: The ā€œUPDATEā€ button on the tile should depend on the installed version not (as it is now) on the compiled version. In my scenarios I want the device to be updated not just the new version to be compiled.

2 Likes

Pulling the installed version of YAML seems to be difficult for some reason… Maybe I’ll try creating a web app to do it, get AI to help.

ESPHome could solve it by just recording the last installed version separately from your edited YAML. A version History would probably be the best way and shouldn’t be too difficult to implement.

1 Like