Skip to content

Office

Dashboard: Main Dashboard
Path: office

Home office workspace controls and extensive system monitoring.

View Screenshot

Summary

The Office dashboard handles both workspace environment and IT infrastructure. It offers detailed environmental tracking (Airthings Wave) and lighting prompts. Key features include remote PC control (Audio, Power, Displays) and extensive server monitoring (Proxmox, Home Assistant OS stats, SSD usage). It also manages potential window covers and detailed power consumption for office equipment.

This view contains entities managed by:

Dependencies (Custom Cards)

Required HACS frontend resources:

  • custom:apexcharts-card
  • custom:auto-entities
  • custom:card-mod
  • custom:decluttering-card
  • custom:mini-graph-card
  • custom:mushroom-cover-card
  • custom:mushroom-entity-card
  • custom:mushroom-light-card
  • custom:mushroom-select-card
  • custom:mushroom-template-card
  • custom:mushroom-title-card
  • custom:scheduler-card
  • custom:streamline-card
  • custom:uptime-card

Configuration

theme: Backend-selected
title: Office
type: sections
layout:
  max_cols: 5
subview: true
badges: []
cards: []
max_columns: 6
sections:
- type: grid
  cards:
  - type: custom:streamline-card
    template: area_card
    variables:
      area_name: office
      area_title: Office
      temperature_sensor: sensor.airthings_wave_temperature
      temp_sensor_entity: sensor.bedroom_temperature
    grid_options:
      columns: 12
  - type: vertical-stack
    cards:
    - type: custom:mushroom-title-card
      title: ''
      subtitle: ENVIRONMENT
      alignment: center
    - square: false
      type: grid
      cards:
      - type: custom:decluttering-card
        template: minigraph_co2
        variables:
        - sensor: sensor.bedroom_carbon_dioxide
      - type: custom:decluttering-card
        template: minigraph_temperature
        variables:
        - sensor: sensor.bedroom_temperature
      - type: custom:decluttering-card
        template: minigraph_humidity
        variables:
        - sensor: sensor.bedroom_humidity
      columns: 3
  - type: vertical-stack
    cards:
    - type: custom:mushroom-title-card
      title: ''
      subtitle: LIGHTS
      alignment: center
    - square: false
      type: grid
      cards:
      - type: custom:mushroom-light-card
        entity: light.wled_2
        layout: vertical
        show_color_control: false
        show_brightness_control: true
        name: Desk
        use_light_color: true
      - type: custom:mushroom-light-card
        entity: light.server_cabinet_light
        layout: vertical
        show_brightness_control: true
        name: Rack
        use_light_color: true
        show_color_temp_control: false
        show_color_control: false
        collapsible_controls: false
        fill_container: true
      - type: custom:mushroom-light-card
        entity: light.bedroom_ceiling_light
        name: Ceiling
        layout: vertical
        show_brightness_control: true
        use_light_color: true
      - type: custom:mushroom-light-card
        entity: light.office_desk_wall_light
        name: Wall
        layout: vertical
        show_brightness_control: true
        use_light_color: true
      columns: 4
    - square: false
      type: grid
      cards:
      - type: custom:mushroom-select-card
        entity: select.wled_preset_2
        name: Office Desk Presets
      columns: 1
  - type: vertical-stack
    cards:
    - type: custom:mushroom-title-card
      title: ''
      subtitle: WINDOW
      alignment: center
    - square: false
      columns: 2
      type: grid
      cards:
      - type: custom:mushroom-cover-card
        entity: cover.bedroom_window_blinds
        show_position_control: true
        show_buttons_control: false
        tap_action:
          action: none
        name: Blinds
        layout: vertical
      - type: custom:mushroom-cover-card
        entity: cover.bedroom_window_roller_cover
        fill_container: false
        show_position_control: false
        show_buttons_control: true
        tap_action:
          action: none
        name: Roller Blind
        layout: vertical
