TileBoard - New dashboard for Homeassistant

You obviously can’t stream rtsp directly in browser. Remove filter part from the config and it should work. Also, you don’t need refresh for CAMERA_STREAM.

You can’t use a function to redefine type. What is the point of doing it anyway?

I wanted to make a switch available from on to off only. It will be some kind of reset button.

Override the action: with an API call which will only send turn_off

Not familiar with API calls, but i will give it a try. thanks for your time.
Also, do you think this is possible?

Hi Resoai

My climate button for on/off not showing in the tiles. when i move my cursor on the tile then i will see finger pointer. when i click then i will be able to turn and off. please advise why i am not seeing the button/ switch?

Thank you

I’m now away with only phone access but I think that we never had a functionality of turning climate tile on and off.

sorry sir
Bothering yourself.

thanks for the reply.

Enjoy! Thanks

Once you back, can you advise me on below issue on my tablet issue.
there isnt any side/ below icon show on my tablet but there is on my desktop. Without the icon the tiles in the tablet is working. Thank you

Check one of my previous posts about this. Not all climate devices report auto/off/heat/cool the same way. Mine uses the state of the climate device so I had to manually edit main.js. More info here: Climate State

Hi, I have some issues trying to get the icons on the type: TYPES.WEATHER, with the regular weather entity.

this is my code.

{
                                 position: [0, 0],
                                 width: 3,
                                 type: TYPES.WEATHER,
                                 title: 'Toledo',
                                 id: 'weather.vignoli_16',
                                 unit: 'C', // override default entity unit
                                 state: false, // hidding state
                                 icon: 'weather.vignoli_16.state',
                                 icons: {
                                    'clear-day': 'clear',
                                    'clear-night': 'nt-clear',
                                    'cloudy': 'cloudy',
                                    'rain': 'rain',
                                    'sleet': 'sleet',
                                    'snow': 'snow',
                                    'wind': 'hazy',
                                    'fog': 'fog',
                                    'partlycloudy': 'partlycloudy',
                                    'partly-cloudy-day': 'partlycloudy',
                                    'partly-cloudy-night': 'nt-partlycloudy'
                                 },
                                 fields: {
                                    summary: '&weather.vignoli_16.attributes.state',
                                    temperature: '&weather.vignoli_16.attributes.temperature',
                                    humidity: '&weather.vignoli_16.attributes.humidity',
                                    windSpeed: '&weather.vignoli_16.attributes.wind_speed',
                                 }

                              },
1 Like

Thank you very much sir.

It works for the climate tiles.

Thank you , thank , thank you…

how about the side menu. i could not figure it out. there isnt any side menu shows in my tablet.

Really appreciate your help.

thank you

dear @resoai, this js code from main.js throw errors in console:

 if(item.classes) item.classes.forEach(function (c) {
         item._classes.push(c);
      });

errors:

angular.js:16228 TypeError: item.classes.forEach is not a function
    at m.$scope.itemClasses (main.js?r=0.16646765004739272:456)
    at fn (eval at compile (angular.js:20798), <anonymous>:4:220)
    at angular.js:2523
    at m.$digest (angular.js:9759)
    at m.$apply (angular.js:9910)
    at updateView (main.js?r=0.16646765004739272:2348)
    at Object.<anonymous> (main.js?r=0.16646765004739272:2107)
    at api.js?r=0.16646765004739272:273

if i try to replace with:

 if(item.classes){
 for (var i = 0, len = item.classes; i < len; i++) {
item._classes.push(item.classes[i]);
}
}

the weather tile is not showing so good…

Hi guys,
First, I want to thank the active participants on the forum. You may not know, but helped with your code.
Now about the problem. Searching the forum could not find a solution to the problem.
After installing the “TYPES.DOOR_ENTRY” automation
HA writes an error: “Login attempt or request with invalid authentication from 192.168.3.1 (192.168.3.1)”
192.168.3.1 - this is my ipad on which Tileboard works.
The tile with the camera stops broadcasting the camera and turns white.
The automation itself works fine.
Does anyone have a solution?
my config:

config.js
... 
}
var FRONT_CAMERA_TILE = {
   position: [0, 0],
   type: TYPES.DOOR_ENTRY,
   id: {},
   icon: 'mdi-phone',
   title: 'Door entry',
   state: false,
   layout: {
      camera: {
         type: TYPES.CAMERA,
         objFit: 'contain',
         id: 'camera.frontdoor',
         refresh: 1500,
         bgSize: 'cover'
      },
      page: {},
      tiles: []
   }
}

