Announcement: HADashboard v2 Beta3!

Thankyou for your continuing patience and feedback. Today I would like to present you with Beta 3 :slight_smile:

For new users, the installation instructions remain the same as in the original thread.

If you have already installed HADashboard, to grab the new version just run:

$ git pull origin

from your repository root, e.g. <base_path>/appdaemon_dashboard/appdaemon if you followed the original install.

If you are running directly from the repository as per the instructions, a simple restart should be all that is needed. If you ran the full install you will need to do the following:

$ sudo pip3 uninstall appdaemon
$ sudo pip3 install .

(note the period at the end)

If you are using docker, rerun the steps to create a new docker image.

Here is the new stuff for you to look at:

2.0.0beta3

  • Added alarm widget
  • Added camera widget
  • Dimmers and groups now allow you to specify a list of on parameters to control brightness, color etc.
  • Edited code for PEP8 Compliance
  • Widgets can now have a default size other than (1x1)
  • Added empty to layouts for multiple blank lines
  • Numeric values can now have a comma as the decimal separator
  • Add Global Parameters
  • Rewrote media widget

Fixes

  • IFrames now follow widget borders better
  • IFrame now allows user input
  • Fixed a race condition on dashboard reload

Breaking Changes

  • Media Widget now needs to be 2 cells high
9 Likes

AD beta 3 up and running!!! I knew I didnā€™t go into work today for a good reason.

3 Likes

I followed the standard docker install process and got this error:

pi@raspberrypi:~/appdaemon_dashboard/appdaemon $ docker build -t appdaemon .
Sending build context to Docker daemon 9.658 MB
Step 1 : FROM python:3.4
3.4: Pulling from library/python
6d827a3ef358: Pull complete
2726297beaf1: Pull complete
7d27bd3d7fec: Pull complete
44ae682c18a3: Pull complete
824bd01a76a3: Pull complete
56c871962799: Pull complete
82427238bf09: Pull complete
Digest: sha256:4d086dd5605f90c162552dec28336eb9b77d80243745c36579ade3012871cc00
Status: Downloaded newer image for python:3.4
 ---> c588c14f484e
Step 2 : RUN mkdir -p /usr/src/app
 ---> Running in 6ef8cead0be1
panic: standard_init_linux.go:175: exec user process caused "exec format error" [recovered]
        panic: standard_init_linux.go:175: exec user process caused "exec format error"

Edit: more error codes

goroutine 1 [running, locked to thread]:
panic(0x3360b0, 0x56e73980)
        /usr/local/go/src/runtime/panic.go:481 +0x330
github.com/urfave/cli.HandleAction.func1(0x56eaf958)
        /go/src/github.com/opencontainers/runc/Godeps/_workspace/src/github.com/urfave/cli/app.go:478 +0x328
panic(0x3360b0, 0x56e73980)
        /usr/local/go/src/runtime/panic.go:443 +0x448
github.com/opencontainers/runc/libcontainer.(*LinuxFactory).StartInitialization.func1(0x56eaf5e0, 0x56df8298, 0x56eaf668)
        /go/src/github.com/opencontainers/runc/Godeps/_workspace/src/github.com/opencontainers/runc/libcontainer/factory_linux.go:259 +0x13cgithub.com/opencontainers/runc/libcontainer.(*LinuxFactory).StartInitialization(0x56e742d0, 0x4645d508, 0x56e73980)
        /go/src/github.com/opencontainers/runc/Godeps/_workspace/src/github.com/opencontainers/runc/libcontainer/factory_linux.go:277 +0x498main.glob.func8(0x56e66320, 0x0, 0x0)
        /go/src/github.com/opencontainers/runc/main_unix.go:26 +0x58
reflect.Value.call(0x2eb600, 0x3f2948, 0x13, 0x3648b8, 0x4, 0x56eaf918, 0x1, 0x1, 0x0, 0x0, ...)
        /usr/local/go/src/reflect/value.go:435 +0xeb4
