Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Scriptbeispiel] Rollladen zeitverzögert fahren

    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

    [Scriptbeispiel] Rollladen zeitverzögert fahren

    This topic has been deleted. Only users with topic management privileges can see it.
    • htrecksler
      htrecksler Forum Testing last edited by

      Hier ein Beispiel um Rollladen zeitversetzt (nach jeweils 2 Sekunden) zu fahren.

      schedule({astro: "sunset"}, function () {
          setTimeout(function () {
              setState("hm-rpc.0.JEQ0107388.1.LEVEL", 18);            // Küche Klein auf 18%
              setTimeout(function () {
                  setState("hm-rpc.0.JEQ0107450.1.LEVEL", 0);             // Küche Gross komplett zu
                  setTimeout(function () {
                      setState("hm-rpc.0.JEQ0107428.1.LEVEL", 0);           // Wohnzimmer Gross komplett zu
                      setTimeout(function () {
                          setState("hm-rpc.0.KEQ0812849.1.LEVEL", 18);      // Wohnzimmer klein auf 18 %
                          setTimeout(function () {
                              setState("hm-rpc.0.KEQ0811282.1.LEVEL", 25);    // Abstellraum auf 25 %
                          }, 2000);
                      }, 2000);
                  }, 2000);
              }, 2000);
          }, 2000);
      });
      
      

      Das Script fährt die Rollladen, in diesem Beispiel bei Sonnenuntergang [astro: "sunset"] in die angegebenen Positionen.

      Bei der "Astro-Funktion" handelt es sich um eine Funktion welche der Javascript-Adapter standardmäßig mitbringt.

      In den einzelnen setState-Befehlen muss die Seriennummer natürlich durch die eigenen ersetzt werden. Hier ist der Datenpunkt "LEVEL" vom Kanal 1 auszuwählen.

      Die Zahl hinter dem Komma im setState-Befehl stellt die prozentuale Lichtdurchlässigkeit dar. Anders als in ccu.io ist hier die Zahl als ganze Zahl anzugeben. Für 25 %ige Lichtdurchlässigkeit also der Wert 25 (in ccu.io war hier 0.25 anzugeben).

      Weitere Aktoren können jederzeit in die eingerückte Baumstruktur eingefügt werden. Dabei ist zu beachten das zu jedem Befehl

      setTimeout(function () {
              setState("hm-rpc.0.xxxxxxxxxx.1.LEVEL", xx); 
      
      

      auch jeweils ein

      }, 2000);
      
      

      im unteren Teil des Baumes eingefügt werden muss.

      Der Wert 2000 gibt die Zeit in Millisekunden (2000 ms entsprechen 2 Sekunden) an.

      Es wird also ein Rollladen nach dem nächsten im Abstand von 2 Sekunden heruntergefahren. Die 2000 kann beliebig geändert werden.

      Sollte jemandem etwas auffallen darf er es gerne in diesem Thread ergänzen. Damit der Thread dann nicht ellenlang un unübersichtlich wird würde ich die Änderungen/Ergänzungen dann in den Mainthread einarbeiten. Der jeweilige Bemerkungsthread kann dann wieder gelöscht werden. Somit wäre sichergestellt, das dieser Thread übersichtlich bleibt.

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

        @htrecksler:

        @Rainer - Bitte ggf. auf Webseite verlinken `
        Erledigt:

        http://www.iobroker.net/docu/?page_id=57&lang=de

        Danke für das Skript!

        Wenn ich mir als js-legastheniker das Script ansehe, denke ich mir:

        Das script fährt die Rolläden bei Sonnenuntergang in die angegeben Positionen

        • natürlich müssen die Seriennummern der Aktoren angepasst werden.

        • ist die funktion astro-sunset global definiert?

        • die 2000, jeweils am Zeilenende, werden die Millisekunden für den Zeitversatz sein.

        da ich jetzt wirklich keine Ahnung habe weiss ich nicht, wie ein weiterer Rollladen eingefügt werden muss.

        Jetzt möchte ich mal die Skriptprofis unverschämt fragen 😉

        Besteht die Möglichkeit das ganze mit einem Header zu machen, in dem der unbedarfte User seine Daten einfach einträgt, dann abgetrennt mit ####ab hier keine Änderungen mehr#### den eigentlichen Skriptteil?

        Ist nicht böse gemeint, würde aber ungemein Leuten wie mir helfen, solche Skripts zu verstehen und an eigene Bedürfnisse anzupassen.

        Gruß

        Rainer

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

        Support us

        ioBroker
        Community Adapters
        Donate

        707
        Online

        31.8k
        Users

        80.0k
        Topics

        1.3m
        Posts

        2
        2
        1301
        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