technikkram.net
  • Home
  • smartkram
  • Themenfelder
    • Smart Home
      • Homematic & Homematic IP
      • Smart Home Zentrale
      • Home Assistant
      • MQTT & Messaging
      • Zigbee & Thread
      • Shelly Geräte
      • KNX Gebäudeautomation
      • Matter & Thread
      • Apple HomeKit
    • Server & DevOps
      • Docker & Container
      • Proxmox VE
      • Linux Administration
      • Monitoring & Observability
      • Kubernetes & K3s
      • Raspberry Pi
    • Netzwerk
      • UniFi Netzwerk
      • Netzwerk Grundlagen
      • WLAN Optimierung
      • VLAN Konfiguration
      • Firewall & Security
      • Managed Switches
    • Sicherheit
      • Überwachungskameras
      • IT-Security
      • Videoüberwachung
      • Alarmanlagen
      • Zutrittskontrolle
    • Energie & Solar
      • Energiemanagement
      • Solar & Photovoltaik
    • NAS & Storage
      • NAS Systeme
      • Backup & Recovery
      • Synology NAS
      • Storage Lösungen
  • Archiv
  • Kontakt
    • Datenschutz
    • Impressum
  • KI-Transparenz
  • Click to open the search input field Click to open the search input field Suche
  • Menü Menü
  • Link zu Facebook
  • Link zu X
  • Link zu Mail
  • Link zu Rss dieser Seite
Werner
Smart Home

HomeMatic Gadget: Anzeige der Betriebszeit auf dem Startbildschirm

HomeMatic: NEUHEIT - Präsenzmelder für HomeMatic IP und HomeMatic - Ccuraspi

Hinter dem englischen Begriff Gadget verbirgt sich die sinngemäße deutsche Übersetzung „technische Spielerei“.  Eine solche möchte ich hier vorstellen, nicht unbedingt notwendig, aber schön dass es geht. Uptime ist ein englischer Ausdruck für die Zeit, in der ein Computersystem läuft und funktionstüchtig ist, auf Deutsch also Betriebszeit, oder auch verfügbare Betriebszeit.

Da ich auch beruflich in der IT-Branche aktiv bin, kenne ich die Bedeutung einer solchen Zeit für die Zuverlässigkeit eines Systems. Daher war die Idee nicht so abwegig die Betriebszeit meiner HomeMatic Zentrale zu ermitteln und wenn möglich auf dem Startbildschirm anzuzeigen. Da sowohl die CCU wie auch RaspberryMatic (Preis prüfen) auf einem Linux System basieren, begann meine Suche genau dort.

Der Befehl „uptime“ gibt auf Unix-Derivaten die aktuelle Uhrzeit, die Uptime des Systems, sowie den Load-Average über die letzten 1, 5 und 15 Minuten aus.

Mit dem nachfolgenden Befehl habe ich dann versucht die für mich relevanten Informationen heraus zu filtern.

Ich habe den Befehl in der Folge noch weiter angepasst und im HomeMatic Script weiter unten findet ihr den endgültigen Befehl, der die Betriebszeit in einem angenehmen, „human“ Format ausgibt.Systemvariable erstellen

Im nächsten Schritt ist die Systemvariable anzulegen, in die wir die ermittelte Betriebszeit schreiben wollen. Dazu ist über die WebUI eine Variable vom Typ „Zeichenkette“ zu definieren. Wenn ihr eure HomeMatic Zentrale auf einer CCU betreibt, könnt ihr die Variable entsprechend definieren.

Startseite > Einstellungen > Systemvariable

Systemvariable zur Startseite hinzufügen

Über das folgende WebUI Menü:  Startseite > Einstellungen > Benutzerverwaltung Könnt ihr die neue Systemvariable der Startseite des entsprechenden Benutzers hinzufügen.

SCRIPT

! Uptime (Betriebszeit) der CCU2 oder Raspberry auslesen
nstring command = "cat /proc/uptime | awk '// { printf \"%d Tage %02d Std %02d Min\", $1/86400, $1/3600%24, $1/60%60 }'";
ndom.GetObject ("CUxD.CUX2801001:5.CMD_SETS").State (command);
ndom.GetObject ("CUxD.CUX2801001:5.CMD_QUERY_RET").State (1);
ndom.GetObject ("Betriebszeit Raspberry").State (dom.GetObject ("CUxD.CUX2801001:5.CMD_RETS").State());
n
n

WebUI Programm

Um den ermittelten Wert in die oben angelegte Systemvariable zu schreiben, lasse ich ein Programm zyklisch laufen. Wichtig dabei ist, den Zyklus nicht zu kurz zu wählen, weil das zu Problemen führen kann. Außerdem macht es aus meiner Sicht keinen Sinn, im Minutentakt die Betriebszeit zu berechnen. Aus diesem Grund habe ich mich für einen Zyklus von 5 Minuten entschieden.

Hier der Ausdruck des Programms:

Wie bereits im Artikel „AddOn CUx-Daemon (CUx-D)“ beschrieben, empfehle ich bei häufigen Aufrufen von Systemfunktionen das über dieses AddOn umzusetzen. Dadurch läuft es sehr viel stabiler wie mit der Funktion „system.exec“. Warum genau habe ich dort detailliert beschrieben.Eines möchte ich hier aber zusätzlich noch aufzeigen. Über das in CUx-D definierte Gerät kann man bis zu 19 Kanäle bestimmten Funktions-Aufrufen zuweisen. Im obigen Programm könnt ihr sehen, dass ich für die Ermittlung der Betriebszeit den Kanal 5 zugewiesen habe.

Damit ich immer einen Überblick habe, wie ich die einzelnen Kanäle des CUxD-Gerätes zugewiesen habe, nutze ich die Möglichkeit das in der Gerätekonfiguration in der WebUI zu definieren.

Startseite > Einstellungen > Geräte

Anzeige auf der WebUI Startseite

Zum Schluss noch ein Screenshot von der aktualisierten Startseite:

 

Das könnte dich auch interessieren

  • Homematic CCU2 komplett auf CCU3 migrieren ohne Geräteverlust – Homematic CCU2 kaufen zu CCU3 Migration - Beide Zentralen nebeneinander mit Migrationspfeil
    Homematic CCU2 kaufen auf CCU3 migrieren: Komplette…
    3. April 2026 Die CCU2 zu CCU3 Migration erfordert eine systematische Herangehensweise, um Geräteverluste zu vermeiden Die Homematic CCU2 zu CCU3 Migration scheitert…
  • Homematic Thermostat Temperaturwerte werden nicht an Home Assistant übertragen – Homematic Thermostat zeigt 21°C während Home Assistant Dashboard veraltete 18°C Temperatur anzeigt
    Homematic Thermostat Temperaturwerte werden nicht an…
    3. April 2026 Das kennst du bestimmt auch: Das Thermostat zeigt 21°C, aber Home Assistant hängt bei 18°C fest Du kennst das Problem…
  • Garagentor per Smartphone öffnen - Homematic Garagentor-Aktor nachrüsten – Homematic Garagentor-Aktor Installation - Smartphone App steuert elektrisches Garagentor
    Garagentor per Smartphone öffnen - Homematic…
    1. Juli 2026 Moderne Garagentor-Steuerung: Mit Homematic wird jedes elektrische Garagentor smart und per App bedienbar Das Garagentor per Smartphone öffnen ist mit…
  • Homematic Wired Bus Terminierung mit Multimeter prüfen – Multimeter zeigt 120 Ohm Widerstandsmessung an Homematic Wired Bus Terminierung
    Homematic Wired Bus Terminierung mit Fluke 115…
    3. April 2026 Präzise Multimeter-Messung zeigt korrekte 120 Ohm Terminierung zwischen Bus+ und Bus- Klemmen Die Homematic Wired Bus Terminierung mit Multimeter prüfen…
  • WLAN fürs Smart Home optimieren: Kanäle, Frequenzbänder und Mesh richtig einstellen – Familie im Wohnzimmer mit WLAN-Router und Smart-Home-Geräten wie smarten Lampen und Steckdosen, die über eine Router-App gesteuert werden
    WLAN fürs Smart Home optimieren: Kanäle,…
    5. Juli 2026 Familie im Wohnzimmer mit WLAN-Router und Smart-Home-Geräten wie smarten Lampen und Steckdosen, die über eine Router-App gesteuert werden Bis zu…
  • Homematic IP Rolladen fährt nicht vollständig hoch lösen – Homematic IP Rollladenmotor Homematic IP Rolladenmotor HmIP-BROLL mit teilweise geöffnetem Rolladen zeigt typisches Positionierungsproblem
    Homematic IP Rolladen fährt nicht vollständig hoch…
    1. April 2026 Typisches Positionierungsproblem: HmIP-BROLL stoppt 20cm vor der mechanischen Endposition Falls dein Homematic IP Rolladen nicht vollständig hochfährt und etwa 10-30…
30. August 2017/4 Kommentare/von Werner
Schlagworte: Homematic, RaspberryMatic
Eintrag teilen
  • Teilen auf Facebook
  • Teilen auf X
  • Teilen auf WhatsApp
  • Teilen auf Pinterest
  • Teilen auf LinkedIn
  • Per E-Mail teilen
