TileBoard - New dashboard for Homeassistant

Hey, would love to hear some of your workarounds for turning the screen on/off and anything else you’ve been able to automate on the Fire tablet.

No problem all the information for the ability of automating the screen ON and OFF can be found here:

I use the licensed Fire specific version of FullyKiosk. I have managed to automate everything I need except for scheduled reboot which I’m hoping won’t be as required since changing transition type!

Things I automate using fully…

  • Screen ON OFF after above fix using pir in rooms
  • Screen brightness - depending on time of day or what I’m doing in the room.
  • Refreshing to TileBoard home screen after 15 min of screen being off

There are probably more but that’s all that comes to mind right now. If you want any more info let me know. I’m on mobile right now so can’t share any configs.

2 Likes

Edited to add alternative method below

Testing out a way to do this that seems to be working out alright so far. I commented out lines 72 through 76 in screensaver.js and then added a new line below to get a random slide each time the interval expires:

  /*activeSlide += 1;

  if(activeSlide >= $scope.slides.length) {
     activeSlide = 0;
  }*/
			
  activeSlide = Math.floor(Math.random() * ($scope.slides.length));

The drawback is it’s picking a random slide every time rather than randomly reordering the slides on the fly, so you won’t necessarily see some of the slides as often as others.

Edit: I found another route that will reshuffle the array of slides each time the screensaver is closed. That way you are still seeing every slide if you have a lot of them. I added the following to the end of the window.hideScreensaver function:

for (i = $scope.slides.length - 1; i > 0; i--) {
        j = Math.floor(Math.random() * (i + 1));
        x = $scope.slides[i];
        $scope.slides[i] = $scope.slides[j];
        $scope.slides[j] = x;
	}

Why?! You can simply shuffle array of screensaver images in CONFIG which are:

CONFIG.screensaver.slides

If there’s an easier solution, I’m all for it. I know enough about Angular to be dangerous but I’m far from an expert.

But if I want to see the images in a different order each time the screensaver is triggered, I’d need it somewhere like in window.HideScreensaver, wouldn’t I?

Just shuffle CONFIG.screensaver.slides any time you feel like you need a different order :slight_smile:

By the way, do you mind telling which touch panel you used and how did you mount frame on it?

Gotcha, I think I see what you are saying now. I could just fire off an event from HASS every so often, for example, and use that event as a trigger to my shuffle function. That way it keeps it all in config.js too… I like it.

You can simply have setIntetval call the shuffle function every few minutes.

1 Like

@resoail it was a standard touchscreen monitor, just fitted it into a hole cut in the wall and to frame it ordered a custom size picture frame to fit the exact dimensions of the screen. Then connected to a RPI controller via usb cable

1 Like

I did the same thing :slight_smile: except I run it of an old Intel NUC and made a frame myself.

Hi, is there a way to disable the flashing : in the middle of the clock in the header?

I’d like it to stay on permanently, so the clock shows 18:33 for example, without the flashing 18 33, then 18:33, then 18 33, etc.

Thanks

Add this to your custom.css:

.clock--colon,
clock--colon {
  animation:none;
}

@resoai great minds and all that

This is exactly what I was looking for, thanks! I already saved 40+ wallpapers locally and its a lot of work…

@apt you ever get this figured out ?

Do you mean to manually edit the config and re-arrange the order? I was hoping to dynamically choose the array every time the screensaver starts

Nope, I gave up :slight_smile:

well that will be two of us then @apt lol, doing enough fighting with my NEST Thermostat to worry about that for now

Where does this get added to my screensaver.js controller?

1 Like