Device battery tracker in HADashboard

I’ve just finished setting up my iPad mini as a HADashboard device which I’ve put in Kiosk mode so only that application will run/show, but since doing this, it seems that the HA iOS app can no longer update the device’s battery.

Is there anyway to make the two battery widgets read the data directly from the device rather than the HA sensor? Same way that I assume the clock works?

Cheers

1 Like

if you know a way that you can read out the batterystatus with javascript, then it is possible.
but you need to create a custom widget for that.
the clock isnt connected to HA, because time is a default part from javascript, everything else is a connection to HA. (by design)

Hi @icaman004, I really like your design!
Can you share you skin \ configuration?

Hi @mizrachiran, it’s not a skin, just individually configured components. Here’s a screenshot of the final version and code:

#
# Main arguments, all optional
#
title: HOME
widget_dimensions: [120, 120]
widget_margins: [3, 3]
widget_size: [1, 1]
columns: 8
global_parameters:
    use_comma: 0
    precision: 1

camera:
  widget_type: switch
  title: CAMERA
  entity: switch.camera
  use_hass_icon: 1
  state_text: 1
  state_map:
    "on": "ON"
    "off": "OFF"
  icon_style_active: "color: gold; font-size: 500%; top: 20px;"
  icon_style_inactive: "color: LightGray; font-size: 500%; top: 20px;"
  widget_style: "background: IndianRed; font-family: Tahoma, Geneva, sans-serif;"

bedtime:
  widget_type: script
  title: BEDTIME
  entity: script.bedtime
  use_hass_icon: 1
  state_text: 1
  state_map:
    "on": ACTIVE
    "off": "OFF"
  icon_style_active: "color: gold; font-size: 500%; top: 20px;"
  icon_style_inactive: "color: LightGray; font-size: 500%; top: 20px;"
  widget_style: "background: IndianRed; font-family: Tahoma, Geneva, sans-serif;"

leaving:
  widget_type: script
  title: LEAVING HOME
  entity: script.leaving
  use_hass_icon: 1
  state_text: 1
  state_map:
    "on": ACTIVE
    "off": "OFF"
  icon_style_active: "color: gold; font-size: 430%; top: 25px;"
  icon_style_inactive: "color: LightGray; font-size: 430%; top: 25px;"
  widget_style: "background: IndianRed; font-family: Tahoma, Geneva, sans-serif;"
 
air_temp_c:
  widget_type: sensor
  title: TEMPERATURE
  entity: sensor.bom_essendon_ap_air_temp_c
  precision: 0
  units: "°C"
  value_style: "color: white; font-size: 300%;"
  unit_style: "color: white; font-size: 125%;"
  title_style: "color: white"
  widget_style: "background: DarkCyan; font-family: Tahoma, Geneva, sans-serif;"

relative_humidity:
  widget_type: sensor
  title: HUMIDITY
  entity: sensor.bom_essendon_ap_relative_humidity
  precision: 0
  units: "%"
  value_style: "color: white; font-size: 300%;"
  unit_style: "color: white; font-size: 125%;"
  title_style: "color: white"
  widget_style: "background: DarkCyan; font-family: Tahoma, Geneva, sans-serif;"

hasspad_battery_state:
  widget_type: binary_sensor
  title: STATE
  entity: sensor.ipad_battery_state
  widget_style: "background: SlateGray; font-family: Tahoma, Geneva, sans-serif;"
  title_style: "color: white"
  use_hass_icon: 1
  icon_style_active: "color: white; font-size: 450%; top: 30px"
  icon_style_inactive: "color: white; font-size: 450%; top: 30px"

hasspad_battery_level:
  widget_type: sensor
  title: BATTERY
  entity: sensor.ipad_battery_level
  precision: 0
  units: "%"
  widget_style: "background: SlateGray; font-family: Tahoma, Geneva, sans-serif;"
  value_style: "color: white; font-size: 300%;"
  unit_style: "color: white; font-size: 125%;"
  title_style: "color: white"

clock:
  widget_type: clock
  widget_style: "background: DarkCyan; font-size: 150%; font-family: Tahoma, Geneva, sans-serif;"
  date_style: "color: white"
  time_style: "color: white"
  time_format: "24hr"

livingroom_cold:
  widget_type: scene
  entity: scene.livingroom_cold
  title: "5500K"
  widget_style: "background: MediumPurple; font-family: Tahoma, Geneva, sans-serif;"
  title_style: "color: white"
  icon_style_active: "color: #FFFFFB; font-size: 500%; top: 25px"
  icon_style_inactive: "color: lightgray; font-size: 500%; top: 25px;"
  icon_off: mdi-lightbulb-outline
  icon_on: mdi-lightbulb

livingroom_normal:
  widget_type: scene
  entity: scene.livingroom_normal
  title: "3200K"
  widget_style: "background: MediumPurple; font-family: Tahoma, Geneva, sans-serif;"
  title_style: "color: white"
  icon_style_active: "color: #FFF1E0; font-size: 500%; top: 25px"
  icon_style_inactive: "color: lightgray; font-size: 500%; top: 25px;"
  icon_off: mdi-lightbulb-outline
  icon_on: mdi-lightbulb

