Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    998

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[Gelöst] Homematic: Last change Timestamp

Geplant Angeheftet Gesperrt Verschoben Visualisierung
visown projecthow-to
5 Beiträge 3 Kommentatoren 901 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    DidiDerHerrmann
    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            728

            Online

            32.6k

            Benutzer

            82.0k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe