0.6.2: pallino rosso solo per un allarme che ferma la macchina (avviso = ambra)
Il pallino era rosso per qualunque voce nell'elenco errori: un semplice avviso (compressore limitato dalla temperatura esterna, caso reale del 10/10) sembrava un guasto. Ora il ponte espone in /summary anche error_severity e alarm_stopping, e il livello 3 (rosso) e' riservato agli allarmi che fermano la macchina o di severita' CRITICAL/ERROR; avviso = ambra. Copertina allineata. 6 verifiche nuove nell'harness del nucleo (avviso/stop/critical/error/ precedenza sul modo attivo/gravita' ignota = ambra).
This commit is contained in:
+14
-1
@@ -211,6 +211,19 @@ int errorCount(const QVariantMap &summary)
|
||||
return summary.value(QStringLiteral("errors_count")).toInt();
|
||||
}
|
||||
|
||||
// Allarme "serio": quello che ferma la macchina (flag del bridge, dai metadati
|
||||
// della pompa) oppure una voce di severita' CRITICAL/ERROR. Un semplice avviso
|
||||
// (WARNING: per esempio il compressore limitato dalla temperatura esterna) NON
|
||||
// e' serio, e non deve accendere il pallino rosso. Senza i campi (bridge piu'
|
||||
// vecchio) si resta prudenti sul colore: ambra, non rosso.
|
||||
bool alarmSerious(const QVariantMap &summary)
|
||||
{
|
||||
if (flagValue(summary, QStringLiteral("alarm_stopping")))
|
||||
return true;
|
||||
const QString severita = summary.value(QStringLiteral("error_severity")).toString();
|
||||
return severita == QStringLiteral("CRITICAL") || severita == QStringLiteral("ERROR");
|
||||
}
|
||||
|
||||
bool pumpRunning(const QVariantMap &summary)
|
||||
{
|
||||
return summary.value(QStringLiteral("pump_active_state")).toString()
|
||||
@@ -268,7 +281,7 @@ int statusLevel(const QVariantMap &summary)
|
||||
if (summary.isEmpty())
|
||||
return 1;
|
||||
if (errorCount(summary) > 0)
|
||||
return 2;
|
||||
return alarmSerious(summary) ? 3 : 2;
|
||||
if (flagValue(summary, QStringLiteral("away_mode"))
|
||||
|| flagValue(summary, QStringLiteral("night_mode"))
|
||||
|| flagValue(summary, QStringLiteral("force_heating")))
|
||||
|
||||
+4
-2
@@ -38,8 +38,10 @@ QString stateShort(const QVariantMap &summary);
|
||||
// "Relax: la pompa di calore funziona regolarmente").
|
||||
QString stateLong(const QVariantMap &summary);
|
||||
|
||||
// Livello dello stato, per il colore della riga: 0 regolare, 1 modo attivo
|
||||
// (assenza, notte, riscaldamento forzato), 2 errore sull'impianto.
|
||||
// Livello dello stato, per il colore del pallino in Home:
|
||||
// 0 regolare, 1 modo attivo (assenza, notte, riscaldamento forzato),
|
||||
// 2 avviso (errori di severita' WARNING: la macchina lavora),
|
||||
// 3 allarme serio (allarme che ferma la macchina, o severita' CRITICAL/ERROR).
|
||||
int statusLevel(const QVariantMap &summary);
|
||||
|
||||
// Temperatura leggibile: "51,0" oppure "—" se il valore manca.
|
||||
|
||||
Reference in New Issue
Block a user