System Monitoring - How does yours look?

Correct. They are reported by the devices running ESPHone.

Ah ok thank you.

Xiaomi Ecosystem

Ubuiqti Link in progress

4 Likes

I just did and is working. Some commands from the link I sent you need some update but worked at the end.

hi @ValJr
can you share the commands that needed update?
thanks

Instead of: > apt install python-pip3
Use: apt install python3-pip

Instead of: > chmod x+a my_script.py
Use: chmod +x my_script.py

Those was the mistype/error I found on the guide a sent the link to you.

1 Like

Hi @ValJr,
I have this advice/error:

root@proxmox:~# chmod +x my_script.py
root@proxmox:~# ./my_script.py
/usr/lib/python3/dist-packages/urllib3/connectionpool.py:849: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
  InsecureRequestWarning)
root@proxmox:~#

Change https:// to http:// on the script URL

This error is because you don’t have SSL certificate

Neat. I tried to recreate this but the severity colours don’t change for me. Any chance you could share your config?

Very nice customisation Jim. What do the green bars under your devices signify?

I am monitoring them with a count template, I am using a custom:bar-card to produce the green bar and carefully choose the thresholds to change its colour, right count = green, anything under that = red, anything over that = orange.

1 Like

Doesn´t work!
:frowning_face:

Sure thing:

animation:
  speed: '1.5'
  state: 'on'
direction: right
entities:
  - entity: sensor.multisensor_feather_2_7
    name: Office RSSI
  - entity: sensor.multisensor_feather_3_7
    name: Master RSSI
  - entity: sensor.multisensor_feather_4_7
    name: Bedroom 3 RSSI
  - entity: sensor.multisensor_feather_5_7
    name: Loft RSSI
  - entity: sensor.rgb_strip_controler_6_4
    name: RGB RSSI
  - entity: sensor.front_door_wifi_signal_strength
    name: Doorbell RSSI
height: 25px
max: '-30'
min: '-90'
positions:
  icon: 'off'
  indicator: inside
severity:
  - color: var(--label-badge-green)
    from: '-67'
    to: ''
  - color: orange
    from: '-80'
    to: '-67'
  - color: var(--label-badge-red)
    from: '-90'
    to: '-80'
style: |-
  bar-card-name {
    text-shadow: 1px 1px 5px black;
  }
  bar-card-value {
    text-shadow: 1px 1px 5px black;
  }  
type: 'custom:bar-card'
3 Likes

The first time I tried I had many error messages. I google all of then and found the solutions there. Maybe that will work for you. What error message are you getting now?

Thanks for that. Your code made me realise my mistake when using negative numbers - the values from highest to lowest should have been the other way around. Changed my values to match yours and the colours are working as they should. Will still try your code as well and choose my favourite :slightly_smiling_face:

1 Like

With http, I have a lot of messages that can’t connect.
Maybe because in HA I’m using https:

http:
  base_url: https://myhaip:8123
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

Hi @SeanM, can you share the code for sensor in the left part?

Sure. Here’s the sensor code to count all of the domains, credit to @petro for this. I was doing something similar but his method was much cleaner and simpler.

