XavierBerger / Solar-Router-for-ESPHome

Solar Router for ESPHome
https://xavierberger.github.io/Solar-Router-for-ESPHome/
GNU General Public License v3.0
11 stars 2 forks source link

Rename sensor/command/light/etc #20

Closed tikismoke closed 3 weeks ago

tikismoke commented 1 month ago

All name in config should be replaced by device name or any other variable present in substitution

For exemple name: "Activate Solar Routing" should be replaced by: name: "{name} Activate Solar Routing"

Why? Because when you create another solar router you get that sort of sensor/command: switch.activate_solar_routing_2 and switch.activate_solar_routing_3 for the 3rd one :(

This is really anoying to use then in automation and remmeber that no name is for swimming pool, _2 for heating bathroom1 and _3 for the other bathroom.

XavierBerger commented 1 month ago

@tikismoke I did apply your proposal.
Can you give me some feedback about my implementation?
If it works, I'll merge it in the main branch.

XavierBerger commented 1 month ago

hummm... @tikismoke is this modification really necessary, I already have a prefix on every sensor which is added automatically.

The prefix comes from the name stated here:

esphome:
  name: solarrouter
  friendly_name: SolarRouter
tikismoke commented 1 month ago

Yes because no sensor are using this prefix and I got _2 or _3 on the two other devices i prepared

tikismoke commented 1 month ago

Here for anotherr exemple : https://github.com/XavierBerger/Solar-Router-for-ESPHome/blob/72c0b4c6f93bdb5ba1f3d06e9ee183471f049407/solar_router/solar_router_engine.yaml#L39 So I got 3 sensor named: number.regulator_opening number.regulator_opening_2 number.regulator_opening_3

XavierBerger commented 1 month ago

@tikismoke I also have 2 solar routers in my setup (mainly for development).

I use esp32-standalone.yaml and esp8285-power-meter-proxy.yaml at the same time.

I have then 2 sensors clearly identified by their name as prefix: image

Can you check your configuration... As I can't reproduce your issue, it is difficult to find a root cause and a fix.

tikismoke commented 1 month ago

@tikismoke I also have 2 solar routers in my setup (mainly for development). Can you check your configuration... As I can't reproduce your issue, it is difficult to find a root cause and a fix.

Could you look at all other sensor/cmd of your device?

tikismoke commented 1 month ago

this one for example: Screenshot_20241025-174850.png

XavierBerger commented 1 month ago

Aller, on bascule en français, ce sera plus facile de se comprendre :wink:

J'ai bien compris ton problème de nommage de sensors dans ton installation. Je ne remets pas en cause ce que tu constates, mais je n'arrive pas à le reproduire. J'ai vérifié de mon côté et tous mes sensors sont préfixés. J'ai même essayé d'appliquer ta proposition et je me retrouve avec des sensors ave id:sensor.solarrouter_name_real_power et friendly_name:"Solar Router name Real Power"... donc ça ne marche pas.

Pour progresser, peux-tu me faire parvenir tes fichiers YAML complets ?

J'essayerais de les installer sur mon routeur pour voir ce que ça donne et si j'arrive à la même situation.

tikismoke commented 1 month ago

C'est bizarre ça. Le {name} sert a faire la substitution (que tu declare bien au départ). Si y en a pas dans le nom du sensor/Switch ou autre, je vois pas comment il fait la substitution justement en prefixant du coup. https://esphome.io/components/substitutions.html

tikismoke commented 1 month ago

https://github.com/XavierBerger/Solar-Router-for-ESPHome/issues/15#issuecomment-2218549018

Voici le code que j'utilise sur mes 2 routeurs. A l'adresse IP prêt et l'id de la sonde onewire

tikismoke commented 4 weeks ago

Screenshot_20241026-172047-629.png

Tiens voilà le résultat sur le routeur du chauffage 1.

Les capteurs issue de GitHub sont tous avec nomcapteur2 ceux issue de mon code ou le {name} est utilisé ne l'ont pas et son préfixer par le name

tikismoke commented 4 weeks ago

Ce qui est marrant, c'est qu'on dirait que les sensor pur ça fonctionne : Screenshot_20241026-172737-988.png

Genre real power ça rajoute bien le nom devant.

tikismoke commented 4 weeks ago

Pourtant les number, y a deux comportements différents.

XavierBerger commented 3 weeks ago

J'ai reproduit ton problème en supprimant friendly_name. Sans friendly_name, les entités ne sont pas préfixées.
Dans ta configuration, tu as défini la variable friendly_name mais tu ne l'affectes pas à esphome:

esphome:
  name: solarrouter
  friendly_name: ${friendly_name}     # <- c'est cette ligne qui manque dans ta configuration
tikismoke commented 3 weeks ago

Bon ben je suis bon pour me coltiner une petite modif dans esphome on dirait.

C'est pas comme si j'avais ~90 devices sous esphome heureusement que y a les includes :)

En tout cas merci j'ai appris un truc. Surement un changelog que j'ai raté car ça me dit rien qu'HA s'en servait pour préfixer tout seul.