System Monitoring - How does yours look?


Edit: small update

10 Likes

Excellent DrTube
Please, how do you get information and manage Proxmox (CPU/Ram/CPu temp / VM) ?
And could you share your card config

For Proxmox info I have installed Glances on Proxmox itself. The VMs are from the HA integration, just sensors so no control.

Otherwise: some code for you:

cards:
  - image: /local/proxmox.png
    type: picture
  - entities:
      - decimal: 0
        entity: sensor.glances_cpu_used
        entity_row: true
        height: 25
        name: CPU%
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 50
          - color: '#F4B400'
            from: 51
            to: 80
          - color: '#DB4437'
            from: 81
            to: 100
        type: 'custom:bar-card'
      - decimal: 0
        entity: sensor.glances_ram_used
        entity_row: true
        height: 25
        max: 32000
        min: 0
        name: RAM
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 20000
          - color: '#F4B400'
            from: 20001
            to: 26000
          - color: '#DB4437'
            from: 26001
            to: 32000
        type: 'custom:bar-card'
        unit_of_measurement: MB
      - entity: sensor.glances_package_id_0_temp
        entity_row: true
        height: 25
        max: 100
        min: 0
        name: CPU temp
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 70
          - color: '#F4B400'
            from: 71
            to: 85
          - color: '#DB4437'
            from: 85
            to: 100
        type: 'custom:bar-card'
      - entities:
          - entity: binary_sensor.proxmox_homeassistant_running
            name: HassOS
          - entity: binary_sensor.proxmox_openmediavault_running
            name: OMV
          - entity: binary_sensor.proxmox_windows10_running
            name: Win10
        entity: binary_sensor.proxmox_tuya_convert_running
        icon: 'mdi:server-network'
        name: Proxmox VMs
        state_header: Tuya
        type: 'custom:multiple-entity-row'
    type: entities
  - image: /local/speedtest2.png
    type: picture
  - aggregate_func: max
    align_state: center
    animate: true
    decimals: 0
    entities:
      - entity: sensor.speedtest_download
        index: 0
        name: Download
      - entity: sensor.speedtest_upload
        index: 1
        name: Upload
    font_size: 100
    font_size_header: 14
    group_by: interval
    height: 150
    hour24: true
    hours_to_show: 6
    lower_bound: 0
    points_per_hour: 2
    show:
      graph: line
      icon: false
      labels: true
      legend: false
      name: false
      points: true
      state: true
    smoothing: false
    tap_action:
      action: call-service
      service: speedtestdotnet.speedtest
    type: 'custom:mini-graph-card'
title: false
type: 'custom:vertical-stack-in-card'

cards:
  - image: /local/HA5.png
    type: picture
  - entities:
      - decimal: 0
        entity: sensor.processor_use
        entity_row: true
        height: 25
        icon: 'mdi:cpu-64-bit'
        name: HA CPU%
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 50
          - color: '#F4B400'
            from: 51
            to: 80
          - color: '#DB4437'
            from: 81
            to: 100
        type: 'custom:bar-card'
      - decimal: 0
        entity: sensor.memory_use
        entity_row: true
        height: 25
        max: 4096
        min: 0
        name: HA RAM
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 3072
          - color: '#F4B400'
            from: 3073
            to: 3600
          - color: '#DB4437'
            from: 3601
            to: 4096
        type: 'custom:bar-card'
        unit_of_measurement: MB
      - decimal: 0
        entity: sensor.disk_use
        entity_row: true
        height: 25
        max: 29
        min: 0
        name: HA HDD
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 20
          - color: '#F4B400'
            from: 21
            to: 25
          - color: '#DB4437'
            from: 26
            to: 29
        type: 'custom:bar-card'
        unit_of_measurement: GB
      - decimal: 0
        entity: sensor.hass_db_size
        entity_row: true
        height: 25
        icon: 'mdi:database'
        max: 1024
        min: 0
        name: HA MariaDB
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 700
          - color: '#F4B400'
            from: 701
            to: 900
          - color: '#DB4437'
            from: 901
            to: 1024
        type: 'custom:bar-card'
        unit_of_measurement: MB
      - entity: sensor.uptime
        name: HA Uptime
      - entity: sensor.last_boot
        name: HASSOS Boot
      - entities:
          - entity: sensor.latest_available_version
            name: Latest
            style: |
              :host {
                {% if states(config.entity).split('.')[1] != states('sensor.latest_available_version').split('.')[1] %}
                  color: rgb(255, 165, 0);
                  --paper-item-icon-color: rgb(255, 165, 0);
                {% endif %};
              }
        entity: sensor.current_version
        icon: 'mdi:home-assistant'
        name: HA Version
        state_header: Current
        type: 'custom:multiple-entity-row'
      - entity: sensor.supervisor_updates
        icon: 'mdi:cart-plus'
        name: Addon Updates
        style: |
          :host {
            {% if states(config.entity) != '0' %}
              color: rgb(255, 165, 0);
              --paper-item-icon-color: rgb(255, 165, 0);
            {% endif %};
          }
        tap_action:
          action: navigate
          navigation_path: /hassio/dashboard
      - action: navigate
        entity: sensor.hacs
        name: HACS
        navigation_path: /hacs/installed
        style: |
          :host {
            {% if states(config.entity) != '0' %}
              color: rgb(255, 165, 0);
              --paper-item-icon-color: rgb(255, 165, 0);
            {% endif %};
          }
        tap_action: null
      - entity: sensor.snapshot_backup
        name: Snapshots
    type: entities
  - image: /local/Adguard.png
    type: picture
  - entities:
      - entities:
          - entity: sensor.adguard_dns_queries
            name: Queries
          - entity: sensor.adguard_dns_queries_blocked_ratio
            name: Ratio
        entity: switch.adguard_protection
        icon: 'mdi:shield-check'
        name: HA Adguard
        state_header: Adguard
        type: 'custom:multiple-entity-row'
    type: entities
title: false
type: 'custom:vertical-stack-in-card'

cards:
  - image: /local/omv3.png
    type: picture
  - entities:
      - decimal: 0
        entity: sensor.omv_cpu_load
        entity_row: true
        height: 25
        icon: 'mdi:cpu-64-bit'
        name: OMV CPU%
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 50
          - color: '#F4B400'
            from: 51
            to: 80
          - color: '#DB4437'
            from: 81
            to: 100
        type: 'custom:bar-card'
      - decimal: 0
        entity: sensor.omv_memory
        entity_row: true
        height: 25
        max: 100
        min: 0
        name: OMV RAM%
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 70
          - color: '#F4B400'
            from: 71
            to: 90
          - color: '#DB4437'
            from: 91
            to: 100
        type: 'custom:bar-card'
      - entity: sensor.omv_data
        entity_row: true
        height: 25
        icon: 'mdi:harddisk'
        max: 100
        min: 0
        name: OMV SSD Data
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 70
          - color: '#F4B400'
            from: 71
            to: 90
          - color: '#DB4437'
            from: 91
            to: 100
        type: 'custom:bar-card'
      - entity: sensor.omv_downloads
        entity_row: true
        height: 25
        icon: 'mdi:harddisk'
        max: 100
        min: 0
        name: OMV SSD Downloads
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 70
          - color: '#F4B400'
            from: 71
            to: 90
          - color: '#DB4437'
            from: 91
            to: 100
        type: 'custom:bar-card'
      - entity: sensor.omv_movies
        entity_row: true
        height: 25
        icon: 'mdi:harddisk'
        max: 100
        min: 0
        name: OMV HDD Movies
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 70
          - color: '#F4B400'
            from: 71
            to: 90
          - color: '#DB4437'
            from: 91
            to: 100
        type: 'custom:bar-card'
      - entity: sensor.omv_movies2
        entity_row: true
        height: 25
        icon: 'mdi:harddisk'
        max: 100
        min: 0
        name: OMV HDD Movies2
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 70
          - color: '#F4B400'
            from: 71
            to: 90
          - color: '#DB4437'
            from: 91
            to: 100
        type: 'custom:bar-card'
      - entity: sensor.omv_movies3
        entity_row: true
        height: 25
        icon: 'mdi:harddisk'
        max: 100
        min: 0
        name: OMV HDD Movies3
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 70
          - color: '#F4B400'
            from: 71
            to: 90
          - color: '#DB4437'
            from: 91
            to: 100
        type: 'custom:bar-card'
      - entity: sensor.omv_series
        entity_row: true
        height: 25
        icon: 'mdi:harddisk'
        max: 100
        min: 0
        name: OMV HDD Series
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 70
          - color: '#F4B400'
            from: 71
            to: 90
          - color: '#DB4437'
            from: 91
            to: 100
        type: 'custom:bar-card'
      - entities:
          - entity: sensor.omv_uptime
            name: Uptime
        entity: binary_sensor.omv_update_available
        icon: 'mdi:nas'
        name: OMV System
        state_header: Update
        type: 'custom:multiple-entity-row'
    type: entities
  - image: /local/portainer.png
    type: picture
  - type: entities
    entities:
      - decimal: 0
        entity: sensor.docker_omv_cpu
        entity_row: true
        height: 25
        icon: 'mdi:cpu-64-bit'
        name: OMV Docker CPU%
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 50
          - color: '#F4B400'
            from: 51
            to: 80
          - color: '#DB4437'
            from: 81
            to: 100
        type: 'custom:bar-card'
      - decimal: 0
        entity: sensor.docker_omv_memory
        entity_row: true
        height: 25
        max: 8192
        min: 0
        name: OMV Docker RAM%
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 6000
          - color: '#F4B400'
            from: 6001
            to: 7000
          - color: '#DB4437'
            from: 7001
            to: 8192
        type: 'custom:bar-card'
      - entities:
          - entity: sensor.docker_omv_containers_running
            name: Running
            style: |
              :host {
                {% if states(config.entity).split('.')[1] != states('sensor.latest_available_version').split('.')[1] %}
                  color: rgb(255, 165, 0);
                  --paper-item-icon-color: rgb(255, 165, 0);
                {% endif %};
              }
        entity: sensor.docker_omv_containers_total
        icon: 'mdi:docker'
        name: OMV Docker Containers
        state_header: Total
        type: 'custom:multiple-entity-row'
      - entities:
          - entity: sensor.sabnzbd_queue_count
            name: Queue
          - entity: sensor.sabnzbd_queue
            name: Queue
        entity: sensor.sabnzbd_speed
        icon: 'mdi:download'
        name: SABnzbd
        state_header: Speed
        type: 'custom:multiple-entity-row'
