{% extends 'base.html.twig' %} {% import 'components/json_display.html.twig' as jsonDisplay %} {% import 'components/datalogger_tabs.html.twig' as tabs %} {% block title %}System Status - Dashboard{% endblock %} {% block content %}
{% if error is defined %}
Fehler: {{ error }}
{% elseif apiAvailable is defined and not apiAvailable %}
Warnung: Datalogger API ist nicht erreichbar. Die angezeigten Daten können veraltet sein.
{% endif %}
{% if apiAvailable is defined %}
{{ apiAvailable ? 'Online' : 'Offline' }}
{% endif %}
{% if datalogger is defined %} {{ tabs.renderTabs(datalogger, app.request.attributes.get('_route')) }} {% endif %} {% if error is not defined %}
{% if status is defined and status.error is not defined %}

Datalogger Status

{# Wichtige Status-Informationen als Highlights #} {% if status.uptime is defined or status.timestamp is defined or status.version is defined %}
{% if status.uptime is defined %}
Uptime
{% if status.uptime is iterable %} {{ status.uptime|json_encode }} {% else %} {{ status.uptime }} {% endif %}
{% endif %} {% if status.timestamp is defined %}
Letzte Aktualisierung
{% if status.timestamp matches '/^\\d+$/' %} {{ status.timestamp|date('d.m.Y H:i:s') }} {% elseif status.timestamp matches '/^\\d{4}-\\d{2}-\\d{2}T/' %} {{ status.timestamp|date('d.m.Y H:i:s') }} {% else %} {{ status.timestamp }} {% endif %}
{% endif %} {% if status.version is defined %}
Version
{% if status.version is iterable %} {{ status.version|json_encode }} {% else %} {{ status.version }} {% endif %}
{% endif %}
{% endif %} {# Detaillierte Status-Informationen #}
Detaillierte Informationen
{{ jsonDisplay.displayJson(status, null) }}
{% endif %} {% if avgTemperature is not null or avgPressure is not null %}

HAT Durchschnittswerte

{% if avgTemperature is not null %}
{{ avgTemperature|number_format(2) }}°C Ø Temperatur (HAT5)
{% endif %} {% if avgPressure is not null %}
{{ avgPressure|number_format(2) }} bar Ø Druck (HAT1)
{% endif %}
{% endif %} {% if health is defined %}

Health Check

{% if health.error is defined %}
Fehler: {{ health.error }}
{% else %} {{ jsonDisplay.displayJson(health, null) }} {% endif %}
{% endif %} {% if system is defined %}

System Ressourcen

{% if system.error is defined %}
Fehler: {{ system.error }}
{% else %}
{% if system.cpu_temp is defined and system.cpu_temp is not iterable %}
{{ system.cpu_temp }}°C CPU Temperatur
{% endif %} {% if system.cpu_usage is defined and system.cpu_usage is not iterable %}
{{ system.cpu_usage }}% CPU Auslastung
{% endif %} {% if system.memory_usage is defined and system.memory_usage is not iterable and system.memory_total is defined and system.memory_total is not iterable %}
{{ ((system.memory_usage / system.memory_total) * 100)|round(1) }}% RAM Auslastung {{ (system.memory_usage / 1024 / 1024)|round(1) }} MB / {{ (system.memory_total / 1024 / 1024)|round(1) }} MB
{% endif %}
{% endif %}
{% endif %} {% if version is defined and (version.error is not defined) %}

Version

{{ jsonDisplay.displayJson(version, null) }}
{% endif %}
{% if simStatus is defined and (simStatus.error is not defined) %}

SIM/LTE Status

{% if simStatus.signal_strength is defined and simStatus.signal_strength is not null and simStatus.signal_strength is not iterable %}
{{ simStatus.signal_strength }} dBm Signal
{% endif %} {% if simStatus.network_mode is defined and simStatus.network_mode %}
{{ simStatus.network_mode }} Netzmodus
{% endif %} {% if simStatus.operator is defined and simStatus.operator %}
{{ simStatus.operator }} Provider
{% endif %}
{% if simStatus.rsrp_dbm is defined or simStatus.rsrq_db is defined or simStatus.sinr_db is defined %}
{% if simStatus.rsrp_dbm is defined and simStatus.rsrp_dbm is not null %}
{{ simStatus.rsrp_dbm }} RSRP dBm
{% endif %} {% if simStatus.rsrq_db is defined and simStatus.rsrq_db is not null %}
{{ simStatus.rsrq_db }} RSRQ dB
{% endif %} {% if simStatus.sinr_db is defined and simStatus.sinr_db is not null %}
{{ simStatus.sinr_db }} SINR dB
{% endif %}
{% endif %} {% if simStatus.lte_cell_is_stale is defined %}
LTE Cell {{ simStatus.lte_cell_is_stale ? 'veraltet' : 'aktuell' }} {% if simStatus.lte_cell_age_seconds is defined and simStatus.lte_cell_age_seconds is not null %} Alter: {{ simStatus.lte_cell_age_seconds }} s {% endif %}
{% endif %} {{ jsonDisplay.displayJson(simStatus, null) }}
{% endif %} {% if daemonStatus is defined %}

Daemon Status

{% if daemonStatus.error is defined %}
{{ daemonStatus.error }}
{% else %} {% set running = daemonStatus.running is defined ? daemonStatus.running : null %} {% if running is same as(true) %}
Läuft
{% elseif running is same as(false) %}
Gestoppt
{% else %}
Unbekannt
{% endif %} {% if daemonStatus.endpoint is defined %}
Endpoint: {{ daemonStatus.endpoint }}
{% endif %} {% if daemonStatus.status is defined and daemonStatus.status is not iterable and daemonStatus.status is not null %}
Statuswert: {{ daemonStatus.status }}
{% endif %} {% endif %}
{% endif %} {% if upsStatus is defined and (upsStatus.error is not defined) %}

UPS Status

{{ jsonDisplay.displayJson(upsStatus, null) }}
{% endif %} {% if datalogger is defined %} {% endif %}
{% endif %} {% endblock %}