sensor:

  - platform: template
    sensors:

      #----- Count All Entities
      total_entities:
        entity_id: []
        friendly_name: 'Entities'
        icon_template: mdi:code-tags
        value_template: "{{ states | count }}"

      #----- Count Automations
      total_automations:
        entity_id: []
        friendly_name: 'Automations'
        icon_template: mdi:robot
        value_template: "{{ states.automation | list | length }}"

      #----- Count Binary Sensors
      total_binary_sensors:
        entity_id: []
        friendly_name: 'Binary Sensors'
        icon_template: mdi:checkbox-multiple-marked-circle
        value_template: "{{ states.binary_sensor | list | length }}"

      #----- Count Cameras
      total_cameras:
        entity_id: []
        friendly_name: 'Cameras'
        icon_template: mdi:cctv
        value_template: "{{ states.camera | list | length }}"

      #----- Count Counters (haha)
      total_counters:
        entity_id: []
        friendly_name: 'Counters'
        icon_template: mdi:counter
        value_template: "{{ states.counter | list | length }}"

      #----- Count Device Trackers
      total_devicetrackers:
        entity_id: []
        friendly_name: 'Devices'
        icon_template: mdi:cellphone-link
        value_template: "{{ states.device_tracker | list | length }}"

      #----- Count Groups
      total_groups:
        entity_id: []
        friendly_name: 'Groups'
        icon_template: mdi:group
        value_template: "{{ states.group | list | length }}"

      #----- Count Input Booleans
      total_input_booleans:
        entity_id: []
        friendly_name: 'Input Booleans'
        icon_template: mdi:toggle-switch
        value_template: "{{ states.input_boolean | list | length }}"

      #----- Count Input Datetimes
      total_input_datetimes:
        entity_id: []
        friendly_name: 'Input Datetimes'
        icon_template: mdi:calendar-clock
        value_template: "{{ states.input_datetime | list | length }}"

      #----- Count Input Numbers
      total_input_numbers:
        entity_id: []
        friendly_name: 'Input Numbers'
        icon_template: mdi:numeric
        value_template: "{{ states.input_number | list | length }}"

      #----- Count Input Selects
      total_input_selects:
        entity_id: sensor.date
        friendly_name: 'Input Selects'
        icon_template: mdi:format-align-justify
        value_template: "{{ states.input_select | list | length }}"

      #----- Count Input Texts
      total_input_texts:
        entity_id: []
        friendly_name: 'Input Texts'
        icon_template: mdi:alphabetical
        value_template: "{{ states.input_text | list | length }}"

      #----- Count Lights
      total_lights:
        entity_id: sensor.date
        friendly_name: 'Lights'
        icon_template: mdi:lightbulb-on
        value_template: "{{ states.light | list | length }}"

      #----- Count Media Players
      total_media_players:
        entity_id: []
        friendly_name: 'Media Players'
        icon_template: mdi:cast-connected
        value_template: "{{ states.media_player | list | length }}"

      #----- Count Persons
      total_persons:
        entity_id: []
        friendly_name: 'Persons'
        icon_template: mdi:account-multiple
        value_template: "{{ states.person | list | length }}"

      #----- Count Remotes
      total_remotes:
        entity_id: []
        friendly_name: 'Remotes'
        icon_template: mdi:remote
        value_template: "{{ states.remote | list | length }}"

      #----- Count Scenes
      total_scenes:
        entity_id: []
        friendly_name: 'Scenes'
        icon_template: mdi:palette
        value_template: "{{ states.scene | list | length }}"

      #----- Count Scripts
      total_scripts:
        entity_id: []
        friendly_name: 'Scripts'
        icon_template: mdi:script-text-outline
        value_template: "{{ states.script | list | length }}"

      #----- Count Sensors
      total_sensors:
        entity_id: []
        friendly_name: 'Sensors'
        icon_template: mdi:pulse
        value_template: "{{ states.sensor | list | length }}"

      #----- Count Switches
      total_switches:
        entity_id: []
        friendly_name: 'Switches'
        icon_template: mdi:power-socket-us
        value_template: "{{ states.switch | list | length }}"

      #----- Count Timers
      total_timers:
        entity_id: []
        friendly_name: 'Timers'
        icon_template: mdi:timer
        value_template: "{{ states.timer | list | length }}"

      #----- Count Zones
      total_zones:
        entity_id: []
        friendly_name: 'Zones'
        icon_template: mdi:map-marker-radius
        value_template: "{{ states.zone | list | length }}"

      #----- Count Z-Wave Devices
      total_zwave_devices:
        entity_id: []
        friendly_name: 'ZWave'
        icon_template: mdi:z-wave
        value_template: "{{ states.zwave | list | length }}"



automation:
      
  ###### UPDATE COUNTS
  - alias: "System - Update Template Sensors"
    initial_state: 'on'
    trigger:
        platform: time_pattern
        minutes: '/25'
    action:
      - service: homeassistant.update_entity
        entity_id:
          - sensor.total_automations
          - sensor.total_binary_sensors
          - sensor.total_cameras
          - sensor.total_counters
          - sensor.total_devicetrackers
          - sensor.total_entities
          - sensor.total_groups
          - sensor.total_input_booleans
          - sensor.total_input_datetimes
          - sensor.total_input_numbers
          - sensor.total_input_selects
          - sensor.total_input_texts
          - sensor.total_lights
          - sensor.total_media_players
          - sensor.total_persons
          - sensor.total_remotes
          - sensor.total_scenes
          - sensor.total_scripts
          - sensor.total_sensors
          - sensor.total_switches
          - sensor.total_timers
          - sensor.total_zones
          - sensor.total_zwave_devices

And the code for the Lovelace view below. There’s LOTS of tap/hold actions in here, so make sure you read the comments and adjust it to your personal needs :slight_smile:

#### HOME ASSISTANT INFO AT A GLANCE
- type: vertical-stack
  cards:
    - type: glance
      columns: 5
      show_name: true
      entities:

        - entity: sensor.total_sensors
          name: Sensors

        - entity: sensor.total_automations
          name: Auto
          tap_action:
            action: navigate
            navigation_path: /config/automation
          hold_action:
            action: call-service
            service: automation.reload # reloads automations when long-pressed

        - entity: sensor.total_scripts
          tap_action:
            action: navigate
            navigation_path: /config/script
          hold_action:
            action: call-service
            service: script.reload # reloads scripts when long-pressed

        - entity: sensor.total_devicetrackers
          tap_action:
            action: navigate
            navigation_path: /config/devices/dashboard

        - entity: sensor.total_switches

        - entity: sensor.total_lights
          tap_action:
            action: navigate
            navigation_path: /lovelace/lights # change to your Lovelace view for Lights

        - entity: sensor.total_scenes
          tap_action:
            action: navigate
            navigation_path: /config/scene/dashboard
          hold_action:
            action: call-service
            service: scene.reload # reloads persons when long-pressed

        - entity: sensor.total_zones
          tap_action:
            action: navigate
            navigation_path: /config/zone
          hold_action:
            action: call-service
            service: zone.reload # reloads zones when long-pressed

        - entity: sensor.total_binary_sensors
        - entity: sensor.total_input_booleans
          name: Booleans
          hold_action:
            action: call-service
            service: input_boolean.reload # reloads input booleans when long-pressed

        - entity: sensor.total_input_numbers
          name: Numbers
          hold_action:
            action: call-service
            service: input_number.reload # reloads input numbers when long-pressed

        - entity: sensor.total_input_texts
          name: Texts
          hold_action:
            action: call-service
            service: input_text.reload # reloads input texts when long-pressed

        - entity: sensor.total_input_selects
          name: Selects
          hold_action:
            action: call-service
            service: input_select.reload # reloads input selects when long-pressed

        - entity: sensor.total_media_players
          name: Players
          tap_action:
            action: navigate
            navigation_path: /lovelace/media

        - entity: sensor.total_cameras
          tap_action:
            action: navigate
            navigation_path: /lovelace/cameras # change to your Lovelace view for Cameras

        - entity: sensor.total_zwave_devices
          tap_action:
            action: navigate
            navigation_path: /config/zwave

        - entity: sensor.total_persons
          tap_action:
            action: navigate
            navigation_path: /config/person
          hold_action:
            action: call-service
            service: person.reload # reloads persons when long-pressed

        - entity: sensor.total_timers
          hold_action:
            action: call-service
            service: timer.reload # reloads timers when long-pressed

        - entity: sensor.total_remotes
          name: Remotes
          tap_action:
            action: navigate
            navigation_path: /lovelace/media

        - entity: sensor.total_counters
          tap_action:
            action: navigate
            navigation_path: /lovelace/overview #link to insights page instead, once i create it

        - entity: sensor.total_entities
          tap_action:
            action: navigate
            navigation_path: /developer-tools/state
          hold_action:
            action: navigate
            navigation_path: /config/entities

    - type: glance
      columns: 4
      show_name: true
      entities:
        - entity: sensor.home_assistant_v2_db
          name: Database
          icon: mdi:database
          hold_action:
            action: call-service
            service: recorder.purge # purges db keeping last 3 days only
            data:
              keep_days: 3
              repack: true

        - entity: sensor.home_assistant_log
          name: Logfile
          icon: mdi:file-alert-outline
          tap_action:
            action: navigate
            navigation_path: /developer-tools/logs # goes to logs panel when tapped
          hold_action:
            action: call-service
            service: system_log.clear # clears log in HA when long-pressed

        - entity: sensor.time_online
          name: Uptime
          hold_action:
            action: call-service
            service: homeassistant.restart # restarts HA when long-pressed

        - entity: sensor.version_installed
          tap_action:
            action: navigate
            navigation_path: /hassio/dashboard # goes to Hassio update section when tapped
4 Likes

You know what?

I actually really like the bar graph. I can see much more clearly where a problem may be occurring.

However I won’t be using this card, for two reasons:

  1. It does not report it’s height correctly. No matter where I put it in my view it always stacks stupidly.

  2. The visual editor is an appalling resource hog. Trying to edit this card generated warnings in Firefox, took 20-30 seconds to load and ended up using 10GB of memory! Closing firefox and restarting after I finished editing was the only way to release the memory used.

Odd while the editor took 2-3 seconds for me it didn’t use 10GB RAM in the process in Chrome.

This is my only peve with the card/lovelace the auto stacking is funky sometimes. I usually put this card at the end.

Example: