{% extends 'base.html.twig' %} {% block title %}Datalogger Übersicht - Dashboard{% endblock %} {% block content %} {% if dataloggers is not empty %} {% set onlineCount = 0 %} {% set gpsCount = 0 %} {% set movingCount = 0 %} {% for dataloggerData in dataloggers %} {% if (dataloggerData.cardDataLoading is not defined or not dataloggerData.cardDataLoading) and dataloggerData.apiAvailable %} {% set onlineCount = onlineCount + 1 %} {% endif %} {% if (dataloggerData.cardDataLoading is not defined or not dataloggerData.cardDataLoading) and dataloggerData.currentGps is defined and dataloggerData.currentGps is not null %} {% set gpsCount = gpsCount + 1 %} {% endif %} {% if (dataloggerData.cardDataLoading is not defined or not dataloggerData.cardDataLoading) and dataloggerData.currentGps is defined and dataloggerData.currentGps is not null and dataloggerData.currentGps.speed_kmh is defined and dataloggerData.currentGps.speed_kmh > 2 %} {% set movingCount = movingCount + 1 %} {% endif %} {% endfor %}
{{ dataloggers|length }} Gesamt
{{ onlineCount }} Online
{{ dataloggers|length - onlineCount }} Offline
{{ gpsCount }} Mit GPS
{{ movingCount }} In Bewegung
{% if activeAlarmsCount is defined and activeAlarmsCount > 0 %}
{{ activeAlarmsCount }} Aktive Alarme {% if criticalAlarmsCount > 0 %} {{ criticalAlarmsCount }} kritisch {% endif %}
{% endif %}
{% endif %}
{% if dataloggers is empty %}
Keine Datalogger konfiguriert: Bitte fügen Sie Datalogger in der Datenbank hinzu.
{% else %}
{% for dataloggerData in dataloggers %} {% set dl = dataloggerData.entity %} {% set status = dataloggerData.status %} {% set health = dataloggerData.health %} {% set system = dataloggerData.system %} {% set version = dataloggerData.version %} {% set apiAvailable = dataloggerData.apiAvailable %} {% set hasGps = dataloggerData.currentGps is defined and dataloggerData.currentGps is not null %} {% set loading = dataloggerData.cardDataLoading is defined and dataloggerData.cardDataLoading %}

{{ dl.name }}

{% if loading %} Lade… {% else %} {{ apiAvailable ? 'Online' : 'Offline' }} {% if dataloggerData.currentGps is defined and dataloggerData.currentGps is not null and dataloggerData.currentGps.datetime is defined %} • {{ dataloggerData.currentGps.datetime|date('d.m.Y H:i') }} {% endif %} {% endif %}
{% if dataloggerData.activeAlarmsCount is defined and dataloggerData.activeAlarmsCount > 0 %} {{ dataloggerData.activeAlarmsCount }} {% endif %} Details
Standort {% if loading %} Lade… {% elseif dataloggerData.currentGps is defined and dataloggerData.currentGps is not null and dataloggerData.currentGps.location is defined %} {{ dataloggerData.currentGps.location }} {% if dataloggerData.currentGps.datetime is defined %} {{ dataloggerData.currentGps.datetime|date('d.m.Y H:i') }} {% endif %} {% elseif dataloggerData.currentGps is defined and dataloggerData.currentGps is not null and dataloggerData.currentGps.lat is defined and dataloggerData.currentGps.lon is defined %} {{ dataloggerData.currentGps.lat|number_format(6) }}, {{ dataloggerData.currentGps.lon|number_format(6) }} {% else %} {{ dl.location ?? 'Nicht angegeben' }} {% endif %}
{% if loading %}
Lade API-Daten…
{% elseif system is defined and system is not null and (system.error is not defined) %}
{% if (dataloggerData.totalMassKg is defined and dataloggerData.totalMassKg is not null) or (dataloggerData.avgTemperature is defined and dataloggerData.avgTemperature is not null) or (dataloggerData.batterySocPct is defined and dataloggerData.batterySocPct is not null) %}
{% if dataloggerData.batterySocPct is defined and dataloggerData.batterySocPct is not null %}
{{ dataloggerData.batterySocPct|round(0) }}% Batterie SOC
{% endif %} {% if dataloggerData.totalMassKg is defined and dataloggerData.totalMassKg is not null %}
{{ dataloggerData.totalMassKg|number_format(2) }} kg H₂-Masse {% if dataloggerData.groupMasses is defined and dataloggerData.groupMasses|length > 0 %} {{ dataloggerData.groupMasses|length }} Gruppe(n) {% endif %}
{% endif %} {% if dataloggerData.avgTemperature is defined and dataloggerData.avgTemperature is not null %}
{{ dataloggerData.avgTemperature|number_format(1) }}°C Ø Temperatur Behälter
{% endif %}
{% endif %} {% if (dataloggerData.totalMassKg is defined and dataloggerData.totalMassKg is not null) or (dataloggerData.avgTemperature is defined and dataloggerData.avgTemperature is not null) or (dataloggerData.massDiagnosis is defined and dataloggerData.massDiagnosis.fillLevelPercent is defined and dataloggerData.massDiagnosis.fillLevelPercent is not null) or (dataloggerData.groupMasses is defined and dataloggerData.groupMasses|length > 0) %}
Werte & Gesamtwerte
Werte
{% if dataloggerData.totalMassKg is defined and dataloggerData.totalMassKg is not null %}
Gesamtmasse {{ dataloggerData.totalMassKg|number_format(2) }} kg
{% endif %} {% if dataloggerData.avgTemperature is defined and dataloggerData.avgTemperature is not null %}
Ø Temperatur {{ dataloggerData.avgTemperature|number_format(1) }}°C
{% endif %} {% if dataloggerData.massDiagnosis is defined and dataloggerData.massDiagnosis.fillLevelPercent is defined and dataloggerData.massDiagnosis.fillLevelPercent is not null %}
Füllstand {{ dataloggerData.massDiagnosis.fillLevelPercent|number_format(1) }}%
{% endif %}
{% if dataloggerData.groupMasses is defined and dataloggerData.groupMasses|length > 0 %}
Gruppen {% for group in dataloggerData.groupMasses %}
{{ group.groupName ?: 'Gruppe' }}
Masse {{ group.massKg is defined and group.massKg is not null ? group.massKg|number_format(2) ~ ' kg' : '--' }}
Nutzbar {{ group.usableMassKg is defined and group.usableMassKg is not null ? group.usableMassKg|number_format(2) ~ ' kg' : '--' }}
Füllstand {{ group.fillLevelPercent is defined and group.fillLevelPercent is not null ? group.fillLevelPercent|number_format(1) ~ '%' : '--' }}
{% endfor %}
{% endif %}
{% endif %} {% if system.cpu_temp is defined or system.cpu_usage is defined or (system.memory_usage is defined and system.memory_total is defined) %}
Weitere Infos
System
{% if system.cpu_temp is defined %}
{{ system.cpu_temp }}°C CPU Temp
{% endif %} {% if system.cpu_usage is defined %}
{{ system.cpu_usage }}% CPU
{% endif %} {% if system.memory_usage is defined and system.memory_total is defined %}
{{ ((system.memory_usage / system.memory_total) * 100)|round(1) }}% RAM
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endblock %} {% block javascripts %} {% endblock %}