Ich wollte einen Überblick über die Homey-Systemlast haben, ohne immer die Insights aufrufen zu müssen. Homey selbst bieten in den Flows oder Logik-Variablen/Tags keine Daten dazu. In HomeyScript aber schon.
Wer die Daten gern hätte, kann sie auf folgende Weise verwenden:
- HomeyScript anlegen
Die Kommentare (mit // am Beginn) könnt ihr aktivieren für Konsolenausgaben beim Skript-Test. Einfach die // löschen.
Die Systemload-Daten enthalten 3 Werte. Das sind jeweils der Systemload über die letzten 1, 5 und 15 Minuten (soweit ich das in den Linux-Dokus gesehen hatte).
Das Skript zum Kopieren:
// Ausgabe des SystemLoad als Flow-Tag
sys = await Homey.system.getInfo( );
//console.log(sys);
//console.log(‘SystemLoad:’);
//console.log('1 min: ’ + sys.loadavg[0].toFixed(2));
//console.log('5 min: ’ + sys.loadavg[1].toFixed(2));
//console.log('15 min: ’ + sys.loadavg[2].toFixed(2));
await tag(“SystemLoad_1min”, sys.loadavg[0] );
await tag(“SystemLoad_5min”, sys.loadavg[1] );
await tag(“SystemLoad_15min”, sys.loadavg[2] );
return true;
-
Flow anlegen.
Ich habe 3 Flows angelegt, die je alle 1, 5 und 15min die Werte auslesen.
Der Wert aus dem HomeyScript steht als Tag zur Verfügung (jeweils der Name aus dem tag(…)-Befehl)
Den Wert könnt ihr nun verwenden. Ich veröffentliche die 3 Werte per MQTT. -
Zusatz für HomeAssistant-Verwender
Die Werte können in HA als MQTT-Sensor aboniert werden:
Inhalt der sensor.yaml (inkludiert in configuration.yaml - falls ihr das direkt in die YAML schreibt, müsst ihr noch - sensor ergänzen). Da über MQTT nur Strings importiert werden, muss noch in Float konvertiert werden. Mit *100 hat man gleich noch einen Prozentwert.
sensor.yaml:
# Homey System-Parameter - platform: mqtt name: homeySystemLoad_1min state_topic: 'homey_publish/SystemLoad_1min' value_template: >- {{ (value | float * 100) | int }} force_update: true unit_of_measurement: "%" - platform: mqtt name: homeySystemLoad_5min state_topic: 'homey_publish/SystemLoad_5min' value_template: >- {{ (value | float * 100) |int }} force_update: true unit_of_measurement: "%" - platform: mqtt name: homeySystemLoad_15min state_topic: 'homey_publish/SystemLoad_15min' value_template: >- {{ (value | float * 100) |int }} force_update: true unit_of_measurement: "%"
Dann könnt ihr schöne Diagramme in HA basteln: