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. JavaScript
  5. manuelle/automatische Rollosteuerung

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

manuelle/automatische Rollosteuerung

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
20 Beiträge 2 Kommentatoren 1.2k Aufrufe 5 Watching
  • Ä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.
  • paul53P paul53

    @mguenther sagte in manuelle/automatische Rollosteuerung:

    sobald das Rollo jetzt aufgrund von den Situationen Schatten oder Nacht automatisch fährt, setzt sich auch die Variable Rollo_manuell auf true.

    Wie sieht in diesen Fällen die Log-Ausgabe aus ?

    M Offline
    M Offline
    mguenther
    schrieb am zuletzt editiert von
    #3

    @paul53 log.JPG

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      mguenther
      schrieb am zuletzt editiert von
      #4

      bzw.
      log.JPG

      stelle gerade fest, dass sobald die Variable Nacht auf true gesetzt wird, das Rollo über das Programm "Automatische Stuerung" gesteuert wird (da habe ich mir den Status Nacht true/false bei Änderung geloggt).
      Hingegen wird beim Setzen des VariablenWertes Nacht auf false die Steuerung über das Schattenprogramm ausgeführt. Ist erst mal nicht falsch, aber etwas verwirrend..

      1 Antwort Letzte Antwort
      0
      • paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #5

        Das Log zeigt: Javascript sendet Wert 100, HM-RPC antwortet mit Wert 0. Das hatte ich nicht erwartet. Dann muss man mit Verzögerung arbeiten. Wie lang ist die Rollo-Laufzeit maximal ?

        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

        M 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          Das Log zeigt: Javascript sendet Wert 100, HM-RPC antwortet mit Wert 0. Das hatte ich nicht erwartet. Dann muss man mit Verzögerung arbeiten. Wie lang ist die Rollo-Laufzeit maximal ?

          M Offline
          M Offline
          mguenther
          schrieb am zuletzt editiert von
          #6

          @paul53
          oha, die ist für jeden Raum anders. Je nachdem, hohe Fenster etc.
          in der Küche sind es bis zu 50sek, ich habe aber auch Räume, da sind es "nur" 11sek

          1 Antwort Letzte Antwort
          0
          • M mguenther

            Hallo Zusammen, ich habe zusammen mit Paul53s Hilfe ein paar Skripte erstellt, um meine Rollos zu steuern. Die Rollos sollen generell automatisch laufen, es gibt jedoch für jeden Raum die Möglichkeit, manuell über die Taster bzw. über einen virtuellen Taster das Rollo einzustellen und dann soll die Automatik für einen Zeitraum x deaktiviert sein.

            Dabei ist folgendes zu beachten:

            • der Datenpunkt Rollo_Nacht_Auto_EG wird auf true/false aus einem anderen Programm gesetzt.
            • der Datenpunkt Rollo_Manu wird auf true/false aus einem anderen Programm gesetzt.
            • mit dem Datenpunkt ZEIT (idZeit) wird die Uhrzeit festgelegt, zu wann ein Rollo hochfahren soll
            • mit dem Datenpunkt UHR (idUhr) wird auf true/false gesetzt, ob der Datenpunkt ZEIT überhaupt genommen werden soll, wobei dann immer der spätere Zeitpunkt ZEIT oder Rollo_Nacht_Auto_EG genommen wird.
            • mit dem Datenpunkt TÜR (idTuer) wird in dem Fall geprüft, ob die Tür ggf. offen ist und das Rollo dann eben nicht herunterfahren soll

            Automatische Steuerung:

            //Rollosteuerung in Kueche
            const idZeit  = 'javascript.0.Kueche.Rollo_Hochfahrt'/*Rollo Hochfahrt*/; 
            const idNacht = 'javascript.0.Rollosteuerung.Rollo_Nacht_Auto_EG'/*Rollo Nacht Auto EG*/;
            const idManu  = 'javascript.0.Kueche.Rollo_manuell'/*Rollo manuell*/;
            //const idLicht = 'hm-rpc.3.LEQ1285980.14.STATE'/*12 7 eg:14 state*/ //Bedingung Licht in dem Raum nicht vorhanden
            const idRollo = 'hm-rpc.3.MEQ0078539.3.LEVEL'/*Rollo EG04 Küche:3 LEVEL*/
            const idUhr = 'javascript.0.Kueche.Rollo_Hochfahrt_gesetzt'/*Rollo Hochfahrt gesetzt*/
            const idTuer = 'javascript.0.Kueche.Rollo_Tuer'/*Rollo Tuer*/
            
            var nacht = getState(idNacht).val;
            var manu  = getState(idManu).val;
            //var licht = getState(idLicht).val;  //Bedingung Licht in dem Raum nicht vorhanden
            var tuer  = getState(idTuer).val;
            var hoch  = compareTime(getState(idZeit).val, '12:00', 'between');
            var sched = null;
            
            //Rollo hoch/herunterfahren
            //Bedingung 1: Rollo_Nacht_Auto 
            //Bedingung 2: Rollo_manuell für den Raum aus
            function Abfrage(){
               if(!manu) {
                  if((hoch && !nacht) || (tuer && nacht)) setState(idRollo, 100);
                  if(nacht && !tuer)  setState(idRollo, 0);
               } 
            }
            
            function setSchedule(t) {
               t = t.split(':');
               if(sched) clearSchedule(sched);
               sched = schedule(t[1] + ' ' + t[0] + ' * * *', function() {
                  hoch = true;
                  if(!nacht) Abfrage();  // NEU: Abfrage nur, wenn Uhrzeit später als Tagesbeginn
               });
            }
            
            
            // Skriptstart
            setSchedule(getState(idZeit).val);
            Abfrage();
            
            on(idNacht, function(obj) {
               nacht = obj.state.val;
               if(nacht) hoch = false; // NEU !
               Abfrage();
            });
            
            on(idManu, function(obj){
               manu = obj.state.val;
               Abfrage();
            });
            
            //on(idLicht, function(obj) {     //Bedingung Licht in dem Raum nicht vorhanden
            //   licht = obj.state.val;
            //   console.log("Licht");
            //   Abfrage();
            //});
            
            on(idZeit, function(dp) {
               setSchedule(dp.state.val);
            });
            
            on(idUhr, function(dp) {
                if(!dp.state.val) setState(idZeit, '2:00', true);
            });
            
            on(idTuer, function(obj) {
               tuer = obj.state.val;
               Abfrage();
            });
            

            Dann habe ich noch eine Schattensteuerung inzwischen implementiert. Dabei ist wiederum folgendes zu beachten:

            • der Datenpunkt Rollo_Schatten wird auf true/false aus einem anderen Programm gesetzt
            • die Variable Schattenwerte ist ein Feld [a, b, c] wobei a bis b der Azimutbereich ist, in dem das Rollo auf den Wert c zur Verschattung eingestellt werden soll
            //Automatische Verschattung Kueche
            //Bei Azimut zwischen 223.00 grad und 300.00 grad, Verschattung auf 50%. Wenn Fenster geöffnet, dann 85%
            const idNacht = 'javascript.0.Rollosteuerung.Rollo_Nacht_Auto_EG'/*Rollo Nacht Auto EG*/;
            const idManu  = 'javascript.0.Kueche.Rollo_manuell'/*Rollo manuell*/;
            const idRollo = 'hm-rpc.3.MEQ0078539.3.LEVEL'/*Rollo EG04 Küche:3 LEVEL*/;
            const idTuer = 'javascript.0.Kueche.Rollo_Tuer'/*Rollo Tuer*/;
            const idSchatten ='javascript.0.Rollosteuerung.Rollo_Schatten_Auto'/*Rollo Schatten Auto*/;
            const idSchattenwerte='javascript.0.Kueche.Schattenwerte'/*Schattenwerte*/;
            const idAzimut = 'javascript.0.Sonne.Azimut'/*Azimut*/;
            
            var list = getState(idSchattenwerte).val.split(',');
            for(let i = 0; i < list.length; i++) {
               list[i] = parseInt(list[i]);
            }
            
            var nacht = getState(idNacht).val;
            var manu  = getState(idManu).val;
            var tuer  = getState(idTuer).val;
            var schatten = getState(idSchatten).val;
            var azimut = getState(idAzimut).val;
            
            function Abfrage(){
              if(!manu && !nacht) {
                var rollo = 100;
                if(schatten && !tuer && azimut >= list[0] && azimut < list[1]) rollo = list[2];
                if(schatten && !tuer && azimut >= list[3] && azimut <= list[4]) rollo = list[5];
                setState(idRollo, rollo);
              }
            }
            
            // Skriptstart
            Abfrage();
            
            on(idNacht, function(obj) {
               nacht = obj.state.val;
               Abfrage();
            });
            
            on(idManu, function(obj){
               manu = obj.state.val;
               Abfrage();
            });
            
            on(idAzimut, function(obj) {
               azimut = obj.state.val;
               Abfrage();
            });
            
            on(idTuer, function(obj) {
               tuer = obj.state.val;
               Abfrage();
            });
            
            on(idSchatten, function(obj) {
               schatten = obj.state.val;
               Abfrage();
            });
            

            bis hier hin läuft alles.
            folgende Datenpunkte habe ich für einen Raum festgelegt:
            DP_Kueche_Rollo.JPG
            und allgemein
            DP_Rollosteuerung.JPG
            Nun würde ich gerne die manuelle Übersteuerung einbinden. Folgende 2 Bedingungen hätte ich:

            • Bei Betätigung des Rollo-Tasters soll die Automatik deaktiviert werden und erst wieder aktiviert werden, wenn das Rollo manuell auf Level 0 (ganz unten) oder Level 100 (ganz hoch) gefahren wird.
            • bei Betätigung eines virtuellen VIS-Tasters soll die Automatik für einen Zeitraum x deaktiviert bzw. bei erneuter Betätigung wieder aktiviert werden.

            Bislang gab es folgendes Skript:

            //Rollo_manu für Kueche
            const idTaster_virtu = 'javascript.0.Kueche.Rollo_virtueller_Taster'/*Rollo virtueller Taster*/;
            const idManu  = 'javascript.0.Kueche.Rollo_manuell'/*Rollo manuell*/;
            const idRollo = 'hm-rpc.3.MEQ0078539.3.LEVEL'/*Rollo EG04 Küche:3 LEVEL*/
            const idTuer = 'javascript.0.Kueche.Rollo_Tuer'/*Rollo Tuer*/;
            const idLaufzeit ='javascript.0.Rollosteuerung.Zeit_virtuell'/*Zeit virtuell in Stunden*/;
            
            var timer = null;
            var taster_virtu = getState(idTaster_virtu).val;
            var rollo = getState(idRollo).val;
            var laufzeit = getState(idLaufzeit).val *60*60000;   //Laufzeit in Stunden     
            
            on(idTaster_virtu, function(dp) {
                taster_virtu = dp.state.val;
                var manu = false;
                if(timer) clearTimeout(timer); // Stopp Timer
                timer = null;
                if (taster_virtu) {
                    manu = true;
                    timer = setTimeout(function() {
                        timer = null;
                        setState(idManu, false, true);
                        setState(idTaster_virtu, false, true);
                    }, laufzeit);
                }
                setState(idManu, manu, true);
            });
            
            on(idRollo, function(dp) {
            log(dp.state.from + ' Ack: ' + dp.state.ack + ' Wert: ' + dp.state.val);
              if(!taster_virtu) {
                var manu = true; 
                if(dp.state.from == 'system.adapter.javascript.0') manu = false;
                setState(idManu, manu, true);
              } 
            });
            
            on(idLaufzeit, function(dp) {
                laufzeit = 60*60000 * dp.state.val;
            });
            

            sobald das Rollo jetzt aufgrund von den Situationen Schatten oder Nacht automatisch fährt, setzt sich auch die Variable Rollo_manuell auf true. wie wird die nur bei Betätigung des RolloTasters gesetzt? Ich habe leider als Trigger nicht die Betätigung des Tasters selber. Hier die HM Datenpunkte:
            DP_Rollotaster_Kueche.JPG

            bin ratlos...

            Danke
            Marcus

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #7

            @mguenther sagte in manuelle/automatische Rollosteuerung:

            Bei Betätigung des Rollo-Tasters soll die Automatik deaktiviert werden und erst wieder aktiviert werden, wenn das Rollo manuell auf Level 0 (ganz unten) oder Level 100 (ganz hoch) gefahren wird.

            Versuche es mal so:

            const js = 'system.adapter.javascript.0';
            var checkManu = false;
            
            on(idRollo, function(dp) {
               if(checkManu && dp.state.val > 0 && dp.state.val < 90 && dp.state.from != js) setState(idManu, true, true);
               if(checkManu && (dp.state.val == 0 || dp.state.val == 100)) setState(idManu, false, true);
               if(dp.state.from == js) checkManu = false;
               if(!taster_virtu && dp.state.from == js) {
                  setTimeout(function() {
                     checkManu = true;
                  }, 60000);
               } 
            });
            

            EDIT: korrigiert (s.u.)

            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

            M 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @mguenther sagte in manuelle/automatische Rollosteuerung:

              Bei Betätigung des Rollo-Tasters soll die Automatik deaktiviert werden und erst wieder aktiviert werden, wenn das Rollo manuell auf Level 0 (ganz unten) oder Level 100 (ganz hoch) gefahren wird.

              Versuche es mal so:

              const js = 'system.adapter.javascript.0';
              var checkManu = false;
              
              on(idRollo, function(dp) {
                 if(checkManu && dp.state.val > 0 && dp.state.val < 90 && dp.state.from != js) setState(idManu, true, true);
                 if(checkManu && (dp.state.val == 0 || dp.state.val == 100)) setState(idManu, false, true);
                 if(dp.state.from == js) checkManu = false;
                 if(!taster_virtu && dp.state.from == js) {
                    setTimeout(function() {
                       checkManu = true;
                    }, 60000);
                 } 
              });
              

              EDIT: korrigiert (s.u.)

              M Offline
              M Offline
              mguenther
              schrieb am zuletzt editiert von mguenther
              #8

              @paul53 sagte in manuelle/automatische Rollosteuerung:

              if(checkManu && (dp.state.val == 0 || dp.state.val == 100) setState(idManu, false, true);

              Ich habe aus dem ckeck ein check(Zeile5) gemacht und noch ne Klammer ergänzt (Zeile6), wenn ich alles richtig verstanden habe, müsste das so sein:

              if(checkManu && (dp.state.val == 0 || dp.state.val == 100)) setState(idManu, false, true);
              
              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #9

                @mguenther sagte in manuelle/automatische Rollosteuerung:

                müsste das so sein:

                Korrekt. Sorry für den Vertipper in Zeile 5.

                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

                M 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @mguenther sagte in manuelle/automatische Rollosteuerung:

                  müsste das so sein:

                  Korrekt. Sorry für den Vertipper in Zeile 5.

                  M Offline
                  M Offline
                  mguenther
                  schrieb am zuletzt editiert von
                  #10

                  @paul53
                  klappt nicht
                  Ich hab nen console.log eingebaut und lasse mir die Variablen ausgeben:

                  on(idRollo, function(dp) {
                  console.log("checkManu1 "+checkManu);
                  console.log("from "+dp.state.from);
                  console.log("level "+dp.state.val);
                     if(checkManu && dp.state.val > 0 && dp.state.val < 90 && dp.state.from != js) setState(idManu, true, true);
                     if(checkManu && (dp.state.val == 0 || dp.state.val == 100)) setState(idManu, false, true);
                     if(dp.state.from == js) checkManu = false;
                     if(!taster_virtu && dp.state.from == js) {
                        setTimeout(function() {
                  console.log("TIMEOUT");
                           checkManu = true;
                        }, 60000);
                  console.log("checkManu2 "+checkManu);
                     } 
                  });
                  

                  im log erscheint nur:

                  javascript.0	2019-02-16 19:20:36.617	info	script.js.Kueche.Rollo_manu_setzen: level 93.5
                  javascript.0	2019-02-16 19:20:36.616	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.hm-rpc.3
                  javascript.0	2019-02-16 19:20:36.616	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                  javascript.0	2019-02-16 19:20:24.228	info	script.js.Kueche.Rollo_manu_setzen: level 74
                  javascript.0	2019-02-16 19:20:24.227	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.hm-rpc.3
                  javascript.0	2019-02-16 19:20:24.226	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                  javascript.0	2019-02-16 19:20:22.326	info	script.js.Kueche.Rollo_manu_setzen: level 70
                  javascript.0	2019-02-16 19:20:22.326	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.hm-rpc.3
                  javascript.0	2019-02-16 19:20:22.325	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                  javascript.0	2019-02-16 19:20:22.254	info	script.js.Kueche.Rollo_manu_setzen: level 100
                  javascript.0	2019-02-16 19:20:22.254	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.javascript.0
                  javascript.0	2019-02-16 19:20:22.253	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                  

                  dabei habe ich mal per Taster und einmal per Variable ROLLO_NACHT das Rollo bewegt. Die Variable Rollo_Manuell ändert sich nicht.

                  M paul53P 2 Antworten Letzte Antwort
                  0
                  • M mguenther

                    @paul53
                    klappt nicht
                    Ich hab nen console.log eingebaut und lasse mir die Variablen ausgeben:

                    on(idRollo, function(dp) {
                    console.log("checkManu1 "+checkManu);
                    console.log("from "+dp.state.from);
                    console.log("level "+dp.state.val);
                       if(checkManu && dp.state.val > 0 && dp.state.val < 90 && dp.state.from != js) setState(idManu, true, true);
                       if(checkManu && (dp.state.val == 0 || dp.state.val == 100)) setState(idManu, false, true);
                       if(dp.state.from == js) checkManu = false;
                       if(!taster_virtu && dp.state.from == js) {
                          setTimeout(function() {
                    console.log("TIMEOUT");
                             checkManu = true;
                          }, 60000);
                    console.log("checkManu2 "+checkManu);
                       } 
                    });
                    

                    im log erscheint nur:

                    javascript.0	2019-02-16 19:20:36.617	info	script.js.Kueche.Rollo_manu_setzen: level 93.5
                    javascript.0	2019-02-16 19:20:36.616	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.hm-rpc.3
                    javascript.0	2019-02-16 19:20:36.616	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                    javascript.0	2019-02-16 19:20:24.228	info	script.js.Kueche.Rollo_manu_setzen: level 74
                    javascript.0	2019-02-16 19:20:24.227	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.hm-rpc.3
                    javascript.0	2019-02-16 19:20:24.226	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                    javascript.0	2019-02-16 19:20:22.326	info	script.js.Kueche.Rollo_manu_setzen: level 70
                    javascript.0	2019-02-16 19:20:22.326	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.hm-rpc.3
                    javascript.0	2019-02-16 19:20:22.325	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                    javascript.0	2019-02-16 19:20:22.254	info	script.js.Kueche.Rollo_manu_setzen: level 100
                    javascript.0	2019-02-16 19:20:22.254	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.javascript.0
                    javascript.0	2019-02-16 19:20:22.253	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                    

                    dabei habe ich mal per Taster und einmal per Variable ROLLO_NACHT das Rollo bewegt. Die Variable Rollo_Manuell ändert sich nicht.

                    M Offline
                    M Offline
                    mguenther
                    schrieb am zuletzt editiert von
                    #11

                    wobei ich gerade nicht nachvollziehen kann, woher der unterste Eintrag kommt. Wenn ich jetzt die Änderung über ein Programm ausführe kommt im LOG immer

                    from system.adapter.hm-rpc.3
                    
                    1 Antwort Letzte Antwort
                    0
                    • M mguenther

                      @paul53
                      klappt nicht
                      Ich hab nen console.log eingebaut und lasse mir die Variablen ausgeben:

                      on(idRollo, function(dp) {
                      console.log("checkManu1 "+checkManu);
                      console.log("from "+dp.state.from);
                      console.log("level "+dp.state.val);
                         if(checkManu && dp.state.val > 0 && dp.state.val < 90 && dp.state.from != js) setState(idManu, true, true);
                         if(checkManu && (dp.state.val == 0 || dp.state.val == 100)) setState(idManu, false, true);
                         if(dp.state.from == js) checkManu = false;
                         if(!taster_virtu && dp.state.from == js) {
                            setTimeout(function() {
                      console.log("TIMEOUT");
                               checkManu = true;
                            }, 60000);
                      console.log("checkManu2 "+checkManu);
                         } 
                      });
                      

                      im log erscheint nur:

                      javascript.0	2019-02-16 19:20:36.617	info	script.js.Kueche.Rollo_manu_setzen: level 93.5
                      javascript.0	2019-02-16 19:20:36.616	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.hm-rpc.3
                      javascript.0	2019-02-16 19:20:36.616	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                      javascript.0	2019-02-16 19:20:24.228	info	script.js.Kueche.Rollo_manu_setzen: level 74
                      javascript.0	2019-02-16 19:20:24.227	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.hm-rpc.3
                      javascript.0	2019-02-16 19:20:24.226	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                      javascript.0	2019-02-16 19:20:22.326	info	script.js.Kueche.Rollo_manu_setzen: level 70
                      javascript.0	2019-02-16 19:20:22.326	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.hm-rpc.3
                      javascript.0	2019-02-16 19:20:22.325	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                      javascript.0	2019-02-16 19:20:22.254	info	script.js.Kueche.Rollo_manu_setzen: level 100
                      javascript.0	2019-02-16 19:20:22.254	info	script.js.Kueche.Rollo_manu_setzen: from system.adapter.javascript.0
                      javascript.0	2019-02-16 19:20:22.253	info	script.js.Kueche.Rollo_manu_setzen: checkManu1 false
                      

                      dabei habe ich mal per Taster und einmal per Variable ROLLO_NACHT das Rollo bewegt. Die Variable Rollo_Manuell ändert sich nicht.

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von
                      #12

                      @mguenther sagte in manuelle/automatische Rollosteuerung:

                      dabei habe ich mal per Taster und einmal per Variable ROLLO_NACHT das Rollo bewegt.

                      Nach Bewegung per ROLLO_NACHT muss eine Minute gewartet werden bis eine manuelle Bewegung erkannt wird.

                      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 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        mguenther
                        schrieb am zuletzt editiert von mguenther
                        #13

                        klappt leider nicht. das aktuelle Programm sieht so aus:

                        //Rollo_manu für Kueche
                        const idTaster_virtu = 'javascript.0.Kueche.Rollo_virtueller_Taster'/*Rollo virtueller Taster*/;
                        const idManu  = 'javascript.0.Kueche.Rollo_manuell'/*Rollo manuell*/;
                        const idRollo = 'hm-rpc.3.MEQ0078539.3.LEVEL'/*Rollo EG04 Küche:3 LEVEL*/
                        const idTuer = 'javascript.0.Kueche.Rollo_Tuer'/*Rollo Tuer*/;
                        const idLaufzeit ='javascript.0.Rollosteuerung.Zeit_virtuell'/*Zeit virtuell in Stunden*/;
                        
                        var timer = null;
                        var taster_virtu = getState(idTaster_virtu).val;
                        var rollo = getState(idRollo).val;
                        var laufzeit = getState(idLaufzeit).val *60*60000;   //Laufzeit in Stunden     
                        
                        on(idTaster_virtu, function(dp) {
                            taster_virtu = dp.state.val;
                            var manu = false;
                            if(timer) clearTimeout(timer); // Stopp Timer
                            timer = null;
                            if (taster_virtu) {
                                manu = true;
                                timer = setTimeout(function() {
                                    timer = null;
                                    setState(idManu, false, true);
                                    setState(idTaster_virtu, false, true);
                                }, laufzeit);
                            }
                            setState(idManu, manu, true);
                        });
                        
                        const js = 'system.adapter.javascript.' + instance;
                        var checkManu = false;
                        
                        on(idRollo, function(dp) {
                        console.log("Bewegung ROLLO");
                        console.log('FROM '+dp.state.from);
                        console.log("checkManu ANFANG "+checkManu);
                           if(checkManu && dp.state.val > 0 && dp.state.val < 90 && dp.state.from != js) setState(idManu, true, true);
                           if(checkManu && (dp.state.val === 0 || dp.state.val == 100)) setState(idManu, false, true);
                           if(dp.state.from == js) {
                              checkManu = false;
                              if(!taster_virtu) {
                                 setTimeout(function() {
                                    checkManu = true;
                                    console.log('timeout: ' + checkManu);
                                 }, 60000);
                              }
                           } 
                        console.log("checkManu ENDE "+checkManu);
                        });
                        
                        on(idLaufzeit, function(dp) {
                            laufzeit = 60*60000 * dp.state.val;
                        });
                        

                        das ist der LOG dazu:

                        14:44:52.643	info	javascript.0 Start javascript script.js.Kueche.Rollo_manu_setzen
                        14:44:52.644	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: registered 3 subscriptions and 0 schedules
                        14:45:04.594	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                        14:45:04.595	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                        14:45:04.595	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                        14:45:04.595	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                        14:46:16.969	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                        14:46:16.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                        14:46:16.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                        14:46:16.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                        14:46:19.797	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                        14:46:19.798	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                        14:46:19.798	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                        14:46:19.798	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                        14:48:00.181	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                        14:48:00.182	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                        14:48:00.182	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                        14:48:00.182	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                        14:48:00.349	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                        14:48:00.350	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                        14:48:00.350	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                        14:48:00.350	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                        14:48:02.620	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                        14:48:02.621	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                        14:48:02.621	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                        14:48:02.621	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                        14:48:16.103	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                        14:48:16.104	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                        14:48:16.105	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                        14:48:16.105	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                        14:49:00.177	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                        

                        die letzte Änderung erfolgt durch das Programm Rollo_Schatten - die anderen Veränderungen waren manuell durch mich am Taster

                        die Variable Rollo_manuell bleibt immer false

                        1 Antwort Letzte Antwort
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #14

                          @mguenther sagte in manuelle/automatische Rollosteuerung:

                          die Variable Rollo_manuell bleibt immer false

                          Ich glaube, Du bist zu ungeduldig. Nach einer automatischen Bewegung (FROM system.adapter.javascript.0) muss mind. 1 Minute gewartet werden, bis eine manuelle Bewegung erkannt werden kann.
                          Der letzte Log-Eintrag ist

                          timeout: true
                          

                          und genau ab diesem Zeitpunkt wird eine manuelle Bewegung erkannt. Nach diesem Log-Eintrag kommt aber nichts mehr.

                          Anmerkung: Nach Skriptstart muss erst eine automatische Bewegung erfolgen und dann 1 Minute gewartet werden. Soll manuelle Bewegung gleich nach Skriptstart erkannt werden, ändere die Initialisierung in

                          var checkManu = true;
                          

                          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

                          M 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @mguenther sagte in manuelle/automatische Rollosteuerung:

                            die Variable Rollo_manuell bleibt immer false

                            Ich glaube, Du bist zu ungeduldig. Nach einer automatischen Bewegung (FROM system.adapter.javascript.0) muss mind. 1 Minute gewartet werden, bis eine manuelle Bewegung erkannt werden kann.
                            Der letzte Log-Eintrag ist

                            timeout: true
                            

                            und genau ab diesem Zeitpunkt wird eine manuelle Bewegung erkannt. Nach diesem Log-Eintrag kommt aber nichts mehr.

                            Anmerkung: Nach Skriptstart muss erst eine automatische Bewegung erfolgen und dann 1 Minute gewartet werden. Soll manuelle Bewegung gleich nach Skriptstart erkannt werden, ändere die Initialisierung in

                            var checkManu = true;
                            
                            M Offline
                            M Offline
                            mguenther
                            schrieb am zuletzt editiert von
                            #15

                            @paul53 sagte in manuelle/automatische Rollosteuerung:

                            Anmerkung: Nach Skriptstart muss erst eine automatische Bewegung erfolgen und dann 1 Minute gewartet werden. Soll manuelle Bewegung gleich nach Skriptstart erkannt werden, ändere die Initialisierung in

                            var checkManu = true;
                            

                            ja, hatte ich schon geändert. klappt aber leider nicht immer. Ich hatte vorher das Rollo manuell eingestellt, funktioniert - die Variable Rollo_manuell wird entsprechend gesetzt. dann habe ich Schatten aktiviert und das Rollo manuell hoch gefahren. Auch das ging und erst sprang die Variable Rollo_manuell auf false und sofort stellte sich die Beschattung ein. Dann habe ich aber die Tür geöffnet, das Rollo fuhr entsprechend hoch, ich schloss die Tür, das Rollo fuhr wieder auf die Schattenwerte, aber dann sprang die Variable Rollo_manuell auf true. Damit ist die Automation aus.

                            1 Antwort Letzte Antwort
                            0
                            • paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #16

                              @mguenther sagte in manuelle/automatische Rollosteuerung:

                              ich schloss die Tür, das Rollo fuhr wieder auf die Schattenwerte, aber dann sprang die Variable Rollo_manuell auf true. Damit ist die Automation aus.

                              Dann muss sich die Rolloposition noch später als 1 Minute nach dem Schließen der Tür geändert haben ?

                              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 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                mguenther
                                schrieb am zuletzt editiert von
                                #17

                                also, genau so ist es. Ich habe jetzt mehrere Szenarien durchgestestet. Immer wenn ich nach dem timeout etwas ändere, geht es. Ändert sich aber etwas innerhalb des timeouts, funktioniert das Skript leider nicht mehr. Anbei der Log von 2 Szenen:

                                Rollo steht auf PositionXY und Schatten ist aktiviert. Rollo bleibt auf Position stehen
                                
                                Manuell von PunktXY bis nach oben
                                16:18:12.852	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:18:12.853	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:18:12.853	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                16:18:12.853	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG true
                                16:18:12.854	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE true
                                16:18:12.854	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE true
                                
                                ABER, Variable Rollo_manuell springt von true auf false
                                
                                Änderung durch SCHATTEN an
                                16:18:27.577	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:18:27.578	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                16:18:27.578	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                16:18:27.579	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:18:27.579	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:18:27.580	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:18:27.766	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:18:27.767	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:18:27.767	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:18:27.767	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:18:27.767	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:18:27.767	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:18:55.169	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:18:55.170	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:18:55.170	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:18:55.170	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:18:55.170	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:18:55.170	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:19:27.576	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                
                                
                                Änderung durch TÜR AUF
                                16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:20:36.456	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:20:36.456	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:20:36.456	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:20:36.456	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:20:36.457	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:20:36.457	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:21:08.903	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:21:08.904	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:21:08.904	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:21:08.904	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:21:08.905	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:21:08.905	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:21:36.382	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                
                                
                                Änderung durch TÜR ZU
                                16:26:50.191	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:26:50.192	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                16:26:50.192	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                16:26:50.192	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:26:50.192	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:26:50.192	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:26:50.260	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:26:50.261	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:26:50.261	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:26:50.261	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:26:50.261	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:26:50.261	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:27:17.631	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:27:17.631	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:27:17.631	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:27:17.631	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:27:17.631	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:27:17.632	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:27:50.191	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                
                                Änderung durch Schatten aus
                                16:32:14.790	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:32:14.791	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                16:32:14.792	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                16:32:14.792	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:32:14.792	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:32:14.792	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:32:14.969	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:32:14.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:32:14.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:32:14.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:32:14.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:32:14.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:32:47.433	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:32:47.439	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:32:47.440	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:32:47.440	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:32:47.440	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:32:47.440	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:33:14.786	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                
                                
                                
                                neue Situation Rollo ist oben, Schatten wird aktiviert
                                Änderung durch Schatten an
                                16:35:23.694	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:35:23.694	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                16:35:23.694	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                16:35:23.695	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:35:23.695	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:35:23.695	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:35:23.864	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:35:23.865	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:35:23.865	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:35:23.865	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:35:23.865	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:35:23.865	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:35:51.281	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:35:51.282	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:35:51.283	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:35:51.283	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:35:51.283	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:35:51.283	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:36:23.693	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                
                                Tür auf und ein paar Sekunden später gleich wieder zu
                                16:46:01.475	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:46:01.475	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                16:46:01.476	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                16:46:01.476	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:46:01.476	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:46:01.476	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:46:01.539	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:46:01.539	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:46:01.539	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:46:01.540	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:46:01.540	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:46:01.540	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:46:03.463	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:46:03.463	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:46:03.463	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:46:03.463	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:46:03.463	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:46:03.464	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:46:33.952	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:46:33.953	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:46:33.954	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:46:33.954	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:46:33.954	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:46:33.954	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:46:40.480	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:46:40.480	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                16:46:40.480	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:46:40.481	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:46:40.481	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:46:40.481	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:46:40.539	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:46:40.542	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:46:40.542	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:46:40.542	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:46:40.542	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:46:40.542	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:46:42.503	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:46:42.504	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:46:42.504	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                16:46:42.504	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:46:42.504	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                16:46:42.504	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:47:01.472	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                16:47:07.961	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                16:47:07.962	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                16:47:07.963	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                16:47:07.963	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                16:47:07.963	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE true
                                16:47:07.963	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                16:47:40.481	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                
                                und die Variable Rollo_manuell steht auf true, keine Automation mehr möglich
                                
                                paul53P 1 Antwort Letzte Antwort
                                0
                                • M mguenther

                                  also, genau so ist es. Ich habe jetzt mehrere Szenarien durchgestestet. Immer wenn ich nach dem timeout etwas ändere, geht es. Ändert sich aber etwas innerhalb des timeouts, funktioniert das Skript leider nicht mehr. Anbei der Log von 2 Szenen:

                                  Rollo steht auf PositionXY und Schatten ist aktiviert. Rollo bleibt auf Position stehen
                                  
                                  Manuell von PunktXY bis nach oben
                                  16:18:12.852	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:18:12.853	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:18:12.853	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                  16:18:12.853	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG true
                                  16:18:12.854	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE true
                                  16:18:12.854	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE true
                                  
                                  ABER, Variable Rollo_manuell springt von true auf false
                                  
                                  Änderung durch SCHATTEN an
                                  16:18:27.577	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:18:27.578	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                  16:18:27.578	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                  16:18:27.579	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:18:27.579	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:18:27.580	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:18:27.766	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:18:27.767	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:18:27.767	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:18:27.767	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:18:27.767	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:18:27.767	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:18:55.169	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:18:55.170	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:18:55.170	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:18:55.170	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:18:55.170	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:18:55.170	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:19:27.576	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                  
                                  
                                  Änderung durch TÜR AUF
                                  16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                  16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                  16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:20:36.383	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:20:36.456	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:20:36.456	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:20:36.456	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:20:36.456	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:20:36.457	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:20:36.457	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:21:08.903	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:21:08.904	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:21:08.904	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:21:08.904	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:21:08.905	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:21:08.905	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:21:36.382	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                  
                                  
                                  Änderung durch TÜR ZU
                                  16:26:50.191	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:26:50.192	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                  16:26:50.192	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                  16:26:50.192	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:26:50.192	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:26:50.192	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:26:50.260	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:26:50.261	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:26:50.261	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:26:50.261	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:26:50.261	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:26:50.261	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:27:17.631	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:27:17.631	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:27:17.631	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:27:17.631	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:27:17.631	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:27:17.632	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:27:50.191	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                  
                                  Änderung durch Schatten aus
                                  16:32:14.790	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:32:14.791	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                  16:32:14.792	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                  16:32:14.792	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:32:14.792	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:32:14.792	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:32:14.969	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:32:14.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:32:14.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:32:14.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:32:14.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:32:14.970	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:32:47.433	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:32:47.439	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:32:47.440	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:32:47.440	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:32:47.440	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:32:47.440	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:33:14.786	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                  
                                  
                                  
                                  neue Situation Rollo ist oben, Schatten wird aktiviert
                                  Änderung durch Schatten an
                                  16:35:23.694	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:35:23.694	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                  16:35:23.694	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                  16:35:23.695	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:35:23.695	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:35:23.695	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:35:23.864	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:35:23.865	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:35:23.865	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:35:23.865	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:35:23.865	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:35:23.865	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:35:51.281	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:35:51.282	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:35:51.283	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:35:51.283	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:35:51.283	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:35:51.283	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:36:23.693	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                  
                                  Tür auf und ein paar Sekunden später gleich wieder zu
                                  16:46:01.475	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:46:01.475	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                  16:46:01.476	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                  16:46:01.476	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:46:01.476	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:46:01.476	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:46:01.539	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:46:01.539	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:46:01.539	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:46:01.540	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:46:01.540	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:46:01.540	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:46:03.463	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:46:03.463	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:46:03.463	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:46:03.463	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:46:03.463	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:46:03.464	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:46:33.952	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:46:33.953	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:46:33.954	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:46:33.954	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:46:33.954	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:46:33.954	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:46:40.480	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:46:40.480	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.javascript.0
                                  16:46:40.480	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:46:40.481	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:46:40.481	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:46:40.481	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:46:40.539	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:46:40.542	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:46:40.542	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:46:40.542	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:46:40.542	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:46:40.542	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:46:42.503	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:46:42.504	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:46:42.504	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG false
                                  16:46:42.504	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:46:42.504	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE false
                                  16:46:42.504	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:47:01.472	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                  16:47:07.961	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Bewegung ROLLO
                                  16:47:07.962	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: FROM system.adapter.hm-rpc.3
                                  16:47:07.963	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ANFANG true
                                  16:47:07.963	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ANFANG false
                                  16:47:07.963	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: checkManu ENDE true
                                  16:47:07.963	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: Rollo_manuell ENDE false
                                  16:47:40.481	info	javascript.0 script.js.Kueche.Rollo_manu_setzen: timeout: true
                                  
                                  und die Variable Rollo_manuell steht auf true, keine Automation mehr möglich
                                  
                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von paul53
                                  #18

                                  @mguenther
                                  Alles klar: Es wurde ein zweiter Timer gestartet. Ändere bitte:

                                  var timer2 = null;
                                  
                                  on(idRollo, function(dp) {
                                  console.log("Bewegung ROLLO");
                                  console.log('FROM '+dp.state.from);
                                  console.log("Position "+dp.state.val);
                                     if(checkManu && dp.state.val > 0 && dp.state.val < 90 && dp.state.from != js) setState(idManu, true, true);
                                     if(checkManu && (dp.state.val === 0 || dp.state.val == 100)) setState(idManu, false, true);
                                     if(dp.state.from == js) {
                                        checkManu = false;
                                        if(!taster_virtu) {
                                           if(timer2) clearTimeout(timer2);
                                           timer2 = setTimeout(function() {
                                              checkManu = true;
                                              timer2 = null;
                                              console.log('timeout: ' + checkManu);
                                           }, 60000);
                                        }
                                     } 
                                  console.log("checkManu ENDE "+checkManu);
                                  });
                                  

                                  EDIT: timer --> timer2

                                  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 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    mguenther
                                    schrieb am zuletzt editiert von mguenther
                                    #19

                                    nachdem HIER der entscheidene Hinweis kam, Skript zum Setzen des Datenpunkts Rollo_manuell komplett umgestellt:

                                    const idManu  = 'javascript.0.Kueche.Rollo_manuell'/*Rollo manuell*/;
                                    const idRollo = 'hm-rpc.3.MEQ0078539.3.LEVEL'/*Rollo EG04 Küche:3 LEVEL*/;
                                    const idTaste1='hm-rpc.3.MEQ0078539.1.PRESS_SHORT'/*Rollo EG04 Küche:1 PRESS SHORT*/;
                                    const idTaste2='hm-rpc.3.MEQ0078539.1.PRESS_LONG'/*Rollo EG04 Küche:1 PRESS LONG*/
                                    const idTaste3='hm-rpc.3.MEQ0078539.2.PRESS_SHORT'/*Rollo EG04 Küche:2 PRESS SHORT*/;
                                    const idTaste4='hm-rpc.3.MEQ0078539.2.PRESS_LONG'/*Rollo EG04 Küche:2 PRESS LONG*/
                                    const idLaufzeit ='javascript.0.Rollosteuerung.Zeit_virtuell'/*Zeit virtuell in Stunden*/;
                                    const idTaster_virtu = 'javascript.0.Kueche.Rollo_virtueller_Taster'/*Rollo virtueller Taster*/;
                                    
                                    var timer = null;
                                    var taster_virtu = getState(idTaster_virtu).val;
                                    var laufzeit = getState(idLaufzeit).val *60*60000;   //Laufzeit in Stunden     
                                    
                                    on(idTaster_virtu, function(dp) {
                                        taster_virtu = dp.state.val;
                                        var manu = false;
                                        if(timer) clearTimeout(timer); // Stopp Timer
                                        timer = null;
                                        if (taster_virtu) {
                                            manu = true;
                                            timer = setTimeout(function() {
                                                timer = null;
                                                setState(idManu, false, true);
                                                setState(idTaster_virtu, false, true);
                                            }, laufzeit);
                                        }
                                        setState(idManu, manu, true);
                                    });
                                    
                                    on(idRollo, function(dp) {
                                       if(dp.state.val === 0 || dp.state.val == 100) setState(idManu, false, true);
                                    });
                                    
                                    on({id: idTaste1}, function() {
                                       setState(idManu, true, true);
                                    });
                                    
                                    on({id: idTaste2}, function() {
                                       setState(idManu, true, true);
                                    });
                                    
                                    on({id: idTaste3}, function() {
                                       setState(idManu, true, true);
                                    });
                                    
                                    on({id: idTaste4}, function() {
                                       setState(idManu, true, true);
                                    });
                                    

                                    Danke Paul, wie immer...

                                    M 1 Antwort Letzte Antwort
                                    0
                                    • M mguenther

                                      nachdem HIER der entscheidene Hinweis kam, Skript zum Setzen des Datenpunkts Rollo_manuell komplett umgestellt:

                                      const idManu  = 'javascript.0.Kueche.Rollo_manuell'/*Rollo manuell*/;
                                      const idRollo = 'hm-rpc.3.MEQ0078539.3.LEVEL'/*Rollo EG04 Küche:3 LEVEL*/;
                                      const idTaste1='hm-rpc.3.MEQ0078539.1.PRESS_SHORT'/*Rollo EG04 Küche:1 PRESS SHORT*/;
                                      const idTaste2='hm-rpc.3.MEQ0078539.1.PRESS_LONG'/*Rollo EG04 Küche:1 PRESS LONG*/
                                      const idTaste3='hm-rpc.3.MEQ0078539.2.PRESS_SHORT'/*Rollo EG04 Küche:2 PRESS SHORT*/;
                                      const idTaste4='hm-rpc.3.MEQ0078539.2.PRESS_LONG'/*Rollo EG04 Küche:2 PRESS LONG*/
                                      const idLaufzeit ='javascript.0.Rollosteuerung.Zeit_virtuell'/*Zeit virtuell in Stunden*/;
                                      const idTaster_virtu = 'javascript.0.Kueche.Rollo_virtueller_Taster'/*Rollo virtueller Taster*/;
                                      
                                      var timer = null;
                                      var taster_virtu = getState(idTaster_virtu).val;
                                      var laufzeit = getState(idLaufzeit).val *60*60000;   //Laufzeit in Stunden     
                                      
                                      on(idTaster_virtu, function(dp) {
                                          taster_virtu = dp.state.val;
                                          var manu = false;
                                          if(timer) clearTimeout(timer); // Stopp Timer
                                          timer = null;
                                          if (taster_virtu) {
                                              manu = true;
                                              timer = setTimeout(function() {
                                                  timer = null;
                                                  setState(idManu, false, true);
                                                  setState(idTaster_virtu, false, true);
                                              }, laufzeit);
                                          }
                                          setState(idManu, manu, true);
                                      });
                                      
                                      on(idRollo, function(dp) {
                                         if(dp.state.val === 0 || dp.state.val == 100) setState(idManu, false, true);
                                      });
                                      
                                      on({id: idTaste1}, function() {
                                         setState(idManu, true, true);
                                      });
                                      
                                      on({id: idTaste2}, function() {
                                         setState(idManu, true, true);
                                      });
                                      
                                      on({id: idTaste3}, function() {
                                         setState(idManu, true, true);
                                      });
                                      
                                      on({id: idTaste4}, function() {
                                         setState(idManu, true, true);
                                      });
                                      

                                      Danke Paul, wie immer...

                                      M Offline
                                      M Offline
                                      mguenther
                                      schrieb am zuletzt editiert von mguenther
                                      #20

                                      @mguenther sagte in [gelöst]manuelle/automatische Rollosteuerung:

                                      nachdem HIER der entscheidene Hinweis kam, Skript zum Setzen des Datenpunkts Rollo_manuell komplett umgestellt:

                                      const idManu  = 'javascript.0.Kueche.Rollo_manuell'/*Rollo manuell*/;
                                      const idRollo = 'hm-rpc.3.MEQ0078539.3.LEVEL'/*Rollo EG04 Küche:3 LEVEL*/;
                                      const idTaste1='hm-rpc.3.MEQ0078539.1.PRESS_SHORT'/*Rollo EG04 Küche:1 PRESS SHORT*/;
                                      const idTaste2='hm-rpc.3.MEQ0078539.1.PRESS_LONG'/*Rollo EG04 Küche:1 PRESS LONG*/
                                      const idTaste3='hm-rpc.3.MEQ0078539.2.PRESS_SHORT'/*Rollo EG04 Küche:2 PRESS SHORT*/;
                                      const idTaste4='hm-rpc.3.MEQ0078539.2.PRESS_LONG'/*Rollo EG04 Küche:2 PRESS LONG*/
                                      const idLaufzeit ='javascript.0.Rollosteuerung.Zeit_virtuell'/*Zeit virtuell in Stunden*/;
                                      const idTaster_virtu = 'javascript.0.Kueche.Rollo_virtueller_Taster'/*Rollo virtueller Taster*/;
                                      
                                      var timer = null;
                                      var taster_virtu = getState(idTaster_virtu).val;
                                      var laufzeit = getState(idLaufzeit).val *60*60000;   //Laufzeit in Stunden     
                                      
                                      on(idTaster_virtu, function(dp) {
                                          taster_virtu = dp.state.val;
                                          var manu = false;
                                          if(timer) clearTimeout(timer); // Stopp Timer
                                          timer = null;
                                          if (taster_virtu) {
                                              manu = true;
                                              timer = setTimeout(function() {
                                                  timer = null;
                                                  setState(idManu, false, true);
                                                  setState(idTaster_virtu, false, true);
                                              }, laufzeit);
                                          }
                                          setState(idManu, manu, true);
                                      });
                                      
                                      on(idRollo, function(dp) {
                                         if(dp.state.val === 0 || dp.state.val == 100) setState(idManu, false, true);
                                      });
                                      
                                      on({id: idTaste1}, function() {
                                         setState(idManu, true, true);
                                      });
                                      
                                      on({id: idTaste2}, function() {
                                         setState(idManu, true, true);
                                      });
                                      
                                      on({id: idTaste3}, function() {
                                         setState(idManu, true, true);
                                      });
                                      
                                      on({id: idTaste4}, function() {
                                         setState(idManu, true, true);
                                      });
                                      

                                      Danke Paul, wie immer...

                                      Hallo Zusammen,
                                      irgendwie klappt es leider nicht so ganz. Wenn das Rollo auf 100% geht, wird nicht immer die Variable Rollo_manuell auf false gesetzt - warum, weiß ich nicht, trotz der Zeile:

                                      on(idRollo, function(dp) {
                                         if(dp.state.val === 0 || dp.state.val == 100) setState(idManu, false, true);
                                      });
                                      

                                      :(
                                      Ich finde den Fehler nicht, es ist halt auch nicht reproduzierbar. Mal taucht dieser Fall auf. Erste Idee wäre jetzt nen Workaround.
                                      Frage alle 5 Minuten ab, ob (Rollo_manuell = true), dann prüfe den Rollo-Level.
                                      Wenn Wert = 0 oder 100, dann (Rollo_manuell = false)

                                      oder?
                                      wie mach ich das mit dem Schedule?

                                      Zweite Idee wäre ne kurze Verzögerung beim Setzen der Variable Rollo_auto -irgendwie denke ich, dass es da ein Überlagern gibt...

                                      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

                                      757

                                      Online

                                      32.6k

                                      Benutzer

                                      82.1k

                                      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