var CONFIG = {
   customTheme: CUSTOM_THEMES.HOMEKIT, // CUSTOM_THEMES.TRANSPARENT, CUSTOM_THEMES.MATERIAL, CUSTOM_THEMES.MOBILE, CUSTOM_THEMES.COMPACT, CUSTOM_THEMES.HOMEKIT, CUSTOM_THEMES.WINPHONE, CUSTOM_THEMES.WIN95
   transition: TRANSITIONS.ANIMATED_GPU, //ANIMATED or SIMPLE (better perfomance) TRANSITIONS.ANIMATED_GPU TRANSITIONS.SIMPLE
   entitySize: ENTITY_SIZES.SMALL, //SMALL, BIG are available
   tileSize: 120,
   tileMargin: 6,
   serverUrl: 'http://' + '192.168.3.109' + ':8123',
   wsUrl: 'ws://' + '192.168.3.109' + ':8123/api/websocket',
   authToken: 'XXXXXXXX',
   //googleApiKey: "XXXXXXXXXX", // Required if you are using Google Maps for device tracker
   //mapboxToken: "XXXXXXXXXX", // Required if you are using Mapbox for device tracker
   debug: false, // Prints entities and state change info to the console.
   pingConnection: true, //ping connection to prevent silent disconnections
   doorEntryTimeout: 20,

   events: [
      
      {
         command: 'open_doorentry',
         action: function(eventData) {
            this.$scope.openDoorEntry(FRONT_CAMERA_TILE, FRONT_CAMERA_TILE.id);
         }
      },
      ],
   timeFormat: 24,
   menuPosition: MENU_POSITIONS.LEFT, // or BOTTOM
   hideScrollbar: false, // horizontal scrollbar
   groupsAlign: GROUP_ALIGNS.HORIZONTALLY, // or VERTICALLY
...
automations.yaml

- id: 'motion_camera'
  alias: Если обнаружено движение включить fullscreen
  trigger:
    platform: state
    entity_id: binary_sensor.motion_frontdoor
    to: 'on'
  condition: []
  action:
  - event: tileboard
    event_data:
      command: 'open_doorentry'
      lifetime: 20
...
configuration.yaml:
homeassistant:
  auth_providers:
    - type: homeassistant
    - type: trusted_networks
      trusted_networks:
        - 192.168.1.0/24
        - 192.168.3.0/24
        - fd00::/8
...
camera.yaml:
- platform: reolink_dev
  host: 192.168.3.199
  username: admin
  password: SS0102ss
  name: frontdoor
  stream: main
  protocol: rtmp
#  channel: NVR camera channel (optional, default 0)
  scan_interval: 5

Most likely you have not specified classes in config of the tile correctly.

Direct access to the camera solves this problem

                  {
                    position: [0, 0],
                    id: {},
                    type: TYPES.CAMERA,
                    bgSize: 'cover',
                    width: 3.4,
                    height: 2.5,
                    state: false,
                    title: '',
                    refresh: 5000,
                    filter: function (item, entity) {return "http://192.168.3....."},
                    fullscreen: {
                       type: TYPES.CAMERA,
                       bgSize: 'contain',
                       refresh: 1000,
                       filter: function (item, entity) {return "http://192.168.3......."},
                    }
                 },

Just looking at v1.0.3 … and my custom.css setting don’t seem to work with the latest rev … is the custom.css inoperable in the 1.x versions going forward (primarily for changing the color of icons in certain states)? … thanks

Please always post an issue on GitHub for things like that.

Just a heads up (also possibly related to @danmarotta5’s question), there was a slight change to project structure recently.

Updated “How to use” instructions are at https://github.com/resoai/TileBoard#how-to-use but in a nutshell, the files that need to be deployed to the webserver should either be grabbed directly from the https://github.com/resoai/tileboard/releases page (the TileBoard.zip file) or the project should be built manually by checking out and running npm i and npm build (which produces built files in the build/ directory).

Please report any potential issues in the repo.

Hi There,

Can anyone think of any reason why my Heating Climate control tile isn’t displaying correctly? I am unable to see the heating modes:

Heating

Code is:

{
                            position: [0, 2],
                            id: "climate.heating",
                            type: TYPES.CLIMATE,
                            width: 2,
                            height: 1,
                            customStyles: {
                                'background-color': 'grey'
                            },
                            unit: 'C',
                            useHvacMode: true, // Optional: enables HVAC mode (by default uses PRESET mode)
                            state: function (item, entity) {
                                return 'Current ' +
                                    entity.attributes.current_temperature;
                            }
}

Many Thanks

will do … this seems to be an issue with firefox … when run on safari which i use on
the actual ipad the custom.css works as before v1.x