https://technikkram.net/wp-content/uploads/2017/05/CCURASPI-e1494409152977.jpg 425 700 Werner https://technikkram.net/wp-content/uploads/2019/05/technikkram_transparent.png Werner2017-08-30 08:15:132026-03-14 11:51:22HomeMatic Gadget: Anzeige der Betriebszeit auf dem Startbildschirm
4 Kommentare
  1. Mathias
    Mathias sagte:
    24. Oktober 2018 um 7:25

    Und so gehts beim Tinkerboard:
    Beschreibung wie ober, aber als Skript geben wir folgendes ein:

    string temp;
    system.Exec(„cat /sys/class/thermal/thermal_zone0/temp | sed ’s/.\{3\}$/.&/'“, &temp);
    if(temp != „“) {
    dom.GetObject(ID_SYSTEM_VARIABLES).Get(„CPU_Temp“).State(temp);
    }
    system.Exec(„cat /proc/loadavg | cut -d‘ ‚ -f-3 | tr -d ‚\n'“, &temp);
    if(temp != „“) {
    dom.GetObject(ID_SYSTEM_VARIABLES).Get(„CPU_Load“).State(temp);
    }
    system.Exec(„free -m | grep Mem: | awk ‚{ printf(\“%.1f\“, $3/$2*100) }'“, &temp);
    if(temp != „“) {
    dom.GetObject(ID_SYSTEM_VARIABLES).Get(„RAM_Usage“).State(temp);
    }
    system.Exec(„awk ‚{s=int($1);d=int(s/86400);h=int(s % 86400/3600);m=int(s % 3600 / 60); printf \“%d days, %02d:%02d\“, d, h, m}‘ /proc/uptime“, &temp);
    if(temp != „“) {
    dom.GetObject(ID_SYSTEM_VARIABLES).Get(„SYS_Uptime“).State(temp);
    }
    system.Exec(„/usr/bin/ntpq -pn | grep ‚*‘ | awk ‚{print $9}'“, &temp);
    if(temp != „“) {
    dom.GetObject(ID_SYSTEM_VARIABLES).Get(„SYS_NTPOffset“).State(temp);
    }
    Wir brauchen noch die Systemvariablen:
    CPU_Temp – Zahl mit Einheit °C (min: -100, max: 100)
    CPU_Load – Zeichenkette
    RAM_Usage – Zahl mit Einheit % (min: 0, max: 100)
    SYS_Uptime – Zeichenkeitte
    SYS_NTPOffset – Zahl mit Einheit ms (min: -999999, max: 999999)

    Antworten
  2. Manu
    Manu sagte:
    31. Juli 2018 um 17:18

    Hallo,

    wie müsste das Script aussehen, um mit „vcgencmd measure_clock arm“ die Taktfrequenz der CPU (in MHz) anzeigen zu lassen?
    Hatte es mit dem Script zur Temperatur-Auslesung probiert, aber das klappt nicht so recht.

    Antworten
  3. Joachim
    Joachim sagte:
    6. Mai 2018 um 21:28

    Dank der Überschrift bin ich etwas irritiert. Ich dachte, ich könnte die tatsächliche Betriebszeit des Raspberry in der Raspberrymatic auslesen. Vielmehr ist der Zeitabschnitt von einem Bootvorgang zum nächsten Bootvorgang gemeint. Und wenn das Scipt ordentlich zeitverzögert läuft, ist sogar der vorherige Wert nach einem Reboot zu sehen, bis er wieder auf Null gesetzt wird und neu zählt. Monatliche Updates und Hardwareschraubereien sorgen dafür, dass immer nur Tage zusammen kommen.
    Lässt sich das Script auf die gesamte Betriebszeit anpassen?

    Antworten
  4. Stefan
    Stefan sagte:
    21. Februar 2018 um 23:21

    Perfekt, das werden ich auf alle Fälle ausprobieren!

    Und wie das mit system.exec“ klappt wollte ich schon lange wissen,
    habe schon befürchtet ich muss jedesmal eine neue „Fernbedienung“ installieren und habe mir schon irgendwie gedacht dass nicht alles auf den gleichen Kanal laufen kann.

    sehr gut erklärt soweit ich das zu so später Stunde überflogen habe.

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

  •  
Smartkram Shop

Kategorien

Allgemein Apple Apps CCU2 CCU3 Charly debmatic EQ-3 Firmware Foto und Video Gadgets Gaming Geschenke Hardware Hausinstallation Haussicherheit HB-RF-USB Homematic Homematic IP Homematic IP Access Point Homematic IP wired iOS Kaufberatung KNX Media Center Mediola Mobile Multimedia Netzwerk Neuigkeiten Nützliches Online Services piVCCU piVCCU3 Provider Rabatte & Co Raspberrymatic Security Smart Home Software & Co Testberichte Tipps & Tricks Wearables Windows Zubehör
© Copyright - technikkram.net -
  • Link zu Facebook
  • Link zu X
  • Link zu Mail
  • Link zu Rss dieser Seite
Nach oben scrollen Nach oben scrollen Nach oben scrollen