Open soyxan opened 1 year ago
Hey @Armilar - could you share details on the ioBroker implementation / configuration? I cannot seem to find it documented / in the code - would be eager to implement after I check the existing implementation / best practice.
It's just sending the update for the screensaver alternating with different entities.
I've started to reimplement the backend without appdaemon. Didn't implement communication though Homeassistent events so far. But besides that it's pretty far.
Hey @Armilar - could you share details on the ioBroker implementation / configuration? I cannot seem to find it documented / in the code - would be eager to implement after I check the existing implementation / best practice.
Actually everything happens in the HandleScreensaverUpdate() function.
The bottomScreensaverEntity already changes cyclically via the data point 0_userdata.0.NSPanel.1.ScreensaverInfo.entityChangeTime.
The question that now arises is which values should also change cyclically?
The only icons I can think of now are the leftScreensaverEntity in the advanced screensaver or the humidity in the alternative screensaver or the temperature (const weatherEntityPath: string = 'alias.0.Weather';) in the standard screensaver.
For all other values, another change wouldn't really make sense
The screensaver documentation is analogous to HA: https://github.com/joBr99/nspanel-lovelace-ui/tree/main/HMI
If you implement it, please note that all screensaver types (standard, alternative and advanced) must continue to work.
@joBr99
I've started to reimplement the backend without appdaemon
I saw that in the many thousands of commits ;-) ... AppDaemon seems to be very sluggish
Just to understand this correctly. Nothing will change for ioBroker, right?
Oh, I understand now, awesome idea!
Perhaps for AppDaemon/Homeassistant I would prefer a totally open format instead of hardcoding the entites as such.
I would be happy to implement it for my panel and for the community. @joBr99 let me know your preference. Actually the format below would allow any number of sets to be cycled without any backward-incompatible change.
nspanel-1:
module: nspanel-lovelace-ui
class: NsPanelLovelaceUIManager
config:
screensaver:
entities:
- entity: head
- entity: left_3_rows
- entity: left_3_rows
- entity: left_3_rows
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols_alternative
- entity: bottom_6_cols_alternative
- entity: bottom_6_cols_alternative
- entity: bottom_6_cols_alternative
- entity: bottom_6_cols_alternative
- entity: bottom_6_cols_alternative
I think the least confusing way to implement this would be something like this:
screensaver:
entities:
- entity: head
- entity: left_3_rows
- entity: left_3_rows
- entity: left_3_rows
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
entitiesAlt:
- entity: head
- entity: left_3_rows
- entity: left_3_rows
- entity: left_3_rows
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
- entity: bottom_6_cols
@afarago do you have discord?, at the current state of the alternative addon without appdaemon, it's probably better to directly implement this in the new backend - next release will be without appdaemon
@Armilar So far my main prio is to create a drop in replacement for the appdaemon app, so no breaking changes for now
Apologies - please let me know if there is a discord server / chat. You will find my discord id in my bio as well.
FEATURE DESCRIPTION
Implement in the screensaver the option to alternate between 2 entities in the same position (for instance temperature and humidity). This alternating could be defined with a time parameter which could establish how long each entity is shown in a loop.
ADDITIONAL CONTEXT
This is already implemented in ioBorker as per the following post: https://github.com/joBr99/nspanel-lovelace-ui/issues/739#issuecomment-1423287124
PANEL / FIRMWARE VERION
EU