Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Script aufrufen um Sichtbarkeit eines Objekts zu steuern

    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

    Script aufrufen um Sichtbarkeit eines Objekts zu steuern

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

      Ich bin noch Anfängerin im ioBroker.
      Ich möchte in VIS ein Objekt uhrzeitabhängig Ein- bzw. Ausblenden. Also beispielsweise zwischen 10 und 11 Uhr soll es eingeblendet sein, ansonsten nicht.
      Dazu habe ich eine Scriptvorlage gefunden. (siehe unten)
      Dem Script kann man Startzeit und Endzeit übergeben. Liegt die Uhrzeit dazwischen ist der Rückgabewert true.
      Jetzt war meine Idee dieses Script im Feld Sichtbarkeit, Object ID aufzurufen mit der Bedingung == true. Aber das scheint so nicht zu funktionieren.

      javascript.0.scriptEnabled.common.Zeitbereich("10:00:00", "11:00:00")

      wie kann ich das Script aus VIS aufrufen, um das Feld dann Uhrzeitabhängig auszublenben?

      /*
       * @copyright 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
       *
       * @author 2020 Stephan Kreyenborg <stephan@kreyenborg.koeln>
       *
       * Dieses Skript dient zur freien Verwendung in ioBroker zur Verbrauchserfassung der Shelly Geräte.
       * Jegliche Verantwortung liegt beim Benutzer. Das Skript wurde unter Berücksichtigung der bestmöglichen Nutzung
       * und Performance entwickelt.
       * Der Entwickler versichert, das keine böswilligen Systemeingriffe im originalen Skript vorhanden sind.
       *
       * Sollte das Skript wider Erwarten nicht korrekt funktionieren, so hast Du jederzeit die Möglichkeit, Dich auf
       * https://www.kreyenborg.koeln
       * für Unterstützung zu melden. Jedes Skript besitzt seine eigene Kommentarseite, auf der,
       * nach zeitlicher Möglichkeit des Autors, Hilfe angeboten wird. Ein Anrecht hierauf besteht nicht!
       * 
       * Ansprüche gegenüber Dritten bestehen nicht. 
       * 
       * Skript Name:        Zeitbereich
       * Skript Version:    1.0
       * Erstell-Datum:    16. April 2020
       * 
       */
      function Zeitbereich(startTime,endTime) {
          // Aktuelles Datum abholen
          var currentDate = new Date();
          // Startdatum formatieren   
          var startDate = new Date(currentDate.getTime());
          startDate.setHours(startTime.split(":")[0]);
          startDate.setMinutes(startTime.split(":")[1]);
          if (startTime.split(":")[2]) {
              startDate.setSeconds(startTime.split(":")[2]);
          }
          // Enddatum formatieren
          var endDate = new Date(currentDate.getTime());
          endDate.setHours(endTime.split(":")[0]);
          endDate.setMinutes(endTime.split(":")[1]);
          if (endTime.split(":")[2]) {
              endDate.setSeconds(endTime.split(":")[2]);
          }
          //Setze Zeitbereich zurück
          var valid_time_frame = false
          
          if (endTime > startTime) {
              // Zeitbereich ist im gleichen Tag
              valid_time_frame = (currentDate >= startDate && currentDate <= endDate) ? true : false;
          } else {
              // Zeitbereich endet im nächsten Tag
              valid_time_frame = (currentDate >= endDate && currentDate <= startDate) ? false : true;
          }
          return valid_time_frame;
      }
      
      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Paige1998 last edited by Homoran

        @paige1998 sagte in Script aufrufen um Sichtbarkeit eines Objekts zu steuern:

        Jetzt war meine Idee dieses Script im Feld Sichtbarkeit, Object ID aufzurufen mit der Bedingung == true. Aber das scheint so nicht zu funktionieren.

        ich weiss nicht genau was du tust.

        @paige1998 sagte in Script aufrufen um Sichtbarkeit eines Objekts zu steuern:

        javascript.0.scriptEnabled.common.Zeitbereich("10:00:00", "11:00:00")

        in dem Verzeichnis solltest du nur Skripte (de)aktivieren, sonst nichts.
        (ob dieser Skriptname mit Sonderzeichen sinnvoll ist, erstmal außen vor)

        @paige1998 sagte in Script aufrufen um Sichtbarkeit eines Objekts zu steuern:

        Ich möchte in VIS ein Objekt uhrzeitabhängig Ein- bzw. Ausblenden. Also beispielsweise zwischen 10 und 11 Uhr soll es eingeblendet sein, ansonsten nicht.

        läuft viel einfacher
        Ein kurzes Script/Blockly/wasAuchImmer schaltet einen eigenen Datenpunkt vom typ Bool auf false oder true, je nach Uhrzeit.
        Diesen nutzt du für die Sichtbarkeit

        P 1 Reply Last reply Reply Quote 0
        • P
          Paige1998 @Homoran last edited by

          @homoran

          javascript.0.scriptEnabled.common.Zeitbereich("10:00:00", "11:00:00")
          

          In dem Scriptnamen sind keine Sonderzeichen. In der Klammer stehen übergabeparameter an das Script. Startzeit und Endzeit. Ist es nicht möglich ein Script aus VIS für meinen genannten Zweck aufzurufen?

          scriptaufruf.png

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

            @paige1998 sagte in Script aufrufen um Sichtbarkeit eines Objekts zu steuern:

            Ist es nicht möglich ein Script aus VIS für meinen genannten Zweck aufzurufen?

            warum denn?
            Passt der Vorschlag nicht?

            Wenn es unbedingt sein muss schaltest du einen Datenpunkt über die Vis, und das Skript triggert darauf.

            Javascript arbeitet eventbasiert. Da werden Skripte nicht an- und abgeschaltet

            1 Reply Last reply Reply Quote -1
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            726
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            2
            4
            137
            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