reflect.Value.Call(0x2eb600, 0x3f2948, 0x13, 0x56eaf918, 0x1, 0x1, 0x0, 0x0, 0x0)
        /usr/local/go/src/reflect/value.go:303 +0x84
github.com/urfave/cli.HandleAction(0x2eb600, 0x3f2948, 0x56e66320, 0x0, 0x0)
        /go/src/github.com/opencontainers/runc/Godeps/_workspace/src/github.com/urfave/cli/app.go:487 +0x230
github.com/urfave/cli.Command.Run(0x366cd8, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3d0d50, 0x51, 0x0, ...)
        /go/src/github.com/opencontainers/runc/Godeps/_workspace/src/github.com/urfave/cli/command.go:191 +0xcd0
github.com/urfave/cli.(*App).Run(0x56e5e240, 0x56e40050, 0x2, 0x2, 0x0, 0x0)
        /go/src/github.com/opencontainers/runc/Godeps/_workspace/src/github.com/urfave/cli/app.go:240 +0x84c
main.main()
        /go/src/github.com/opencontainers/runc/main.go:137 +0xbb4

We donā€™t currently have docker support for Raspberry PI - you will need to follow the PIP install process.

1 Like

Change the FROM per the instructions I had in the original thread. Youā€™re pulling x86 binaries into the image rather than ARM

1 Like

Thanks - when we get through the beta Iā€™ll see about getting a PI Dockerfile in there, I wasnā€™t aware you were on Pi Docker - thanks again for the assist!

1 Like

Just a few observations.

  1. AWESOME!!!
  2. Nan is back on the media players
  3. if you arenā€™t using the square widgets (circular configuration), the -/+ on the input_sliders are to far outside the bounds of the widget. Can they be moved in from the very edge of the widget just a little?
  4. What was the reasoning for making the Media_players 2 high? If you have multiple devices (Tv, Directv box, Apple Tv, roku) in one room, it takes up a lot of real estate.
  5. The state_map works for numbers now. :slight_smile:
  6. Again AWESOME!!!

Iā€™m wondering if thereā€™s some way to make that FROM line more variable, but yeah typically I see projects providing two Docker files and just specifying a different command line for the ā€˜otherā€™ file. So Iā€™m guessing that means there isnā€™t a slick solution. :slight_smile:

It is possible to have everything else in the file pulled from a common third file, but, this build is so simple anyhowā€¦

1 Like

Lol if your boss knewā€¦

1 Like

They are laying me off in October (closing the facility). My boss could care less what I do right now. :slight_smile:

Media player is a complete rewrite so not unexpected ā€¦

Which field and under what circumstances?

Sure

I wanted to add more info on the media and eventually add pictures,there was no space for that in a 2x1 widget. I had been thinking of making a mini-player widget without any of the bells and whistles - perhaps just the track name, would that work?[quote=ā€œturboc, post:7, topic:14504ā€]
5. The state_map works for numbers now. :slight_smile:6. Again AWESOME!!!
[/quote]

Glad to hear it on both counts :slight_smile:

1 Like

I am excited like a little boy testing the new widgets :slight_smile:

2 Likes

Yeah, Iā€™ll create a separate raspi docker file based on your input, I did that for dashboard v1, I just never got around to it for AppDaemon because noone asked and I don;t use Docker or Rasberry Pis anymore (although I have 3 in a drawer and live the little guys).

1 Like
  1. Looking at two media_players (TV and DirecTv). When they are off, both show Nan at the bottom for what I presume to be the volume. When the TVis on, the volume shows as it should. When the DirecTv is on, NAN still shows at the bottom since there isnā€™t a volume associated with it. And some strange number shows up instead of the show in the middle.

  2. Yes a smaller no-frills media player that maybe just had the show name or input and the volume +/- and that would bring up a popup like HA does when you click on it where you would get the more full featured widget would be great.

  3. Still very awesome. Having fun with skins today. I have to catch up with @ReneTode :slight_smile:

1 Like

OK, I can fix the NaN easily enough - I will just have it show nothing instead of NaN and that should cover both cases.

