diff --git a/config/lovelace/mariadb_dashboard.yaml b/config/lovelace/mariadb_dashboard.yaml deleted file mode 100644 index 48289ef9..00000000 --- a/config/lovelace/mariadb_dashboard.yaml +++ /dev/null @@ -1,103 +0,0 @@ -###################################################################### -# @CCOSTAN - Follow Me on X -# For more info visit https://www.vcloudinfo.com/click-here -# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig -# ------------------------------------------------------------------- -# MariaDB Dashboard - Lovelace stats overview -# Lovelace stack for MariaDB health metrics from SQL sensors. -# ------------------------------------------------------------------- -# Notes: Paste this stack into a manual Lovelace view or card. -# Notes: Uses Mushroom cards; swap to entities if the custom card is missing. -###################################################################### - -type: vertical-stack -cards: - - type: entities - title: Database Statistics - entities: - - entity: sensor.database_size - name: Database Size - icon: mdi:database - - entity: sensor.database_tables_count - name: Number of Tables - icon: mdi:table - - entity: sensor.database_total_records - name: Total Records - icon: mdi:counter - - entity: sensor.database_records_per_day - name: Records per Day - icon: mdi:chart-line - - entity: sensor.database_oldest_record - name: Oldest Record - icon: mdi:clock-start - - type: entities - title: MariaDB Status - entities: - - entity: sensor.mariadb_status - name: Server Status - icon: mdi:database - - entity: sensor.mariadb_version - name: Version - icon: mdi:database-check - - entity: sensor.mariadb_performance - name: Performance - icon: mdi:chart-line - - entity: sensor.mariadb_uptime - name: Uptime - icon: mdi:timer-outline - - entity: sensor.mariadb_connections - name: Active Connections - icon: mdi:connection - - entity: sensor.mariadb_questions - name: Total Queries - icon: mdi:database-search - - type: grid - cards: - - type: custom:mushroom-template-card - primary: InnoDB Buffer Pool - secondary: "{{ states('sensor.mariadb_buffer_pool_size') }}" - icon: mdi:memory - layout: vertical - icon_color: blue - - type: custom:mushroom-template-card - primary: Max Connections - secondary: "{{ states('sensor.mariadb_max_connections') }}" - icon: mdi:account-multiple - layout: vertical - icon_color: green - - type: custom:mushroom-template-card - primary: Log File Size - secondary: "{{ states('sensor.mariadb_log_file_size') }}" - icon: mdi:file - layout: vertical - icon_color: orange - - type: custom:mushroom-template-card - primary: Temp Table Size - secondary: "{{ states('sensor.mariadb_tmp_table_size') }}" - icon: mdi:table - layout: vertical - icon_color: purple - - type: custom:mushroom-template-card - primary: IO Capacity - secondary: "{{ states('sensor.mariadb_io_capacity') }}" - icon: mdi:speedometer - layout: vertical - icon_color: red - - type: custom:mushroom-template-card - primary: IO Threads - secondary: "{{ states('sensor.mariadb_io_threads') }}" - icon: mdi:developer-board - layout: vertical - icon_color: cyan - - type: custom:mushroom-template-card - primary: Table Cache - secondary: "{{ states('sensor.mariadb_table_cache') }}" - icon: mdi:cached - layout: vertical - icon_color: amber - - type: custom:mushroom-template-card - primary: Buffer Sizes - secondary: "{{ states('sensor.mariadb_buffer_sizes') }}" - icon: mdi:buffer - layout: vertical - icon_color: teal diff --git a/config/packages/mariadb_monitoring.yaml b/config/packages/mariadb_monitoring.yaml index 3cf56e8a..578fe404 100644 --- a/config/packages/mariadb_monitoring.yaml +++ b/config/packages/mariadb_monitoring.yaml @@ -63,7 +63,7 @@ sql: - name: "Database Oldest Record" db_url: !secret recorder_db_url query: >- - SELECT DATE_FORMAT(MIN(last_updated), '%Y-%m-%d') as oldest + SELECT DATE_FORMAT(FROM_UNIXTIME(MIN(last_updated_ts)), '%Y-%m-%d') as oldest FROM states; column: "oldest" @@ -78,7 +78,11 @@ sql: - name: "Database Records Per Day" db_url: !secret recorder_db_url query: >- - SELECT ROUND(COUNT(*) / DATEDIFF(NOW(), MIN(last_updated)), 0) as avg + SELECT ROUND( + COUNT(*) / + GREATEST(DATEDIFF(NOW(), FROM_UNIXTIME(MIN(last_updated_ts))), 1), + 0 + ) as avg FROM states; column: "avg" unit_of_measurement: "records/day"