Along with @jacamayo, I would love being able to show screens for less than a minute. If I understood correctly from code, the duration is set as an integer (0-65535), interpreted as minutes.
Still waiting for my TC001 to arrive before I try esphomatrix, but I’m starting to wonder if I can get notifications to be cycled along with clock, along with a screen duration (< a minute).
Imagine the following:
Clock (x seconds)
Notification 1 (y seconds)
Notification 2 (z seconds)
Clock (x seconds)
Notification 1 (y seconds)
Notification 2 (z seconds)
<-- HA stops Notification 1
Clock (x seconds)
Notification 2 (z seconds)
<-- HA stops Notification 2
Clock (forever until a new screen is added)
In my awtrix (which I mean to replace by esphomatrix), I have notifications which are being displayed in a cycle along with clock, until HA stops updating it. Is this something somehow doable in esphomatrix?
Not sure if I could explained myself properly in my question.
Yes it’s there /config/esphome/.esphome/build/ehmtx8266/src/main.cpp
if we have everything the same, it is on line 1339.
Otherwise, use ctrl+f and type Animation in the search box.
Mine on this line test = new display::Animation(uint8_t_5, 8, 8, 5, display::IMAGE_TYPE_RGB24);
Ok, I think I have found the problem following your indications
You have this in your main.ccp test = new display::Animation(uint8_t_5, 8, 8, 5, display::IMAGE_TYPE_RGB24);
But I have this computer_icon = new esphome::EHMTX_Icon(uint8_t_3, 8, 8, 1, display::IMAGE_TYPE_RGB565, "computer_icon", false, 500);
The 4th number, which sets the number of frames per animation, is 5 in your main.ccp and 1 in mine, and that is why mi animations don’t move as they “have only 1 frame instead of 5”
This is the same problem you were speaking about here
Yes, the solution is to resize the gif to 8x8px without losing the animation. I used the website to edit online but unfortunately the website is no longer working.
The Gimp editing program was recommended to me, but I haven’t tried it.
I must be missing something fundamental, but how can I implement a simple endless loop that shows clock/date for “x” seconds, then a screen during “y” seconds with icon “01” and text “test 01”, then a second screen during “z” seconds with icon “03” and text “03”, and then start again with clock/date?
For your second question you will need to create an automation to regularly push the screens you want, by default they expire after 5 minutes.
Here’s a link to my automations for inspiration, it pushes the screens I want every minute along with some other state changes, a force screen for an important state change, presence detection to turn the display on/off and finally handles the Ulanzi buttons.
in my use case the display is mainly a clock, the state display is quite dynamic, because I don’t know when a new state is displayed. I’ve got ca. 20 automations that send data to the display. And 99,9999% percent of the day I don’t even look at the display, so I know that I miss most of the displayed informations.
For the operation:
There is a queue of states/screens that are displayed one after another. You can add screens like @codechimp showed in his sample. Each screen has a lifetime. How often and when it is displayed depends from the other states in the queue. So it’s very dynamic and configured by time settings, the live time duration per screen, the show_screen time per display slot.
I’m not good in english, even in my native language it is hard for me to describe in detail what’s the logic is.