For the second, not sure what is going on, Can you grab the state information for that entity from your developer tools so I can see which fields are being set for what? I am testing on sonus and I guess things are alittle different for other media players.

Iā€™m running into 2 issues with b2/b3. I had a SD Card crash while running v2 b2, so I reinstalled everything fresh. Everything was working fine before the crash, so Iā€™m not sure what else has changed. After fixing the aiohttp issue (reverting to 1.2.x from 2.0.x), Iā€™m now getting the following errors in any dash file that uses includes:

Include ERRORS:

2017-03-27 10:03:22.447088 INFO Compiling dashboard 'Jeremy'
2017-03-27 10:03:22.858633 WARNING Error while loading dashboard './conf/dashboards/./conf/dashboards/header_vertical.yaml'
2017-03-27 10:03:23.084873 WARNING Error while loading dashboard './conf/dashboards/./conf/dashboards/nav_vertical_main.yaml'
2017-03-27 10:03:23.342931 INFO function [compile_dash] finished in 910 ms

CSS ERRORS:

2017-03-27 10:15:03.427497 INFO Compiling dashboard 'Jeremy'
2017-03-27 10:15:03.736066 WARNING Error while loading dashboard './conf/dashboards/./conf/dashboards/header_vertical.yaml'
2017-03-27 10:15:03.771704 WARNING Variable definition not found in CSS Skin variables: $switch_state_text_style
2017-03-27 10:15:03.807662 WARNING Variable definition not found in CSS Skin variables: $switch_state_text_style
2017-03-27 10:15:03.849554 WARNING Variable definition not found in CSS Skin variables: $light_unit_style
2017-03-27 10:15:03.891987 WARNING Variable definition not found in CSS Skin variables: $light_unit_style
2017-03-27 10:15:03.928382 WARNING Variable definition not found in CSS Skin variables: $switch_state_text_style
2017-03-27 10:15:03.964281 WARNING Variable definition not found in CSS Skin variables: $switch_state_text_style
2017-03-27 10:15:03.965586 WARNING Error while loading dashboard './conf/dashboards/./conf/dashboards/nav_vertical_main.yaml'
2017-03-27 10:15:04.198140 INFO function [compile_dash] finished in 787 ms
2017-03-27 10:15:08.789678 INFO function [compile_dash] finished in 16 ms
2017-03-27 10:15:10.212608 INFO New dashboard connected: Jeremy's Dashboard
2017-03-27 10:32:10.176949 INFO Dashboard disconnected
2017-03-27 10:40:20.924264 INFO Compiling dashboard 'Lindsey'
2017-03-27 10:40:21.372975 WARNING Variable definition not found in CSS Skin variables: $sensor_text_style
2017-03-27 10:40:21.396842 WARNING Variable definition not found in CSS Skin variables: $sensor_text_style
2017-03-27 10:40:21.420791 WARNING Variable definition not found in CSS Skin variables: $sensor_text_style
2017-03-27 10:40:21.444841 WARNING Variable definition not found in CSS Skin variables: $sensor_text_style
2017-03-27 10:40:21.468637 WARNING Variable definition not found in CSS Skin variables: $sensor_text_style
2017-03-27 10:40:21.589733 WARNING Variable definition not found in CSS Skin variables: $switch_state_text_style
2017-03-27 10:40:21.626387 WARNING Variable definition not found in CSS Skin variables: $switch_state_text_style
2017-03-27 10:40:21.668513 WARNING Variable definition not found in CSS Skin variables: $light_unit_style
2017-03-27 10:40:21.710869 WARNING Variable definition not found in CSS Skin variables: $light_unit_style
2017-03-27 10:40:21.747386 WARNING Variable definition not found in CSS Skin variables: $switch_state_text_style
2017-03-27 10:40:21.783491 WARNING Variable definition not found in CSS Skin variables: $switch_state_text_style
2017-03-27 10:40:22.081538 INFO function [compile_dash] finished in 1173 ms
2017-03-27 10:40:23.694648 INFO New dashboard connected: Lindsey's Dashboard

Any dash that doesnā€™t use includes works fine, but still throws CSS errors.

~/appdaemon_dashboard/appdaemon/conf/dashboards/Jeremy.dash

#
# Main arguments, all optional
#
title: Jeremy's Dashboard
widget_dimensions: [100, 116]
widget_margins: [3, 3]
columns: 4

label:
    widget_type: label
    text: Jeremy
    
layout:
    - include: header_vertical
    - jeremy_bedside_lamp, lindsey_bedside_lamp, spacer, closet_light
    - bathroom_light, bathroom_fan, spacer, porch_lights
    - include: nav_vertical_main

bathroom_fan:
    widget_type: switch
    title: Bathroom Fan
    entity: switch.bathroom_fan_switch_3_0
    icon_on: mdi-fan
    icon_off: mdi-fan

bathroom_light:
    widget_type: light
    title: Bathroom Light
    entity: light.bathroom_light_level_2_0
    icon_on: mdi-lightbulb
    icon_off: mdi-lightbulb
    on_level: 255
    
closet_light:
    widget_type: light
    title: Closet Light
    entity: light.master_bedroom_c_level_4_0
    icon_on: mdi-lightbulb
    icon_off: mdi-lightbulb
    on_level: 255

jeremy_bedside_lamp:
    widget_type: switch
    title: Jeremy's Bedside Lamp
    entity: switch.zap1_shell_pilight
    icon_on: mdi-lamp
    icon_off: mdi-lamp

lindsey_bedside_lamp:
    widget_type: switch
    title: Lindsey's Bedside Lamp
    entity: switch.zap2_shell_pilight
    icon_on: mdi-lamp
    icon_off: mdi-lamp

porch_lights:
    widget_type: switch
    title: Porch Lights
    entity: switch.porch_outlet_switch_5_0
    icon_on: mdi-lightbulb
    icon_off: mdi-lightbulb

~/appdaemon_hadashboard/appdaemon/conf/dashboards/header_vertical.yaml

layout: 
    - clock(2x1), weather_high, weather_precipitation
    - alarm_status(2x1), weather_low, weather_humidity
    - jeremy_location, lindsey_location, sunrise, sunset

alarm_status:
    widget_type: sensor
    title: Alarm Status
    entity: alarm_control_panel.house_alarm
    icon_on: fa-lock
    icon_off: fa-unlock-alt

clock:
    widget_type: clock
   
jeremy_location:
    widget_type: device_tracker
    title: Jeremy's Location
    device: jeremyoiphone
    icon_on: fa-male
    icon_off: fa-male

lindsey_location:
    widget_type: device_tracker
    title: Lindsey's Location
    device: lindseyowensiphone
    icon_on: fa-female
    icon_off: fa-female

sunrise:
    widget_type: sensor
    title: Sunrise
    entity: sensor.sunrise_time
    units: "AM"

sunset:
    widget_type: sensor
    title: Sunset
    entity: sensor.sunset_time
    units: "PM"

weather_high:
    widget_type: sensor
    title: Today's High
    units: "&deg;F"
    precision: 0
    entity: sensor.dark_sky_daily_high_temperature

weather_humidity:
    widget_type: sensor
    title: Humidity
    units: "%"
    precision: 0
    entity: sensor.dark_sky_humidity

weather_low:
    widget_type: sensor
    title: Today's Low
    units: "&deg;F"
    precision: 0
    entity: sensor.dark_sky_daily_low_temperature

weather_precipitation:
    widget_type: sensor
    title: Chance of Precipitation
    units: "%"
    precision: 0
    entity: sensor.dark_sky_precip_probability

~/appdaemon_dashboard/appdaemon/assets/css/jeremy/dashboard.css

html {
	font-size:100%;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	padding:0;
}

body {
	margin:0;
	background:transparent url(/css/jeremy/img/jeremy-2.jpg) no-repeat 0 0 fixed;
	background-size:cover;
	font-size:14px;
	color:#00aaff;
	padding:0;
	font-family:'Helvetica Neue','Helvetica','Open Sans','Arial';
}