livingroom_warm:
  widget_type: scene
  entity: scene.livingroom_warm
  title: "2500K"
  widget_style: "background: MediumPurple; font-family: Tahoma, Geneva, sans-serif;"
  title_style: "color: white"
  icon_style_active: "color: #FFC58F; font-size: 500%; top: 25px"
  icon_style_inactive: "color: lightgray; font-size: 500%; top: 25px;"
  icon_off: mdi-lightbulb-outline
  icon_on: mdi-lightbulb

bar_cold:
  widget_type: scene
  entity: scene.bar_cold
  title: "5500K"
  widget_style: "background: MediumPurple; font-family: Tahoma, Geneva, sans-serif;"
  title_style: "color: white"
  icon_style_active: "color: #FFFFFB; font-size: 500%; top: 25px"
  icon_style_inactive: "color: lightgray; font-size: 500%; top: 25px;"
  icon_off: mdi-lightbulb-outline
  icon_on: mdi-lightbulb

bar_normal:
  widget_type: scene
  entity: scene.bar_normal
  title: "3200K"
  widget_style: "background: MediumPurple; font-family: Tahoma, Geneva, sans-serif;"
  title_style: "color: white"
  icon_style_active: "color: #FFF1E0; font-size: 500%; top: 25px"
  icon_style_inactive: "color: lightgray; font-size: 500%; top: 25px;"
  icon_off: mdi-lightbulb-outline
  icon_on: mdi-lightbulb

bar_warm:
  widget_type: scene
  entity: scene.bar_warm
  title: "2500K"
  widget_style: "background: MediumPurple; font-family: Tahoma, Geneva, sans-serif;"
  title_style: "color: white"
  icon_style_active: "color: #FFC58F; font-size: 500%; top: 25px"
  icon_style_inactive: "color: lightgray; font-size: 500%; top: 25px;"
  icon_off: mdi-lightbulb-outline
  icon_on: mdi-lightbulb

watch_tv:
  widget_type: input_boolean
  entity: input_boolean.watch_tv
  title: "WATCH TV"
  widget_style: "background: #ffb347; font-family: Tahoma, Geneva, sans-serif;"
  title_style: "color: white"
  icon_style_active: "color: MediumPurple; font-size: 650%; top: 75px"
  icon_style_inactive: "color: WhiteSmoke; font-size: 650%; top: 75px"
  icon_off: mdi-lightbulb-outline
  icon_on: mdi-lightbulb
  state_text: 1
  state_map:
    "on": "ON"
    "off": "OFF"

barlightdown:
  widget_type: script
  entity: script.barlightdown
  use_hass_icon: 1
  widget_style: "background: MediumPurple;"
  icon_style_active: "color: RebeccaPurple; font-size: 500%; top: 20px;"
  icon_style_inactive: "color: LightGray; font-size: 500%; top: 20px;"

barlightup:
  widget_type: script
  entity: script.barlightup
  use_hass_icon: 1
  widget_style: "background: MediumPurple;"
  icon_style_active: "color: RebeccaPurple; font-size: 500%; top: 20px;"
  icon_style_inactive: "color: LightGray; font-size: 500%; top: 20px;"

livinglightdown:
  widget_type: script
  entity: script.livinglightdown
  use_hass_icon: 1
  widget_style: "background: MediumPurple;"
  icon_style_active: "color: RebeccaPurple; font-size: 500%; top: 20px;"
  icon_style_inactive: "color: LightGray; font-size: 500%; top: 20px;"

livinglightup:
  widget_type: script
  entity: script.livinglightup
  use_hass_icon: 1
  widget_style: "background: MediumPurple;"
  icon_style_active: "color: RebeccaPurple; font-size: 500%; top: 20px;"
  icon_style_inactive: "color: LightGray; font-size: 500%; top: 20px;"

living_climate:
  widget_type: switch
  entity: switch.living
  title: "AC SWITCH"
  use_hass_icon: 1
  state_text: 1
  state_map:
    "on": "ON"
    "off": "OFF"
  icon_style_active: "color: coral; font-size: 1000%;"
  icon_style_inactive: "color: LightGray; font-size: 1000%;"
  widget_style: "background: SteelBlue; font-family: Tahoma, Geneva, sans-serif;"

inside_temperature:
  widget_type: sensor
  title: TEMPERATURE
  entity: sensor.inside_temperature
  precision: 0
  units: "°C"
  value_style: "color: white; font-size: 300%;"
  unit_style: "color: white; font-size: 140%;"
  title_style: "color: white"
  widget_style: "background: SteelBlue; font-family: Tahoma, Geneva, sans-serif;"

ac_operation:
  widget_type: input_select
  title: OPERATION
  entity: input_select.ac_operation
  value_style: "color: white; font-size: 400%;"
  unit_style: "color: white; font-size: 140%;"
  title_style: "color: white"
  widget_style: "background: SteelBlue; font-family: Tahoma, Geneva, sans-serif;"
  select_style: "background: SteelBlue; font-family: Tahoma, Geneva, sans-serif; color: white; font-size: 150%;"

ac_fan:
  widget_type: input_select
  title: FAN MODE
  entity: input_select.ac_fan
  value_style: "color: white; font-size: 400%;"
  unit_style: "color: white; font-size: 140%;"
  title_style: "color: white"
  widget_style: "background: SteelBlue; font-family: Tahoma, Geneva, sans-serif;"
  select_style: "background: SteelBlue; font-family: Tahoma, Geneva, sans-serif; color: white; font-size: 150%;"

ac_temp:
  widget_type: input_slider
  title: TARGET TEMP
  entity: input_number.ac_temp
  precision: 0
  units: "°C"
  slider_style: "color: white; font-size: 300%;"
  unit_style: "color: white; font-size: 140%;"
  title_style: "color: white"
  widget_style: "background: SteelBlue; font-family: Tahoma, Geneva, sans-serif;"

inside_humidity:
  widget_type: sensor
  title: HUMIDITY
  entity: sensor.inside_humidity
  precision: 0
  units: "%"
  value_style: "color: white; font-size: 300%;"
  unit_style: "color: white; font-size: 140%;"
  title_style: "color: white"
  widget_style: "background: SteelBlue; font-family: Tahoma, Geneva, sans-serif;"

living_light:
  widget_type: light
  entity: light.living
  use_hass_icon: 1
  title: LIVING LIGHT
  widget_style: "background: RebeccaPurple;"
  icon_style_active: "color: coral; font-size: 600%; top: 15px;"
  icon_style_inactive: "color: LightGray; font-size: 600%; top: 15px;"

bar_light:
  widget_type: light
  entity: light.bar
  use_hass_icon: 1
  title: BAR LIGHT
  widget_style: "background: RebeccaPurple;"
  icon_style_active: "color: coral; font-size: 500%; top: 22px;"
  icon_style_inactive: "color: LightGray; font-size: 500%; top: 22px;"

tvon:
  widget_type: switch
  entity: script.tvtoggle
  title: TV ON/OFF
  icon_on: mdi-television-classic
  icon_off: mdi-television-classic
  widget_style: "background: #ffb347; font-family: Tahoma, Geneva, sans-serif;"
  icon_style_active: "color: DarkRed; font-size: 500%; top: 25px;"
  icon_style_inactive: "color: WhiteSmoke; font-size: 500%; top: 25px;"
  
foxtel:
  widget_type: switch
  entity: script.foxteltoggle
  use_hass_icon: 1
  title: FOXTEL ON/OFF
  widget_style: "background: #ffb347; font-family: Tahoma, Geneva, sans-serif;"
  icon_style_active: "color: DarkRed; font-size: 500%; top: 27px;"
  icon_style_inactive: "color: WhiteSmoke; font-size: 500%; top: 27px;"

reload:
  widget_type: reload
  widget_style: "background: SlateGray; font-size: 150%; font-family: Tahoma, Geneva, sans-serif;"
  icon_active_style: "top: 27px; color: WhiteSmoke;"
  icon_inactive_style: "top: 27px; color: WhiteSmoke;"

bedroom:
  widget_type: switch
  title: BEDROOM
  entity: group.bedroomlights
  use_hass_icon: 1
  state_text: 1
  state_map:
    "on": "ON"
    "off": "OFF"
  widget_style: "background: RebeccaPurple; font-family: Tahoma, Geneva, sans-serif;"
  icon_style_active: "color: coral; font-size: 500%; top: 25px;"
  icon_style_inactive: "color: LightGray; font-size: 500%; top: 25px;"

bathroom:
  widget_type: switch
  title: BATHROOM
  entity: switch.bathroom
  use_hass_icon: 1
  state_text: 1
  state_map:
    "on": "ON"
    "off": "OFF"
  widget_style: "background: RebeccaPurple; font-family: Tahoma, Geneva, sans-serif;"
  icon_style_active: "color: coral; font-size: 500%; top: 25px;"
  icon_style_inactive: "color: LightGray; font-size: 500%; top: 25px;"

layout:
    - clock(2x2), air_temp_c, hasspad_battery_level, bedroom, bathroom, tvon, foxtel 
    - relative_humidity, hasspad_battery_state, livinglightup, livingroom_warm, livingroom_normal, livingroom_cold
    - living_climate(2x2), inside_temperature, reload, livinglightdown, living_light(2x1), watch_tv(1x2)
    - inside_humidity, ac_temp, barlightup, bar_light(2x1)
    - ac_operation(2x1), ac_fan(2x1), barlightdown, bar_warm, bar_normal, bar_cold
    - bedtime(3x1), camera(2x1), leaving(3x1) 

The components may be a bit all over the place, I haven’t bothered to tidy it up yet, but hope it’s a good start for whatever you want to do.

@icaman004 thank you so much!