title: false
type: 'custom:vertical-stack-in-card'

cards:
  - image: /local/synology2.jpg
    type: picture
  - entities:
      - entity: sensor.synology_cpu_load_total
        entity_row: true
        height: 25
        icon: 'mdi:cpu-64-bit'
        name: Synology CPU%
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 50
          - color: '#F4B400'
            from: 51
            to: 80
          - color: '#DB4437'
            from: 81
            to: 100
        type: 'custom:bar-card'
      - entity: sensor.synology_memory_usage_real
        entity_row: true
        height: 25
        max: 100
        min: 0
        name: Synology RAM%
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 70
          - color: '#F4B400'
            from: 71
            to: 90
          - color: '#DB4437'
            from: 91
            to: 100
        type: 'custom:bar-card'
      - entity: sensor.synology_used_space_volume_1
        entity_row: true
        height: 25
        icon: 'mdi:harddisk'
        max: 3.58
        min: 0
        name: Synology HDD
        positions:
          icon: inside
        severity:
          - color: '#0F9D58'
            from: 0
            to: 2.5
          - color: '#F4B400'
            from: 2.51
            to: 3
          - color: '#DB4437'
            from: 3.01
            to: 3.58
        type: 'custom:bar-card'
    type: entities
  - entities:
      - entity: sensor.synology_network_up
        name: Upload
    entity: sensor.synology_network_down
    icon: 'mdi:speedometer'
    name: Synology LAN
    state_header: Download
    type: 'custom:multiple-entity-row'
title: false
type: 'custom:vertical-stack-in-card'

4 Likes

I use this guide to monitor Proxmox and used MQTT to share it with HA: https://kleypot.com/proxmox-home-assistant-host-system-hardware-monitoring/
It’s not that heavy as glances.

2 Likes

Thanks for your answer.
I prefer MQTT also

i have installed that and added to the configuration how can i add the temp etc to the lovelace?

How do you use these horizontal “load” bars? I think they’re a nice alternative instead of the standard gauge card :slight_smile:
These standard gauges take up way too much space.

I have my battery tab posted on my repo:

2 Likes

Can you share your sensors and config ? :smiley:

Almost none of that is still current I’m afraid. A lot has changed in 18 months!
I don’t use that clock anymore (but you will find it elsewhere on the forum I think)
I don’t use a Raspberry Pi anymore
HaveIBeenPwned is no longer available
And the updates predate HACS

Sorry I couldn’t help…

You don’t use anymore “Component Count” card and “Updates” card, and “System” card ?
I’m looking ti find how to declare all this sensor and cards :slight_smile:

I don’t use the Updates card because it is obsolete now that I use HACS.
My System card was made up of sensors that were based on an RPi but I don’t use an RPi anymore.
And component counts I don’t use anymore like that but you can use this (adjust it for whatever components you want a count of)

      count_automations:
        entity_id: sensor.date
        value_template: "{{ states.automation | count }}"

So this is currently my monitoring tab. It’s still a work in progress, as I don’t have that many smart home devices yet. But it’s becoming more and more :grin:

9 Likes

What icons are those?

Those are just images from google. I use them with Entity_picture in my customize.yaml

Oh i thought you had downloaded them in a pack or something

Nope. They don’t work in the mini graph card either. Or I just can’t figure out how :sweat_smile:

Just the graphs, ma’am. Config link in my profile.

2 Likes

looks really nice!
can you share your code?
can you explain how did you create the header in the same card?

Thanks.,

For the header, I just “made” some logos for this purpose…