b,strong {
	font-weight:700;
}

a {
	text-decoration:none;
	color:inherit;
}

img {
	border:0;
	-ms-interpolation-mode:bicubic;
	vertical-align:middle;
}

img,object {
	max-width:100%;
}

iframe {
	max-width:100%;
}

table {
	border-collapse:collapse;
	border-spacing:0;
	width:100%;
}

td {
	vertical-align:middle;
}

ul,ol {
	padding:0;
	margin:0;
}

h4,h5,p {
	padding:0;
	margin:0;
}

h1 {
	padding:0;
	margin:0;
	margin-bottom:6px;
	text-align:center;
	font-size:100%;
	font-weight:200;
}

h2 {
	padding:0;
	margin:0;
	font-size:220%;
	font-weight:400;
/* 	color:#fff; */
}

h3 {
	padding:0;
	margin:0;
	font-size:125%;
	font-weight:300;
	color:#fff;
}

.dashboard_main {
	margin:0 auto;
}

.gridster {
	margin:0 auto;
}

.icon-background {
	pointer-events:none;
	width:100%!important;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	opacity:.1;
	font-size:1375%;
	text-align:center;
	margin-top:82px;
}

.list-nostyle {
	list-style:none;
}

.gridster ul {
	list-style:none;
}

.gs-w {
	width:100%;
	display:table;
	cursor:pointer;
}

.widget {
	padding:0;
	text-align:center;
	width:100%;
	display:table-cell;
	vertical-align:middle;
	background: hsla(33, 12%, 67%, 0.41);
#	background-color:#444;
    border: 1px groove yellow;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

.widget:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -15;
  background: url(/css/jeremy/img/jeremy-2.jpg) 0 / cover fixed;
  
  filter: blur(20px);
  -webkit-filter: blur(20px);
  -moz-filter: blur(20px);
  -o-filter: blur(20px);
  -ms-filter: blur(20px);
}

.widget:hover {
  background: hsla(40, 69%, 40%, 0.81);
}

.title {
	color:#fff;
}

.icon-inactive {
	color:#00f;
	font-size:300%;
}

.icon-active {
	color:#ff0;
	font-size:300%;
}

.icon
{
  font-size: 300%;
}

#container {
	padding-top:0;
}

.unit {
	font-size:130%!important;
	vertical-align:baseline!important;
}

.value
{
  color: inherit;
}

.valueunit
{
  top: 52px !important;
}

~/appdaemon_dashboard/appdaemon/assets/css/jeremy/variables.yaml

head_includes:

body_includes:

### Styles ###
blue: "#00aaff"
gray_very_dark: "#333"
gray_dark: "#444"
gray_medium: "#666"
gray_light: "#888"
green: "#aaff00"
orange: "#ffaa00"
purple: "#aa00ff"
red: "#ff0055"
white: "#fff"
white_medium: "#aaa"
yellow: "#ffff00"

red_background: "background-color: rgba(93, 65, 65, 0.7); color: wheat"
orange_background: "background-color: rgba(195, 99, 59, 0.5); color: wheat"
green_background: "background-color: rgba(61, 81, 61, 0.7); color: darkorange"
black_background: "background-color: rgba(0, 0, 0, 0.5)"

style_value: ""
style_unit: ""

### Page and widget defaults ###
background_style: "background-color: rgba(68,68,68,0.7); color: $blue;"
text_style: "font-size: 50%; color: #fff"
title: ""

### These are used for icons and indicators ###
style_inactive: "color: $gray_light"
style_active: "color: $yellow"
style_active_warn: "color: $red"
style_info: "color: $blue"
#style_title: "color: $white; font-weight: 400"
style_title: "color: $yellow; font-weight: 400"
style_title2: "color: $white; font-weight: 400"

### Widget Default Definitions ###
binary_sensor_icon_on: fa-bullseye
binary_sensor_icon_off: fa-minus
binary_sensor_icon_style_active: $style_active_warn
binary_sensor_icon_style_inactive: $style_inactive
binary_sensor_title_style: $style_title
binary_sensor_title2_style: $style_title2
binary_sensor_widget_style: $background_style

clock_date_style: "color: $yellow; font-weight: 400"
clock_time_style: "color: $blue"
clock_widget_style: $background_style

device_tracker_icon_on: fa-user
device_tracker_icon_off: fa-user
device_tracker_icon_style_active: $style_active
device_tracker_icon_style_inactive: $style_inactive
device_tracker_title_style: $style_title
device_tracker_title2_style: $style_title2
device_tracker_widget_style: $background_style
#device_tracker_state_text_style: "color: $white; font-weight: 400"
device_tracker_state_text_style: "color: $blue; font-weight: 400"

group_icon_on: fa-circle
group_icon_off: fa-circle-thin
group_icon_up: fa-plus
group_icon_down: fa-minus
group_title_style: $style_title
group_title2_style: $style_title2
group_icon_style_active: $style_active
#group_icon_style_inactive: "$style_inactive; color: antiquewhite"
group_icon_style_inactive: "$style_inactive; color: $yellow"
#group_state_text_style: "color: $white"
group_state_text_style: "color: $yellow"
group_level_style: "color: $gray_light"
group_level_up_style: "color: $gray_light"
group_level_down_style: "color: $gray_light"
group_widget_style: $background_style

input_boolean_icon_on: fa-sliders
input_boolean_icon_off: fa-sliders
input_boolean_icon_style_active: $style_active
input_boolean_icon_style_inactive: $style_inactive
input_boolean_title_style: $style_title
input_boolean_title2_style: $style_title2
input_boolean_widget_style: $background_style

input_slider_icon_up: fa-plus
input_slider_icon_down: fa-minus
input_slider_title_style: $style_title
input_slider_title2_style: $style_title2
input_slider_level_style: "color: $blue"
input_slider_unit_style: "color: $blue"
input_slider_level_up_style: "color: $gray_light"
input_slider_level_down_style: "color: $gray_light"
input_slider_widget_style: $background_style

label_title_style: $style_title
label_title2_style: $style_title2
#label_text_style: "color: $white"
label_text_style: "color: $yellow"
label_widget_style: $background_style

light_icon_on: fa-lightbulb-o
light_icon_off: fa-lightbulb-o
light_icon_up: fa-plus
light_icon_down: fa-minus
light_title_style: $style_title
light_title2_style: $style_title2
light_icon_style_active: "color: $yellow"
#light_icon_style_inactive: "$style_inactive; color: antiquewhite"
light_icon_style_inactive: "$style_inactive; color: $gray_medium"
#light_state_text_style: "color: $white"
light_state_text_style: "color: $yellow"
light_level_style: "color: $gray_light"
light_level_up_style: "color: $gray_light"
light_level_down_style: "color: $gray_light"
light_widget_style: $background_style

media_player_icon_on: fa-music
media_player_icon_off: fa-music
media_player_icon_up: fa-plus
media_player_icon_down: fa-minus
media_player_title_style: $style_title
media_player_title2_style: $style_title2
media_player_icon_style_active: $style_active
media_player_icon_style_inactive: $style_inactive
#media_player_state_text_style: "color: $white"
media_player_state_text_style: "color: $yellow"
media_player_level_style: "color: $gray_light"
media_player_level_up_style: "color: $gray_light"
media_player_level_down_style: "color: $gray_light"
media_player_widget_style: $background_style

mode_icon_on: fa-arrows-alt
mode_icon_off: fa-arrows-alt
mode_icon_style_active: $style_active
mode_icon_style_inactive: $style_inactive
mode_title_style: $style_title
mode_title2_style: $style_title2
mode_widget_style: $background_style

navigate_icon_active: fa-spinner fa-spin
navigate_icon_inactive: fa-gear
#navigate_icon_active_style: "color: $white"
navigate_icon_active_style: "color: $yellow"
#navigate_icon_inactive_style: "color: $white"
navigate_icon_inactive_style: "color: $yellow"
navigate_title_style: $style_title
navigate_title2_style: $style_title2
navigate_widget_style: $background_style

reload_icon_active: fa-spinner fa-spin
reload_icon_inactive: fa-refresh
#reload_icon_active_style: "color: $white"
reload_icon_active_style: "color: $yellow"
#reload_icon_inactive_style: "color: $white"
reload_icon_inactive_style: "color: $yellow"
reload_title_style: $style_title
reload_title2_style: $style_title2
reload_widget_style: $background_style

scene_icon_on: fa-square
scene_icon_off: fa-square
scene_icon_style_active: $style_active
scene_icon_style_inactive: $style_inactive
scene_title_style: $style_title
scene_title2_style: $style_title2
scene_widget_style: $background_style

sensor_title_style: $style_title
sensor_title2_style: $style_title2
sensor_value_style: $style_value
sensor_unit_style: $style_unit
sensor_widget_style: $background_style

switch_icon_on: fa-circle
switch_icon_off: fa-circle-thin
switch_icon_style_active: $style_active
#switch_icon_style_inactive: "$style_inactive; color: antiquewhite"  
switch_icon_style_inactive: "$style_inactive; color: $gray_medium"
switch_title_style: $style_title
switch_title2_style: $style_title2
switch_widget_style: $background_style

text_sensor_title_style: $style_title
text_sensor_title2_style: $style_title2
#text_sensor_text_style: "color: $white"
text_sensor_text_style: "color: $yellow"
text_sensor_widget_style: $background_style

weather_main_style: "color: $orange"
weather_unit_style: "color: $orange"
weather_sub_style: "color: $blue"
weather_widget_style: $background_style

Any ideas?

group

A widget to monitor and contol a group of lights

Mandatory Arguments

entity - the entity_id of the media player
Optional Arguments:

title - the title displayed on the tile
title2 - a second line of title text
monitored_entity - the actual entity to monitor
Groups currently do no report back state changes correctly when attributes light brightness are changed. As a workaround, instead of looking for state changes in the group, we use monitored_entity instead. This is not necessary of there are no dimmable lights in the group, however if there are, it should be set to the entity_id of one of the dimmable group members.

Cosmetic Arguments

widget_style
icon_on
icon_off
icon_up
icon_down
title_style
title2_style
icon_style_active
icon_style_inactive
text_style
level_style
level_up_style
level_down_style

This seems a bit weired to me ā€¦ group and media_player in one?

It looks like the media_content_id but you probably wanted the media_title.

media_player.den_directv playing media_content_id: 4101458
media_content_type: movie
media_title: Mike & Mike
supported_features: 21425
friendly_name: DEN_Directv
media_duration: 10800
media_channel: ESNHD (207)

Iā€™m playing with skins today and found that there are some new things I canā€™t control with the old variables file. I think the new things are the following. I did a compare between my custom skin variables file and the default variables file to get this list. Is there a better way to figure out what changed?

gray_very_dark: ā€œ#333ā€
alarm_title_style: $style_title
alarm_title2_style: $style_title2
alarm_state_style: ā€œcolor: $white; font-size: 100%ā€
alarm_widget_style: $background_style

media_player_icon_play: fa-play
media_player_icon_pause: fa-pause
media_player_icon_stop: fa-stop
media_player_media_title_style: $style_title2
media_player_album_style: $style_title2
media_player_artist_style: $style_title2
media_player_title2_style: $style_title2
media_player_units_style: ā€œcolor: $whiteā€

alarm_title_style: ā€œcolor: $blueā€
alarm_widget_style: $background_style
alarm_title2_style: $style_title2
alarm_state_style: ā€œcolor: $white;font-size: 100%ā€
alarm_panel_state_style: ā€œcolor: $whiteā€
alarm_panel_code_style: ā€œcolor: $whiteā€
alarm_panel_background_style: ā€œbackground-color: $gray_darkā€
alarm_panel_button_style: ā€œbackground-color: $gray_mediumā€

camera_widget_style: $background_style
camera_title_style: $style_title

Typo will be fixed