- type: grid
  cards:
  - type: vertical-stack
    cards:
    - type: custom:mushroom-title-card
      title: ''
      subtitle: PC
      alignment: center
    - square: false
      type: grid
      cards:
      - type: custom:mushroom-template-card
        primary: Audio Device
        secondary: "{% set status = states(entity) %}\n{% if status == 'on' %}\n \
          \ Speakers\n{% else %}\n  Headset\n{% endif %}"
        icon: "{% set status = states(entity) %}\n{% if status == 'on' %}\n  mdi:speaker-multiple\n\
          {% else %}\n  mdi:headphones\n{% endif %}"
        layout: vertical
        entity: switch.officepc_audio_device
        tap_action:
          action: toggle
        icon_color: "{% set status = states(entity) %}\n{% if status == 'on' %}\n\
          \  green\n{% else %}\n  orange\n{% endif %}"
      - type: custom:mushroom-entity-card
        entity: button.officepc_mediaplaypause
        name: Play | Pause
        icon: mdi:play-pause
        icon_color: blue
        layout: vertical
        secondary_info: last-changed
        fill_container: true
        tap_action:
          action: call-service
          service: button.press
          target:
            entity_id: button.officepc_mediaplaypause
          data: {}
      - type: custom:mushroom-template-card
        primary: Audio Mute
        secondary: "{% set status = states(entity) %}\n{% if status == 'on' %}\n \
          \ Muted\n{% else %}\n Volume {{ states('sensor.officepc_audio_default_device_volume')\
          \ }}\n{% endif %}"
        icon: "{% set status = states(entity) %}\n{% if status == 'on' %}\n  mdi:volume-mute\n\
          {% else %}\n  mdi:volume-high\n{% endif %}"
        layout: vertical
        entity: switch.officepc_audio_mute
        tap_action:
          action: toggle
        icon_color: "{% set status = states(entity) %}\n{% if status == 'on' %}\n\
          \  red\n{% else %}\n  green\n{% endif %}"
  - type: custom:mushroom-entity-card
    entity: switch.office_pc_power
    layout: vertical
    fill_container: true
    icon_color: green
    tap_action:
      action: none
    hold_action:
      action: toggle
    name: PC Power
  - type: custom:mushroom-template-card
    primary: Displays
    secondary: "{% set status = states(entity) %}\n{% if status == 'on' %}\n  On\n\
      {% else %}\n Off\n{% endif %}"
    icon: "{% set status = states(entity) %}\n{% if status == 'on' %}\n  mdi:monitor\n\
      {% else %}\n  mdi:monitor-off\n{% endif %}"
    layout: vertical
    entity: switch.officepc_displays
    tap_action:
      action: toggle
    icon_color: "{% set status = states(entity) %}\n{% if status == 'on' %}\n  green\n\
      {% else %}\n  red\n{% endif %}"
    fill_container: true
  - type: history-graph
    entities:
    - entity: switch.office_pc_power
      name: ' '
  - type: custom:apexcharts-card
    graph_span: 12h
    show:
      loading: false
    apex_config:
      chart:
        height: 120px
      grid:
        show: true
        borderColor: rgba(255,255,255,0.2)
      legend:
        show: false
    header:
      show: true
      show_states: true
      colorize_states: true
      standard_format: false
    all_series_config:
      stroke_width: 2
    yaxis:
    - min: 0
      max: 100
      decimals: 0
      apex_config:
        tickAmount: 4
    series:
    - entity: sensor.officepc_memoryusage
      type: area
      opacity: 0.3
      name: Memory
      color: skyblue
      float_precision: 0
      fill_raw: zero
      group_by:
        func: max
      show:
        legend_value: false
    - entity: sensor.officepc_cpuload
      type: area
      opacity: 0.3
      name: CPU
      color: orange
      float_precision: 0
      fill_raw: zero
      group_by:
        func: max
      show:
        legend_value: false
    card_mod:
      style: "ha-card {\n  padding-top: 12px;\n}\n"
  - type: vertical-stack
    cards:
    - type: custom:mushroom-title-card
      title: ''
      subtitle: POWER OUTLETS
      alignment: center
    - type: grid
      cards:
      - type: custom:mini-graph-card
        name: Desk
        entities:
        - entity: sensor.office_desk_outlet_power
          name: Power
        icon: mdi:flash
        font_size_header: 12
        font_size: 75
        line_width: 8
        hours_to_show: 24
      - type: custom:mini-graph-card
        name: Modem
        entities:
        - entity: sensor.shellyplusplugs_b0b21c1991a8_switch_0_power
          name: Power
        icon: mdi:flash
        font_size_header: 12
        font_size: 75
        line_width: 8
        hours_to_show: 24
      - type: custom:mini-graph-card
        name: Rack
        entities:
        - entity: sensor.rack_power_plug_power
          name: Power
        icon: mdi:flash
        font_size_header: 12
        font_size: 75
        line_width: 8
        hours_to_show: 24
