Sensor für „db_size“ von core-mariadb

SONOFF RM433 433MHz Funkfernbedienung, Geeignet für Alle SONOFF 433MHz HF-Geräte, Inklusive Akku, Inklusive Basis
SONOFF RM433 433MHz Funkfernbedienung, Geeignet für Alle SONOFF 433MHz HF-Geräte, Inklusive Akku, Inklusive Basis
--

Im Discord wurde nach einem Sensor für die Datenbankgröße der MariaDB gefragt.

Hier ist unsere Lösung:

Wir erstellen folgenden Sensor:

### MARIA DB SIZE ##############################################################
  - platform: sql
    db_url: !secret db_url
    queries:
      - name: MariaDB size
        query: 'SELECT table_schema "database", Round(Sum(data_length + index_length) / 1024 / 1024, 1) "value" FROM information_schema.tables WHERE table_schema="homeassistant" GROUP BY table_schema;'
        column: 'value'
        unit_of_measurement: MB

normalerweise würde jetzt hinter db_url: der direkte Pfad zur Datenbank stehen. Da dies aber sensible Daten sind, haben die m.M.n. hier nichts zu suchen, sondern gehören in eine separate Datei. Und zwar in die secrets.yaml

Wie ihr die anlegt, und wie ihr damit umgeht, erfahrt ihr in dem Beitrag: Passwörter und sonstige geheime Daten aus der Konfiguration auslagern


Anschließend kann man sich diesen beispielsweise in einer custom:bar-card (HACS) anzeigen lassen:

type: custom:bar-card
title_position: inside
icon: mdi:database
max: 500
severity:
  - value: 150
    color: '#40bf60'
  - value: 200
    color: '#ffa500'
  - value: 250
    color: '#e60000'
entities:
  - entity: sensor.mariadb_size