Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Gelöst] Homematic: Last change Timestamp

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    13
    1
    142

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[Gelöst] Homematic: Last change Timestamp

Scheduled Pinned Locked Moved Visualisierung
visown projecthow-to
5 Posts 3 Posters 912 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    DidiDerHerrmann
    wrote on last edited by DidiDerHerrmann
    #1

    Grüßt euch alle! Ich habe hier seit einiger Zeit im Forum mitgelesen und dadurch schon einiges an Hilfe erhalten, aber für die letzten Details wollte ich noch einmal nach Hilfe oder Ideen fragen. Folgende Visualisierung ist bereits vorhanden:

    Übersicht.PNG

    Visualisiert werden Fensterkontakte und Heizthermostate aus dem Hause Homematic.
    Fensterkontakte: HM-Sec-SCo
    Thermostate: HM-CC-RT-DN

    Die Buttons unter den Heizungsreglern dienen dazu, möglichst schnell zwischen manuellen und automatischen Modi hin und her zu schalten.

    Was ich noch optimieren möchte, sind allerdings die Daten links und rechts von den Fenstericons. Sie zeigen das Datum an, an dem das Fenster das letzte Mal geöffnet oder geschlossen wurde. Ich nutze das "Last change Timestamp" widget.

    Ich würde es noch gerne schaffen, dass ein Datum rot hinterlegt wird, wenn ein Fenster länger als 7 Tage geschlossen ist. Zu diesem Test habe ich testweise mit Blockly und Javascript gearbeitet. Wenn das heutige Datum minus dem letzten Timestamp größer als 604800000 (entspricht sieben Tagen) ist, sollte eine Telegram Nachricht an mich versendet werden.

    const dateToday = new Date().getTime();
    console.log(dateToday);
    
    if(dateToday - getState("hm-rpc.0.SERIALNUMBER.1.STATE").ts > 604800000 && (getState("hm-rpc.0.SERIALNUMBER.1.STATE").val == false)){
        sendTo("telegram.1", "send", {
              text: ('Fenster offen:' + 'hm-rpc.0.SERIALNUMBER.1.STATE')
        });
    }
    

    Ersetzt man "Serialumber" durch die Nummer des Fensterkontaktes funktioniert das Script eingeschränkt. Bei Homematic ist bekannt (bzw. den Fensterkontakten), dass ein Timestamp allein bei einem Zugriff aktualisiert wird. Das ist auch bei meinem Skript der Fall, weswegen ich glaube, dass eine Ausarbeitung wenig zielführend wäre.

    Deswegen würde ich gerne weiter mit dem "Last change Timestamp" arbeiten. Interessanterweise wird dieser nicht aktualisiert, wenn mein Skript auf den Timestamp des Geräts zugreift. Allerdings weiß ich wiederum nicht, wie ich auf den Wert des Widgets zugreifen kann, bzw. damit Variablen setzen oder andere Widgets steuern könnte.

    Wenn jemand Anregungen für mich hätte, wäre ich euch sehr dankbar!

    sigi234S paul53P 2 Replies Last reply
    0
    • D DidiDerHerrmann

      Grüßt euch alle! Ich habe hier seit einiger Zeit im Forum mitgelesen und dadurch schon einiges an Hilfe erhalten, aber für die letzten Details wollte ich noch einmal nach Hilfe oder Ideen fragen. Folgende Visualisierung ist bereits vorhanden:

      Übersicht.PNG

      Visualisiert werden Fensterkontakte und Heizthermostate aus dem Hause Homematic.
      Fensterkontakte: HM-Sec-SCo
      Thermostate: HM-CC-RT-DN

      Die Buttons unter den Heizungsreglern dienen dazu, möglichst schnell zwischen manuellen und automatischen Modi hin und her zu schalten.

      Was ich noch optimieren möchte, sind allerdings die Daten links und rechts von den Fenstericons. Sie zeigen das Datum an, an dem das Fenster das letzte Mal geöffnet oder geschlossen wurde. Ich nutze das "Last change Timestamp" widget.

      Ich würde es noch gerne schaffen, dass ein Datum rot hinterlegt wird, wenn ein Fenster länger als 7 Tage geschlossen ist. Zu diesem Test habe ich testweise mit Blockly und Javascript gearbeitet. Wenn das heutige Datum minus dem letzten Timestamp größer als 604800000 (entspricht sieben Tagen) ist, sollte eine Telegram Nachricht an mich versendet werden.

      const dateToday = new Date().getTime();
      console.log(dateToday);
      
      if(dateToday - getState("hm-rpc.0.SERIALNUMBER.1.STATE").ts > 604800000 && (getState("hm-rpc.0.SERIALNUMBER.1.STATE").val == false)){
          sendTo("telegram.1", "send", {
                text: ('Fenster offen:' + 'hm-rpc.0.SERIALNUMBER.1.STATE')
          });
      }
      

      Ersetzt man "Serialumber" durch die Nummer des Fensterkontaktes funktioniert das Script eingeschränkt. Bei Homematic ist bekannt (bzw. den Fensterkontakten), dass ein Timestamp allein bei einem Zugriff aktualisiert wird. Das ist auch bei meinem Skript der Fall, weswegen ich glaube, dass eine Ausarbeitung wenig zielführend wäre.

      Deswegen würde ich gerne weiter mit dem "Last change Timestamp" arbeiten. Interessanterweise wird dieser nicht aktualisiert, wenn mein Skript auf den Timestamp des Geräts zugreift. Allerdings weiß ich wiederum nicht, wie ich auf den Wert des Widgets zugreifen kann, bzw. damit Variablen setzen oder andere Widgets steuern könnte.

      Wenn jemand Anregungen für mich hätte, wäre ich euch sehr dankbar!

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      wrote on last edited by
      #2

      @DidiDerHerrmann sagte in Homematic: Last change Timestamp:

      bzw. damit Variablen setzen oder andere Widgets steuern könnte.

      Jedes Widget hat eine ID (Nummer) zb.: w01985

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      D 1 Reply Last reply
      0
      • D DidiDerHerrmann

        Grüßt euch alle! Ich habe hier seit einiger Zeit im Forum mitgelesen und dadurch schon einiges an Hilfe erhalten, aber für die letzten Details wollte ich noch einmal nach Hilfe oder Ideen fragen. Folgende Visualisierung ist bereits vorhanden:

        Übersicht.PNG

        Visualisiert werden Fensterkontakte und Heizthermostate aus dem Hause Homematic.
        Fensterkontakte: HM-Sec-SCo
        Thermostate: HM-CC-RT-DN

        Die Buttons unter den Heizungsreglern dienen dazu, möglichst schnell zwischen manuellen und automatischen Modi hin und her zu schalten.

        Was ich noch optimieren möchte, sind allerdings die Daten links und rechts von den Fenstericons. Sie zeigen das Datum an, an dem das Fenster das letzte Mal geöffnet oder geschlossen wurde. Ich nutze das "Last change Timestamp" widget.

        Ich würde es noch gerne schaffen, dass ein Datum rot hinterlegt wird, wenn ein Fenster länger als 7 Tage geschlossen ist. Zu diesem Test habe ich testweise mit Blockly und Javascript gearbeitet. Wenn das heutige Datum minus dem letzten Timestamp größer als 604800000 (entspricht sieben Tagen) ist, sollte eine Telegram Nachricht an mich versendet werden.

        const dateToday = new Date().getTime();
        console.log(dateToday);
        
        if(dateToday - getState("hm-rpc.0.SERIALNUMBER.1.STATE").ts > 604800000 && (getState("hm-rpc.0.SERIALNUMBER.1.STATE").val == false)){
            sendTo("telegram.1", "send", {
                  text: ('Fenster offen:' + 'hm-rpc.0.SERIALNUMBER.1.STATE')
            });
        }
        

        Ersetzt man "Serialumber" durch die Nummer des Fensterkontaktes funktioniert das Script eingeschränkt. Bei Homematic ist bekannt (bzw. den Fensterkontakten), dass ein Timestamp allein bei einem Zugriff aktualisiert wird. Das ist auch bei meinem Skript der Fall, weswegen ich glaube, dass eine Ausarbeitung wenig zielführend wäre.

        Deswegen würde ich gerne weiter mit dem "Last change Timestamp" arbeiten. Interessanterweise wird dieser nicht aktualisiert, wenn mein Skript auf den Timestamp des Geräts zugreift. Allerdings weiß ich wiederum nicht, wie ich auf den Wert des Widgets zugreifen kann, bzw. damit Variablen setzen oder andere Widgets steuern könnte.

        Wenn jemand Anregungen für mich hätte, wäre ich euch sehr dankbar!

        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #3

        @DidiDerHerrmann
        Das Script wird nur einmal bei Scriptstart ausgeführt, denn es fehlt ein Trigger (z.B. schedule jede Stunde). Der Timestamp ist ungeeignet, da er alle 24 h aktualisiert wird - wie ich gelesen habe. Deshalb verwende besser .lc.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        D 1 Reply Last reply
        1
        • sigi234S sigi234

          @DidiDerHerrmann sagte in Homematic: Last change Timestamp:

          bzw. damit Variablen setzen oder andere Widgets steuern könnte.

          Jedes Widget hat eine ID (Nummer) zb.: w01985

          D Offline
          D Offline
          DidiDerHerrmann
          wrote on last edited by DidiDerHerrmann
          #4

          @sigi234 Danke schon mal! Ich bin mir nur noch unsicher, wie ich an die Werte komme. Mit "w00281" oder "vis.0.w00281" zeigt mir mein Skript an, dass der Wert nicht vorhanden ist.

          1 Reply Last reply
          0
          • paul53P paul53

            @DidiDerHerrmann
            Das Script wird nur einmal bei Scriptstart ausgeführt, denn es fehlt ein Trigger (z.B. schedule jede Stunde). Der Timestamp ist ungeeignet, da er alle 24 h aktualisiert wird - wie ich gelesen habe. Deshalb verwende besser .lc.

            D Offline
            D Offline
            DidiDerHerrmann
            wrote on last edited by
            #5

            @paul53 Vielen Dank! .lc ist wohl wonach ich gesucht habe!
            Danke auch für den Schedulehinweis. Den habe ich erstmal bewusst weggelassen, um zu testen, ob ich denn überhaupt an die richtigen Werte komme. :)

            1 Reply Last reply
            0
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            557

            Online

            32.7k

            Users

            82.4k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Home
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe