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
  • 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.
\\n
\\n
\\n
\\nDa 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.
\\n
\\nDer 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.
\\n
\\n
\\n
\\nMit dem nachfolgenden Befehl habe ich dann versucht die für mich relevanten Informationen heraus zu filtern.
\\n
\\n
\\n
\\nIch 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.
\\n
\\n
\\nSystemvariable erstellen
\\n
\\nIm 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.
\\n
\\nStartseite > Einstellungen > Systemvariable
\\n
\\n
\\n
\\nSystemvariable zur Startseite hinzufügen
\\n
\\nÜber das folgende WebUI Menü:  Startseite > Einstellungen > Benutzerverwaltung Könnt ihr die neue Systemvariable der Startseite des entsprechenden Benutzers hinzufügen.
\\n
\\n
\\n
\\nSCRIPT
\\n

! 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

\\nWebUI Programm
\\n
\\nUm 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.
\\n
\\nHier der Ausdruck des Programms:
\\n
\\n
\\n
\\nWie 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.
\\n
\\n
\\nEines 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.
\\n
\\n
\\n
\\nDamit 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.
\\n
\\nStartseite > Einstellungen > Geräte
\\n
\\n
\\n
\\nAnzeige auf der WebUI Startseite
\\n
\\nZum Schluss noch ein Screenshot von der aktualisierten Startseite:
\\n
\\n
\\n
\\n 

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 kaufen…
  • 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…
  • 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…
  • Home Assistant Terminal Log-Analyse für Homematic IP Verbindungsfehler
    Homematic IP Access Point Geräte nicht erreichbar in…
    1. April 2026 Homematic IP Access Point mit verschiedenen LED-Status-Anzeigen für die Diagnose von Verbindungsproblemen Wenn dein Homematic IP Access Point in Home…
  • 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…
  • Homematic Smart Home - Das deutsche System im Praxis-Test – Homematic Smart Home CCU3 Zentrale mit Smartphone und Geräten im modernen Wohnzimmer
    Homematic Smart Home - Das deutsche System im Praxis-Test
    5. Mai 2026 Die Homematic CCU3 Zentrale bildet das Herzstück des Smart Home Systems und steuert alle Geräte zuverlässig über 868 MHz Funk…
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 KNX Media Center Mediola Mobile Multimedia Netzwerk Neuigkeiten Nützliches Online Services piVCCU piVCCU3 Provider Rabatte & Co Raspberrymatic Security smarte Beleuchtung 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