Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Sonnenprogramm

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Sonnenprogramm

Sonnenprogramm

Scheduled Pinned Locked Moved Skripten / Logik
53 Posts 4 Posters 3.4k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    meicker
    wrote on last edited by
    #38

    Hi Paul,

    das sieht nicht richtig aus …

    8270_screenshot_2018-08-28_javascript_-_iobroker.png

    Sonnenprogramm aktib soll ein globaler Schalter sein um das gesamte Programm ausser gefecht zu setzen.

    Wenn Sonne Balkon wahr ist macht es Sonnenprogramm, ansonsten wird Sommer 2 angehalten. Damit ist doch dann Ende im Gelände … keine der anderen Prüfungen im Sommerprogramm würde mehr ausgeführt, oder täusche ich mich da ?

    8270_screenshot_2018-08-28_javascript_-iobroker_1.png

    vg

    Marc

    1 Reply Last reply
    0
    • paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #39

      @meicker:

      Sonnenprogramm aktib soll ein globaler Schalter sein um das gesamte Programm ausser gefecht zu setzen. `
      So habe ich es auch verstanden.
      @meicker:

      Wenn Sonne Balkon wahr ist macht es Sonnenprogramm, ansonsten wird Sommer 2 angehalten. Damit ist doch dann Ende im Gelände … keine der anderen Prüfungen im Sommerprogramm würde mehr ausgeführt, oder täusche ich mich da ? `
      Richtig. In meinem Vorschlage wird auch nicht der Wert von "javascript.0.global.sonne-balkon" ausgewertet, um die Funktion auszurufen bzw. das Schedule zu stoppen, sondern der Wert des Triggerdatenpunktes = Wert von "global.sonnenprogramm_aktiv".

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Reply Last reply
      0
      • M Offline
        M Offline
        meicker
        wrote on last edited by
        #40

        Hi Paul 🙂

        OK 🙂 Morgen wieder 🙂 Jetzt ist es zu spät …

        Wenn ich hier Sternchen vergeben dürfte würdest Du ne ganze Menge bekommen. Hier scheint es nicht viele user zu geben die sich mit Antworten Mühe geben ... Dankeschön dafür !!! Meist bekommt man nur ein Stichwort vor den Latz geknallt und das wars ...

        vg

        Marc

        1 Reply Last reply
        0
        • R Offline
          R Offline
          RappiRN
          Most Active
          wrote on last edited by
          #41

          @meicker:

          Hier scheint es nicht viele user zu geben die sich mit Antworten Mühe geben … Dankeschön dafür !!! Meist bekommt man nur ein Stichwort vor den Latz geknallt und das wars ... `

          Ich würde sagen: haltlose Anschuldigung! 😞

          Enrico

          1 Reply Last reply
          0
          • M Offline
            M Offline
            meicker
            wrote on last edited by
            #42

            @RappiRN:

            Ich würde sagen: haltlose Anschuldigung! 😞 `

            Damit wollte ich nicht die helfenden Hände ansprechen ! Sicherlich habe ich hier viel Hilfe erhalten, sonst wäre ich nicht da wo ich jetzt bin, das ist klar.

            1 Reply Last reply
            0
            • M Offline
              M Offline
              meicker
              wrote on last edited by
              #43

              @Paul

              Hi Paul,

              noch eine Kleinigkeit - 🙂

              script.js.Homepilot.Szenen.Sonne.Sonnenprogramm_V2: clearTimeout() => not found
              

              Kannst Du damit was anfangen ? M.E werden alle Timeouts auch geschlossen, dieser hat aber keinen Namen …

              Ich zeige am Besten mal den Code, das Blocky ist zu lang wenn ich es komplett öffne ...

              ! ````
              var Sommer2, TOB1, TOB2, TOM1, TOM2, TOE1, TOE2, TOBS1, TOBS2;
              ! /**

              • Beschreibe diese Funktion …
                /
                function Sonnenprogramm() {
                Sommer2 = schedule('
                9-20 * 5-9 *', function () {
                createState("global.sonne-balkon", function () {
                });
                createState("global.sonne-markise", function () {
                });
                createState("global.sonne-esszimmer", function () {
                });
                createState("global.sonne-bad-schlafzimmer", function () {
                });
                if (getState("javascript.0.Homepilot.Temperatur").val >= 22 && getState("javascript.0.Homepilot.Lichtwert").val >= 50000 && getState("javascript.0.Homepilot.Sonnenrichtung").val >= 80 && getState("javascript.0.Homepilot.Sonnenrichtung").val <= 190) {
                setState("javascript.0.global.sonne-balkon"/global.sonne-balkon/, true, true);
                } else {
                setState("javascript.0.global.sonne-balkon"/global.sonne-balkon/, false, true);
                }
                if (getState("javascript.0.Homepilot.Temperatur").val >= 22 && getState("javascript.0.Homepilot.Lichtwert").val >= 50000 && getState("javascript.0.Homepilot.Sonnenrichtung").val >= 80 && getState("javascript.0.Homepilot.Sonnenrichtung").val <= 190) {
                setState("javascript.0.global.sonne-markise"/global.sonne-markise/, true, true);
                } else {
                setState("javascript.0.global.sonne-markise"/global.sonne-markise/, false, true);
                }
                if (getState("javascript.0.Homepilot.Temperatur").val >= 22 && getState("javascript.0.Homepilot.Lichtwert").val >= 10000 && getState("javascript.0.Homepilot.Sonnenrichtung").val >= 190 && getState("javascript.0.Homepilot.Sonnenrichtung").val <= 265) {
                setState("javascript.0.global.sonne-esszimmer"/global.sonne-esszimmer/, true, true);
                } else {
                setState("javascript.0.global.sonne-esszimmer"/global.sonne-esszimmer/, false, true);
                }
                if (getState("javascript.0.Homepilot.Temperatur").val >= 22 && getState("javascript.0.Homepilot.Lichtwert").val >= 5000 && getState("javascript.0.Homepilot.Sonnenrichtung").val >= 260 && getState("javascript.0.Homepilot.Sonnenrichtung").val <= 280) {
                setState("javascript.0.global.sonne-bad-schlafzimmer"/global.sonne-bad-schlafzimmer/, true, true);
                } else {
                setState("javascript.0.global.sonne-bad-schlafzimmer"/global.sonne-bad-schlafzimmer/, false, true);
                }
                });
                }

              ! if (getState("javascript.0.global.sonnenprogramm_aktiv").val) {
              Sonnenprogramm();
              }
              on({id: 'javascript.0.global.sonnenprogramm_aktiv', change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              if (getState("javascript.0.global.sonnenprogramm_aktiv").val == true) {
              Sonnenprogramm();
              } else {
              (function () {if (Sommer2) {clearSchedule(Sommer2); Sommer2 = null;}})();
              }
              });
              on({id: "javascript.0.global.sonne-balkon"/global.sonne-balkon/, change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              // Balkon
              if (getState("javascript.0.global.sonne-balkon").val == true) {
              (function () {if (TOB2) {clearTimeout(TOB2); TOB2 = null;}})();
              TOB1 = setTimeout(function () {
              if (getState("javascript.0.global.homepilot.automatik.wohnzimmer").val == true) {
              setState("homepilot.0.devices.RolloTubeDuoFern.10015.level"/level Rollo Links/, 30);
              setState("homepilot.0.devices.RolloTubeDuoFern.10001.level"/level Rollo Rechts/, 30);
              (function () {if (TOB1) {clearTimeout(TOB1); TOB1 = null;}})();
              }
              }, 900000);
              } else {
              (function () {if (TOB1) {clearTimeout(TOB1); TOB1 = null;}})();
              TOB2 = setTimeout(function () {
              if (getState("javascript.0.global.homepilot.automatik.wohnzimmer").val == true) {
              setState("homepilot.0.devices.RolloTubeDuoFern.10015.level"/level Rollo Links/, 0);
              setState("homepilot.0.devices.RolloTubeDuoFern.10001.level"/level Rollo Rechts/, 0);
              (function () {if (TOB2) {clearTimeout(TOB2); TOB2 = null;}})();
              }
              }, 900000);
              }
              });
              // Markise
              on({id: "javascript.0.global.sonne-markise"/global.sonne-markise/, change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              if (getState("javascript.0.global.sonne-markise").val == true) {
              (function () {if (TOM2) {clearTimeout(TOM2); TOM2 = null;}})();
              TOM1 = setTimeout(function () {
              if (getState("javascript.0.global.sonne-markise").val == true) {
              if (getState("javascript.0.global.homepilot.automatik.markise").val == true) {
              setState("homepilot.0.devices.DuoFernRohrmotor-Aktor.10018.level"/level Markise/, 90);
              (function () {if (TOM1) {clearTimeout(TOM1); TOM1 = null;}})();
              }
              }
              }, 900000);
              } else {
              (function () {if (TOM1) {clearTimeout(TOM1); TOM1 = null;}})();
              TOM2 = setTimeout(function () {
              if (getState("javascript.0.global.sonne-markise").val == false) {
              if (getState("javascript.0.global.homepilot.automatik.markise").val == true) {
              setState("homepilot.0.devices.DuoFernRohrmotor-Aktor.10018.level"/level Markise/, 0);
              (function () {if (TOM2) {clearTimeout(TOM2); TOM2 = null;}})();
              }
              }
              }, 900000);
              }
              });
              // Esszimmer
              on({id: "javascript.0.global.sonne-esszimmer"/global.sonne-esszimmer/, change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              if (getState("javascript.0.global.sonne-esszimmer").val == true) {
              (function () {if (TOE2) {clearTimeout(TOE2); TOE2 = null;}})();
              TOE1 = setTimeout(function () {
              if (getState("javascript.0.global.sonne-esszimmer").val == true) {
              if (getState("javascript.0.global.homepilot.automatik.esszimmer").val == true) {
              setState("homepilot.0.devices.RolloTubeDuoFern.1010011.level"/level Rollo Esstisch/, 30);
              }
              (function () {if (TOE1) {clearTimeout(TOE1); TOE1 = null;}})();
              }
              }, 900000);
              } else {
              (function () {if (TOE1) {clearTimeout(TOE1); TOE1 = null;}})();
              TOE2 = setTimeout(function () {
              if (getState("javascript.0.global.sonne-esszimmer").val == false) {
              if (getState("javascript.0.global.homepilot.automatik.esszimmer").val == true) {
              setState("homepilot.0.devices.RolloTubeDuoFern.1010011.level"/level Rollo Esstisch/, 0);
              (function () {if (TOE2) {clearTimeout(TOE2); TOE2 = null;}})();
              }
              }
              }, 900000);
              }
              });
              // Bad & Schlafzimmer
              on({id: "javascript.0.global.sonne-bad-schlafzimmer"/global.sonne-bad-schlafzimmer/, change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              if (getState("javascript.0.global.sonne-bad-schlafzimmer").val == true) {
              (function () {if (TOBS2) {clearTimeout(TOBS2); TOBS2 = null;}})();
              TOBS1 = setTimeout(function () {
              if (getState("javascript.0.global.sonne-bad-schlafzimmer").val == true) {
              if (getState("javascript.0.global.homepilot.automatik.badezimmer").val == true) {
              setState("homepilot.0.devices.RolloTubeDuoFern.10013.level"/level Rollo Badezimmer/, 30);
              }
              if (getState("javascript.0.global.homepilot.automatik.schlafzimmer").val == true) {
              setState("homepilot.0.devices.RolloTubeDuoFern.10012.level"/level Rollo Schlafzimmer/, 30);
              }
              (function () {if (TOBS1) {clearTimeout(TOBS1); TOBS1 = null;}})();
              }
              }, 900000);
              } else {
              (function () {if (TOBS1) {clearTimeout(TOBS1); TOBS1 = null;}})();
              TOBS2 = setTimeout(function () {
              if (getState("javascript.0.global.sonne-bad-schlafzimmer").val == false) {
              if (getState("javascript.0.global.homepilot.automatik.badezimmer").val == true) {
              setState("homepilot.0.devices.RolloTubeDuoFern.10013.level"/level Rollo Badezimmer/, 0);
              }
              if (getState("javascript.0.global.homepilot.automatik.schlafzimmer").val == true) {
              setState("homepilot.0.devices.RolloTubeDuoFern.10012.level"/level Rollo Schlafzimmer/, 0);
              }
              (function () {if (TOBS2) {clearTimeout(TOBS2); TOBS2 = null;}})();
              }
              }, 900000);
              }
              });

              
              vg
              
              Marc
              1 Reply Last reply
              0
              • paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #44

                @meicker:

                M.E werden alle Timeouts auch geschlossen, dieser hat aber keinen Namen … `
                Ich kann keinen clearTimeout() ohne Namen finden. Im Reiter Log ist die Fehlermeldung meist ausführlicher mit Angabe der Zeilennummer.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  meicker
                  wrote on last edited by
                  #45

                  @paul53:

                  Im Reiter Log ist die Fehlermeldung meist ausführlicher mit Angabe der Zeilennummer. `
                  Du meinst bei den Scripten selber, richtig ? Hast Du eine Idee warum ich da manchmal gar nichts angezeigt bekomme ? Normalerweise kommt ja beim Start eines Scriptes etwas von subscriptions bla bla bla … da kommt nix. Javascript Adapter habe ich schon neu gestartet.

                  Der Fehler kommt glaube ich auch nur wenn das Script läuft, also richtig aktiv ist. Morgen mal sehen wenn die Sonne wieder scheint, oder ich muss heute Abend mal auf Fake Werte setzen ...

                  vg Marc

                  1 Reply Last reply
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #46

                    @meicker:

                    Du meinst bei den Scripten selber, richtig ? `
                    Nein, im Reiter "Log".

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      meicker
                      wrote on last edited by
                      #47

                      Das stand nur auf 'WARN' - Hab eben den Javascript Adapter wieder auf info gesetzt und warte auf ein erneutes Vorkommnis … 🙂

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        meicker
                        wrote on last edited by
                        #48

                        neeeee, Paul, da kommt nix anderes 😞

                        javascript.0	2018-09-11 16:30:00.040	warn	script.js.Homepilot.Szenen.Sonne.Sonnenprogramm_V2: clearTimeout() => not found
                        

                        Ist doch richtig, dass ich zwei eigenständige Blöcke habe, oder ? Wobei das immer noch nicht den Timer erklären würde und eigentlich ja auch alles funktioniert …
                        8270_screenshot_2018-09-11_javascript_-_iobroker.png

                        vg

                        Marc

                        1 Reply Last reply
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #49

                          @meicker:

                          da kommt nix anderes `
                          Ist ja auch "nur" eine Warnung.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            meicker
                            wrote on last edited by
                            #50

                            @paul53:

                            Ist ja auch "nur" eine Warnung. ` Ja, vor einem nicht vorhandenen Abschluss zvom Timer ohne Namen … :lol:

                            Der Timer dessen Namen nicht genannt werden darf ... 🙂

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              meicker
                              wrote on last edited by
                              #51

                              @Paul

                              Hi Paul, schau mal hier, das war im Log :

                              script.js.Homepilot.Szenen.Sonne.Sonnenprogramm_V2: getState(id=javascript.0.global.sonnenprogramm_aktiv, timerId=0) => {"val":true,"ack":false,"ts":1536103846400,"q":0,"from":"system.adapter.admin.0
                              

                              Also ich habe jetzt nochmals alles durchgesehen und nichts im Script gefunden … aber doch eigenartig ...

                              vg

                              Marc

                              1 Reply Last reply
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by
                                #52

                                Du https://forum.iobroker.net/viewtopic.php?f=21&t=16313&start=20#p172360, wenn die Zeit abgelaufen ist. Das ist nicht nötig, da die Timer sich selbst beenden. Vielleicht gibt es an der Stelle ein Laufzeitproblem ?

                                Nimm mal diese Stopps raus.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  meicker
                                  wrote on last edited by
                                  #53

                                  Hi Paul,

                                  das war es glaube ich … zumindest kommt die warnung nicht mehr. Aber für einen Funktionstest war zu wenig Sonne. Zumidest sind die Rollos nicht wild rumgefahren, soweit alles gut...

                                  Vielen Dank 🙂

                                  1 Reply Last reply
                                  0
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  257

                                  Online

                                  32.4k

                                  Users

                                  81.3k

                                  Topics

                                  1.3m

                                  Posts
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Login

                                  • Don't have an account? Register

                                  • Login or register to search.
                                  • First post
                                    Last post
                                  0
                                  • Recent
                                  • Tags
                                  • Unread 0
                                  • Categories
                                  • Unreplied
                                  • Popular
                                  • GitHub
                                  • Docu
                                  • Hilfe