Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Problem mit Widget last change timestamp

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    Problem mit Widget last change timestamp

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Blue14 last edited by

      Hallo zusammen

      Evtl kann mir einer von euch helfen. Ich versuche gerade meinen neuen Klingelsensor von Homematic ins Vis einzubinden um mir anzeigen zu lassen wann es das letzte mal geklingelt hat. Nun habe ich das Problem das der Zeitstempel nicht geändert wird im Vis, in der Ccu sehe ich den neuen Zeitstempel immer. Bei anderen Statusanzeigen z.b. Türkontakten klappt das ohne probleme.

      Hier mal nen Screen von meine Widget config.

      filename="timestamp.png" index="0">~~

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        läuft denn dein rpc wieder???

        1 Reply Last reply Reply Quote 0
        • B
          Blue14 last edited by

          Also Xml-Rpc ja

          1 Reply Last reply Reply Quote 0
          • S
            spaceduck last edited by

            Ich habe auf der CCU ein Skript laufen welches einen Counter hochzählt (wie oft wurde geklingelt) und in eine Systemvariable schreibt. Zusätzlich erzeuge ich noch einen Timestamp und schreibe ihn ebenfalls in eine CCU Systemvariable. Beide Variable lassen sich dann Problemlos in vis anzeigen. Wenn da Interesse besteht kann ich das gerne hier veröffentlichen.
            361_klingel.jpg

            1 Reply Last reply Reply Quote 0
            • B
              Blue14 last edited by

              Hallo Spaceduck

              Sehr gerne würde mich sehr Interessieren dein skript, damit hab ich mich zwar noch nich beschäftigt aber wäre Interessant.

              Wird der Zähler Nachts zurück gesetzt oder wie hast du das gemacht?

              1 Reply Last reply Reply Quote 0
              • metaxa
                metaxa last edited by

                Hallo Blue14!

                Ich möchte in diesem Forum einmal "anschreiben" 8-)

                1. in der CCU2 eine Systemvariable anlegen (bei mir "sv16_EG_Glocke_Count"), Typ nummerisch, Maßeinheit "mal" 2) Script anlegen und bei jedem Läuten auf der CCU2 ausführen:dom.GetObject("sv16_EG_Glocke_Count").State(1 + dom.GetObject("sv16_EG_Glocke_Count").Value());3) tgl um 00:01 läuft bei mir ein CCU2-Programm, unter anderen mit diesem Script zum Zurücksetzen des Zählers````
                  ! setzt Glockencounter vom Vortag auf 0, damit der Zähler von Neuem beginnt
                  dom.GetObject("sv16_EG_Glocke_Count").State(0);
                Den Timestamp schreibe ich nicht, werde ich aber künftig einbauen. Die Visualisierung in Vis dann mit einem passenden Widget (z.B. "basic Number" oder "basic String") einpflegen. Ich habe es über "basic - Red Number" gelöst da ich nur etwas sehen möchte, wenn tatsächlich mind 1x am Tag geläutet wurde.
                
                LG, mxa
                1 Reply Last reply Reply Quote 0
                • T
                  ThomasD last edited by

                  Hallo,

                  ich habe zwar einen Klingelsensor auf Mysensors Basis, frage dann die Variable auf Update ab und erstelle dann eine Liste mit dem Timestamp. Diese kann dann im Vis angezeigt werden. Am Anfang war die Zeit noch nicht richtig formatiert, siehe rechts oben. Stimmt aber jetzt.

                  Schöne Grüße

                  ThomasD

                  var cacheSelectorKlingelinnen  = $('channel[state.id=mysensors.0.192_168_0_243.16.3_CUSTOM.V_VAR1]'/*192_168_0_243.16.3_CUSTOM.V_VAR1*/);
                  var cacheSelectorKlingelaussen  = $('channel[state.id=mysensors.0.192_168_0_243.16.4_CUSTOM.V_VAR1]'/*192_168_0_243.16.4_CUSTOM.V_VAR1*/);
                  
                  function Klingelinnen(obj) {
                  var neuexport;
                  var neu;
                  var neust;
                  var daten;
                  var zeiten = [];
                  neu = getState("mysensors.0.192_168_0_243.16.3_CUSTOM.V_VAR1"/*192_168_0_243.16.3_CUSTOM.V_VAR1*/).val;
                  neust = timeConverter(neu);
                  daten = getState("javascript.0.Klingel.Innen.Izeiten"/*Izeiten*/).val;
                  zeiten = daten.split(",");
                  zeiten.push(neust);
                  neuexport = zeiten.toString(); 
                  setState("javascript.0.Klingel.Innen.Izeiten"/*Izeiten*/, neuexport);
                  }
                  
                  function Klingelaussen(obj) {
                  var neuexport;
                  var neu;
                  var neust;
                  var daten;
                  var zeiten = [];
                  neu = getState("mysensors.0.192_168_0_243.16.4_CUSTOM.V_VAR1"/*192_168_0_243.16.4_CUSTOM.V_VAR1*/).val;
                  neust = timeConverter(neu);
                  daten = getState("javascript.0.Klingel.Draussen.Dzeiten"/*Dzeiten*/).val;
                  zeiten = daten.split(",");
                  zeiten.push(neust);
                  neuexport = zeiten.toString(); 
                  setState("javascript.0.Klingel.Draussen.Dzeiten"/*Dzeiten*/, neuexport);
                  }
                  
                  function timeConverter(UNIX_timestamp){
                    var a = new Date(UNIX_timestamp * 1000);
                    var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
                    var year = a.getFullYear();
                    var month = months[a.getMonth()];
                    var date = a.getDate();
                    var hour = a.getHours() < 10 ? '0' + a.getHours() : a.getHours();
                    // var hour = a.getHours();
                    var min = a.getMinutes() < 10 ? '0' + a.getMinutes() : a.getMinutes();
                    // var min = a.getMinutes();
                    var sec = a.getSeconds() < 10 ? '0' + a.getSeconds() : a.getSeconds();
                    // var sec = a.getSeconds();
                    var time = date + ' ' + month + ' ' + year + ' ' + hour + ':' + min + ':' + sec ;
                    return time;
                  }
                  
                  cacheSelectorKlingelinnen.on(function(obj) {    // bei Zustandänderung
                     Klingelinnen(obj);
                  });
                  cacheSelectorKlingelaussen.on(function(obj) {    // bei Zustandänderung
                     Klingelaussen(obj);
                  });
                  
                  

                  1654_klingel.png

                  1 Reply Last reply Reply Quote 0
                  • S
                    spaceduck last edited by

                    Hallo Blue14,

                    hier das Script auf der CCU. Systemvariablen: Klingelzaehler -> Typ Zahl & Klingel-Timestamp -> Typ Zeichenkette

                    Zurücksetzen auf 0 bzw. Löschen der Timestamps mache ich mit der CCU Zeitsteuerung jeweils um Mitternacht.

                    object sv;    ! Systemvariable
                    integer n;    ! Zählwert
                    
                    sv = dom.GetObject("Klingelzaehler");
                    n = 1 + sv.Value();
                    sv.State(n); 
                    
                    var t = system.Date("%d.%m - %H:%M");
                    var x = dom.GetObject("Klingel-Timestamp").Value();
                    dom.GetObject("Klingel-Timestamp").State(x + " " +  t);
                    
                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    942
                    Online

                    32.3k
                    Users

                    80.9k
                    Topics

                    1.3m
                    Posts

                    5
                    8
                    1769
                    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