Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Gelöst] Homematic: Last change Timestamp

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] Homematic: Last change Timestamp

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      DidiDerHerrmann last edited by 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!

      sigi234 paul53 2 Replies Last reply Reply Quote 0
      • sigi234
        sigi234 Forum Testing Most Active @DidiDerHerrmann last edited by

        @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 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @DidiDerHerrmann last edited by

          @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 1 Reply Last reply Reply Quote 1
          • D
            DidiDerHerrmann @sigi234 last edited by DidiDerHerrmann

            @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 Reply Quote 0
            • D
              DidiDerHerrmann @paul53 last edited by

              @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 Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              545
              Online

              31.9k
              Users

              80.2k
              Topics

              1.3m
              Posts

              how-to own project vis
              3
              5
              849
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo