Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Skript für Rollladensteuerung

    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

    Skript für Rollladensteuerung

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

      Hi,

      hab hier im Forum schon gesucht, aber nix passendes gefunden. Ich will eigentlich nur meine Rollläden in abhängigkeit von Wetter und Zeit steuern.

      Versuche das über blockly abzubilden, aber da sind glaub noch einige Würmer drin. Kann mir da jmd bitte etwas behilflich sein?

      Zielbild ist, dass jeden Tag im 10Uhr die Wettervorhersage geprüft wird. Sollte es über 25C werden, sollen die Rollläden runtergefahren werden.

      Bonus: Er prüft noch ob die Terrassentür auf ist. Ist sie offen, sollen die Rollläden nicht runtergefahren werden.

      schedule("* 10 * * *", function () {
        on({id: "yr.0.forecast.day0.temperatureMax"/*Forecast of temperature for today*/, change: "ne"}, function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          if (parseFloat((obj.state ? obj.state.val : "")) >= 25) {
            setState("hm-rpc.0.OEQ0885581.1.LEVEL"/*Rollladen schlafzimmer rechts.LEVEL*/, 90);
            setState("hm-rpc.3.001118A98A3F62.4.LEVEL"/*Rollladen wohnzimmer.LEVEL*/, 90);
            setState("hm-rpc.3.001118A98BC15A.4.LEVEL"/*Rollladen schlafzimmer links.LEVEL*/, 90);
            setState("hm-rpc.3.001118A98A4119.4.LEVEL"/*Rollladen küche.LEVEL*/, 90);
          }
        });
      });
      
      false && false;
      
      obj.channelId;
      
      

      7870_unbenannt.jpg

      1 Reply Last reply Reply Quote 0
      • J
        Jan1 last edited by

        Trigger im Trigger ist immer ne blöde Idee. Dein interner Trigger funktioniert nur einmal am Tag um 10 Uhr und wenn nicht gerade exakt in dem Moment seine Bedingung erfüllt wird, dann macht er eben auch nichts und das dürfte zu 100% immer der Fall sein 😉

        Lass einfach den unnötigen Zeitplan weg, dann sollte das schon laufen. Was für ein Typ ist den Dein abgefragter DP, wenn der erst mal nach Zahl konvertiert werden muss?

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

          @Jan1:

          nur einmal am Tag um 10 Uhr `
          60 mal am Tag zwischen 10 Uhr und 10:59 Uhr. Es werden täglich 60 Datenpunkt-Trigger erzeugt :!:

          1 Reply Last reply Reply Quote 0
          • J
            Jan1 last edited by

            OK, wenn er alle Minute noch mit drin hat, was aller Wahrscheinlichkeit nach trotzdem in die Hose geht :lol:

            Dann hat er da nach seiner Vorgabe den nächsten Fehler, denn täglich um 10 Uhr wäre "0 10 * * *

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

              Ok, den Timer hab ich korrigiert. Ich brauch ihn schon da der Rollladen ja nicht nachts runterfahren soll, weil es an dem Tag heiss wird. Resourcenschonender is es sicher auch, wenn das Skript nicht den ganzen Tag laufen soll und immer prüft ob es schon 10 Uhr is.

              Hab es jetzt nochmal überarbeitet. Jetzt siehts glaub ganz gut aus. Oder sieht noch jmd nen Fehler?
              7870_unbenannt.jpg

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

                Der String-Vergleich funktioniert nicht immer. Z.B. ist bei einem Stringvergleich "3 °C" > "25 °C". Wenn "Forecast of temerature for today" als String vorliegt, muss mit nach Zahl gewandelt werden und mit einer Zahl verglichen werden, so wie im ersten Skript.

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

                  Danke! Habs angepasst

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

                    LEVEL ist ein String ? Wenn es HomeMatic-Datenpunkte sind, müssen Zahlen verwendet werden. Auch "CLOSED(0)" sieht eigenwillig aus.

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

                      Das Closed (0)"" hab ich aus dem Datenpunkt rauskopiert. ich konvertier es jetzt mal Zahl. Kann ja nicht schaden. Rest hab ich angepasst. Denke dann sollte es jetzt passen 🙂

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      659
                      Online

                      31.7k
                      Users

                      79.9k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      546
                      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