- type: grid
  cards:
  - type: vertical-stack
    cards:
    - type: custom:mushroom-title-card
      title: PROXMOX VE
      subtitle: ''
      alignment: center
    - type: custom:uptime-card
      entity: binary_sensor.node_halo_status
      icon: mdi:heart-pulse
      title_template: UPTIME
      hours_to_show: 168
      alignment:
        status: spaced
        header: center
        icon_first: false
      alias:
        ok: Running
        ko: Unvailable
        half: Unvailable
      color:
        ko: red
        ok: lightgreen
        half: red
        icon: orange
      bar:
        spacing: 4
        height: 20
        round: 5
    - square: false
      type: grid
      cards:
      - type: custom:apexcharts-card
        graph_span: 48h
        show:
          loading: false
        header:
          show: true
          title: MEMORY
          standard_format: false
          show_states: true
          colorize_states: true
        color_list:
        - green
        - rgba(253,80,80,1)
        - skyblue
        all_series_config:
          stroke_width: 2
          opacity: 1
        chart_type: donut
        series:
        - entity: sensor.node_halo_memory_free
          name: Free MEM
          unit: GB
          show:
            in_header: false
        - entity: sensor.node_halo_memory_used
          name: Used MEM
          show:
            in_header: false
        - entity: sensor.node_halo_memory_total_2
          name: Total
          show:
            in_chart: false
        card_mod:
          style: "ha-card {\n  padding-bottom: 20px;\n}\n"
      - type: custom:apexcharts-card
        graph_span: 48h
        show:
          loading: false
        header:
          show: true
          title: SSD10
          standard_format: false
          show_states: true
          colorize_states: true
        color_list:
        - green
        - rgba(253,80,80,1)
        - skyblue
        all_series_config:
          stroke_width: 2
          opacity: 1
        chart_type: donut
        series:
        - entity: sensor.storage_ssd10_disk_free
          name: Free
          unit: GB
          show:
            in_header: false
        - entity: sensor.storage_ssd10_disk_used
          name: Used
          show:
            in_header: false
        - entity: sensor.storage_ssd10_disk_total
          name: Total
          show:
            in_chart: false
        card_mod:
          style: "ha-card {\n  padding-bottom: 20px;\n}\n"
      columns: 2
  - type: vertical-stack
    cards:
    - type: custom:mushroom-title-card
      title: ''
      subtitle: PROXMOX VE
      alignment: center
    - square: false
      type: grid
      cards:
      - type: custom:mushroom-entity-card
        entity: binary_sensor.qemu_vm_homeassistantos_150_status
        layout: vertical
        fill_container: true
        name: HAOS
      - type: custom:mini-graph-card
        title: Home Assistant
        font_size_header: 12
        font_size: 70
        decimals: 0
        height: 200
        entities:
        - entity: sensor.qemu_vm_homeassistantos_150_cpu_used
          name: CPU
          color: orange
          show_state: true
        - entity: sensor.qemu_vm_homeassistantos_150_memory_used_percentage
          name: MEM
          color: lightgreen
          show_state: true
      - square: false
        type: grid
        cards:
        - type: custom:mushroom-entity-card
          entity: sensor.qemu_vm_homeassistantos_150_uptime
          layout: horizontal
          fill_container: true
          name: Uptime
        - type: custom:mushroom-entity-card
          entity: binary_sensor.qemu_vm_homeassistantos_150_health
          layout: horizontal
          fill_container: true
          name: Health
        - type: custom:mushroom-entity-card
          entity: sensor.qemu_vm_homeassistantos_150_node
          layout: horizontal
          fill_container: false
          name: Node
        columns: 1
      columns: 3
- type: grid
  cards:
  - type: custom:mushroom-title-card
    title: SETTINGS
    alignment: center
    subtitle: OCCUPANCY SETTINGS
  - type: custom:decluttering-card
    template: area_occupancy_settings
    variables:
    - area: office
    - area_name: Office
  - type: vertical-stack
    cards:
    - type: custom:mushroom-title-card
      title: ''
      subtitle: SCHEDULES
      alignment: center
    - type: markdown
      content: These schedules work when they are set on and _Presence Automation
        Mode_ is set to _Schedule Mode_
  - type: custom:scheduler-card
    include:
    - input_select.office_automation_mode
    - light.office_desk_wall_light
    - light.office_lights
    exclude: []
    discover_existing: false
    tags:
    - living-room
    time_step: 1
    show_header_toggle: false
    title: false
  - type: custom:mushroom-title-card
    title: ''
    subtitle: AUTOMATION MODE SCHEDULES
    alignment: center
  - type: markdown
    content: Automation Mode Changes, based on time or sun.
  - type: custom:scheduler-card
    include:
    - input_select.office_automation_mode
    exclude: []
    discover_existing: false
    tags:
    - office-mode-control
    time_step: 1
    show_header_toggle: false
    title: false
- type: grid
  cards:
  - type: vertical-stack
    cards:
    - type: custom:mushroom-title-card
      title: null
      alignment: center
      subtitle: Battery Levels
    - type: custom:auto-entities
      card:
        type: entities
      filter:
        include:
        - entity_id: sensor.office*battery*
        exclude: []
  - type: markdown
    content: '**Automation Modes**


      _Presence Control:_ Lights are automatically controlled by the occupancy state
      of the room.


      _Absence Detection:_ When room is no longer occupied, lights will be turned
      off after a the absence delay time.


      _Schedule Mode:_ Light schedules are working as set in the Scheduler. (schedule-mode
      condition)'
  - type: custom:scheduler-card
    include:
    - input_select.living_room_automation_mode
    - light.floor_light
    - light.living_room_ceiling_light
    - light.living_room_lights
    exclude: []
    discover_existing: false
    tags:
    - living-room
    time_step: 1
    show_header_toggle: false
    title: true
- type: grid
  cards: []
path: office