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. Skripten / Logik
  4. [Frage] Dauer der Öffnung anzeigen (mit blockly?)

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[Frage] Dauer der Öffnung anzeigen (mit blockly?)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
6 Beiträge 4 Kommentatoren 1.8k Aufrufe
  • Ä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.
  • W Offline
    W Offline
    weimaraner
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich möchte gern in vis die Dauer eines aktuellen Zustandes anzeigen. Im Konkreten ist es ein TFK, dessen Status ich mir in Vis anzeigen lasse. Ist dieser auf "offen", möchte ich gerne die Zeit in Minuten anzeigen lassen, die der Kontakt schon offen ist. Wird der Kontakt geschlossen, soll die Messung stoppen (und die Anzeige in vis verschwinden). Der Wert muß nirgens gespeichert oder archiviert werden.

    Ich würde es gerne mittels blockly lösen, da ich mich damit mal langsam beschäftigen will (muß ;) )

    Danke Euch und Grüße

    Andreas

    1 Antwort Letzte Antwort
    0
    • lobomauL Offline
      lobomauL Offline
      lobomau
      schrieb am zuletzt editiert von
      #2

      Dafür gibt es ein widget "basic timestamp" und "als Interval" auswählen. Darüber könnte man ein widget legen zum Verdecken des unteren widget bei nicht "offen".

      Host: NUC8i3 mit Proxmox:

      • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
      • Slave: Pi4
      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pix
        schrieb am zuletzt editiert von
        #3

        Hallo,

        hier gibts es eine Skript Lösung und ganz unten auch eine http://forum.iobroker.net/viewtopic.php?f=23&t=737&start=40#p63514.

        http://forum.iobroker.net/viewtopic.php … =40#p43649

        Pix

        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

        1 Antwort Letzte Antwort
        0
        • W Offline
          W Offline
          weimaraner
          schrieb am zuletzt editiert von
          #4

          Hallo Pix,

          im angeführten fred geht es aber um countdown Zähler. Ich möchte allerdings nicht herunterzählen, sondern hochzählen. Also quasi: XX Minuten und XX Sekunden seit TFK offen.

          Oder verstehe ich hier was falsch?

          Das widget kann ich mir erst heute Abend anschauen. Timestamp klingt aber eher nach Uhrzeit, oder?

          Grüße Andreas

          1 Antwort Letzte Antwort
          0
          • lobomauL Offline
            lobomauL Offline
            lobomau
            schrieb am zuletzt editiert von
            #5

            @weimaraner:

            Hallo Pix,

            im angeführten fred geht es aber um countdown Zähler. Ich möchte allerdings nicht herunterzählen, sondern hochzählen. Also quasi: XX Minuten und XX Sekunden seit TFK offen.

            Oder verstehe ich hier was falsch? `
            Kannst es dir umbauen, dass es hochzählt.

            ` > Das widget kann ich mir erst heute Abend anschauen. Timestamp klingt aber eher nach Uhrzeit, oder?

            Grüße Andreas `
            Ja, normalerweise. Kannst im widget aber "Interval" anklicken, dann sieht es so aus:
            1146_unbenannt.jpg

            Host: NUC8i3 mit Proxmox:

            • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
            • Slave: Pi4
            1 Antwort Letzte Antwort
            0
            • T Offline
              T Offline
              tempestas
              schrieb am zuletzt editiert von
              #6

              so müsste es funktionieren (ohne Deckelung der Zeit):

              var idHM_trigger = "hm-rpc.0.MEQ01234567.1.STATE"; // Auslösender Aktor
              
              // ab hier nix mehr anpassen
              
              on(idHM_trigger, function(obj) {
                  if (obj.state.val) setState(countTrigger, true); 
               });
              
              createState('countTrigger', false);
              
                  var minutes;
                  var seconds;
                  var sekunden = 0;
                  var zeit;
                  var m;
                  var s;
                  var timer;
              
              function count() {
              
                  sekunden = sekunden + 1;
                  zeit = setTimeout(function(){ count() }, 1000);
                  ausgabe();
              
              }
              
              function stop() {
              
                  clearTimeout(zeit);
              
              }
              
              function ausgabe() {
              
                  minutes = Math.floor(sekunden / 60);
                  seconds = sekunden % 60;
              
                  if( minutes < 10) { m = "0" + minutes} else { m = minutes}
                  if( seconds < 10) { s = "0" + seconds} else { s = seconds}
              
                  timer = m + ":" + s;	
              
              }
              
              on('countTrigger', function (obj) {
                  if (obj.newState.val === true || obj.newState.val === 'true' || obj.newState.val == 1) {
                  count();
                      }    
              });
              
              

              Das Stoppen und die Variable "timer" musst du dann an enen Button hängen bzw in einem entsprechendem Widget anzeigen lassen in VIS

              <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

              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

              732

              Online

              32.6k

              Benutzer

              82.2k

              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