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. ioBroker Allgemein
  4. Yahka Sprinkler mit Zeitsteuerung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    168

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    12
    1
    570

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.8k

Yahka Sprinkler mit Zeitsteuerung

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
homekit yahka bewässerung zeitremaining duration homekit
76 Beiträge 14 Kommentatoren 10.8k Aufrufe 11 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.
  • cashC Offline
    cashC Offline
    cash
    Most Active
    schrieb am zuletzt editiert von
    #38

    Wenn Du den on-time Datenpunkt nicht hast Zeile 26 auf false...

    1 Antwort Letzte Antwort
    0
    • cashC cash

      Die Zeile 45 ist der Datenpunkt wo die Zeit reingeschrieben wird wann das Ventil schließen soll.

      Bei Homematic gibt es da einen Datenpunkt. Das Script tickt so das die Zeit also z. B. wenn man per Homekit das Ventil für 10 Minuten schalten will wird vor dem einschalten die 10 Minuten in den Datenpunkt geschrieben. Somit schaltet das Ventil selbst dann aus wenn zwischendruch die Homematic Zentrale oder iobroker cracht. Sollte der Befehl nicht funktioniert haben prüft das Script ein paar Sekunden später ob das Ventil wirklich aus istund schaltet es dann.

      Fürs hochzählen ist er nicht da. Was passiert denn wenn Du per Homekit das Ventil öffnest? Siehst Du unter den on eine Zeit? Also 00;00.

      Was machen die Datenpunkte? Was sagt das Log. Im Log wird geschrieben das die Stoppuhr startet?

      M Offline
      M Offline
      Marsel
      schrieb am zuletzt editiert von
      #39

      @cash Okay versteh. Schade aber das geht dann wohl bei mir nicht.

      Wenn ich das Ventil öffne dann steht 00:00 in Homekit aber der läuft nicht an. Im Log wenn ich das Script starte steht das drin:

      22:43:34.189 info javascript.0 Stop script script.js.common.Timer-Ventil-1
      22:43:34.213 info javascript.0 Start javascript script.js.common.Timer-Ventil-1
      22:43:34.213 info javascript.0 script.js.common.Timer-Ventil-1: registered 3 subscriptions and 0 schedules

      wenn ich das Ventil dann einschalte ändert sich nichts. Von der Stoppuhr kommt nichts. Wenn ich jetzt den Timer in Homekit auf 5 min stelle dann kommt ein Eintrag im Log.

      22:45:48.913 info javascript.0 script.js.common.Timer-Ventil-1: [countdown] Timer für Magnetventil wird gestartet für 300 Sekunden.

      Datenpunkt IST: Zählt die Zeit runter
      Datenpunkt SOLL: Stehen die 5 min drin vom Countdown
      Datenpunkt STATUS: steht eine 1 drin
      Datenpunkt ZIEL_STATUS: steht eine 1 drin

      1 Antwort Letzte Antwort
      0
      • cashC Offline
        cashC Offline
        cash
        Most Active
        schrieb am zuletzt editiert von
        #40

        Was steht denn im Datenpunkt ist und soll Timer wenn Du das Ventil nur öffnest (natürlich per Homekit). Zeig mal Deine Yahka Config.

        Ich prüfe Morgen auch nochmal das Script. Ich denke aber das bei Dir irgend etwas anders eingestellt ist wie bei mir.

        Beim Countdown funktioniert das automatische ausschalten?

        M 1 Antwort Letzte Antwort
        0
        • cashC cash

          Was steht denn im Datenpunkt ist und soll Timer wenn Du das Ventil nur öffnest (natürlich per Homekit). Zeig mal Deine Yahka Config.

          Ich prüfe Morgen auch nochmal das Script. Ich denke aber das bei Dir irgend etwas anders eingestellt ist wie bei mir.

          Beim Countdown funktioniert das automatische ausschalten?

          M Offline
          M Offline
          Marsel
          schrieb am zuletzt editiert von
          #41

          @cash
          Das steht in den Datenpunkte wenn ich keine Aktivzeit im Homekit einstelle.
          2.jpg

          So sieht die Yahka Config aus. Nicht wundern, ich habe zum Testen ein Relais von Sonoff genommen.
          1.jpg

          1 Antwort Letzte Antwort
          0
          • cashC Offline
            cashC Offline
            cash
            Most Active
            schrieb am zuletzt editiert von
            #42

            Ok da liegt das Problem. Active und inuse müssen die angelgten Systemvariablen rein.

            Jetzt ist mir auch klar warum er so wenig logt. Denn normalerweise müsste im log ein Eintrag auftauchen sobald Du das Gerät über Homekit schaltest. Egal ob mit oder ohne Timer...

            M 2 Antworten Letzte Antwort
            0
            • cashC cash

              Ok da liegt das Problem. Active und inuse müssen die angelgten Systemvariablen rein.

              Jetzt ist mir auch klar warum er so wenig logt. Denn normalerweise müsste im log ein Eintrag auftauchen sobald Du das Gerät über Homekit schaltest. Egal ob mit oder ohne Timer...

              M Offline
              M Offline
              Marsel
              schrieb am zuletzt editiert von
              #43

              @cash Das hätte mir auch auffallen können :face_with_rolling_eyes: SORRY!!!

              Jetzt habe ich das Problem, wenn ich im Homekit die Aktivezeit einstelle und diese dann abgelaufen ist, das er dann nicht abschaltet. Die Zeit bleibt bei 00:00 stehen.

              LOG:
              4.jpg

              Bei Yahka sieht es jetzt so aus:
              5.jpg

              Was mir noch aufgefallen ist, wenn er Runterzählt dann Zeigt er es in Homekit sauber an. Wenn er jetzt aber Hochzählt dann sieht es nicht ganz so sauber aus. Der Datenpunkt wenn ich den dabei beobachte der Zählst vernünftig.

              IMG_1097.TRIM.MOV

              1 Antwort Letzte Antwort
              0
              • cashC cash

                Ok da liegt das Problem. Active und inuse müssen die angelgten Systemvariablen rein.

                Jetzt ist mir auch klar warum er so wenig logt. Denn normalerweise müsste im log ein Eintrag auftauchen sobald Du das Gerät über Homekit schaltest. Egal ob mit oder ohne Timer...

                M Offline
                M Offline
                Marsel
                schrieb am zuletzt editiert von
                #44

                @cash So sieht jetzt sein Script bei mir aus.

                
                /**************************
                * Script Gartenbewässerung per Homekit schalten incl Timer
                *
                * 08.06.19 V1.00    Erste Version
                * 09.06.19 V1.01    Stoppuhr eingebaut wenn kein Countdown gestartet wurde
                * 10.06.19 V1.02    Logging optimiert und Variablen zum einfachen steuern eingebaut
                * 11.06.19 V1.03    Logging präzisiert
                *                   kleinere Syntaxfehler behoben
                *                   set_on_time hinzugefügt um Funktion zu deaktivieren
                * 13.06.19 V1.04    Logging reduziert
                *
                * der Ziel Status wird durch Homekit geändert
                * func_Status_Syncronisierung synronisiert den realen Status 
                * vom Magnetventil mit den beiden Pseudo Stati von Homekit
                * 0 = Bewässerung ist aus
                * 1 = Bewässerung ist eingeschaltet
                * wichtig der Ziel Status wird durch Homekit ohne ack:true geändert
                **************************/
                
                const logging = true;
                const debugging = false;
                
                const Stoppuhr_Dauer = 3600;       //Dauer in Sekunden wie lange die Stopuhr läuft max. 3600
                const Stoppuhr_Wasser_off = true;  //Schaltet das Magnetventil nach Ablauf der Stoppuhr automatisch aus
                const set_on_time = false;           //Wenn ein Countdown gesetzt wird wird die Dauer direkt im Gerät gesetzt
                
                //Variablen für Pushover
                const sendpush = false;     //true = verschickt per Pushover Nachrchten // false = Pushover wird nicht benutzt
                const pushover_Instanz0 =  'pushover.0';     // Pushover instance für Pio = 0
                const pushover_Instanz1 =  'pushover.1';     // Pushover instance für Pio = 1
                const pushover_Instanz2 =  'pushover.2';     // Pushover instance für Pio = 2
                const pushover_Instanz3 =  'pushover.3';     // Pushover instance für Pio = -1 oder -2
                let _prio = 1;
                let _titel = 'Bewässerung';
                let _message;
                let _device = 'TPhone'; 
                //var device = 'All'; 
                
                const id_Status = 'javascript.0.Timer.Ventil1.STATUS'/*Timer Ventil1 STATUS*/;
                const id_Ziel_Status = 'javascript.0.Timer.Ventil1.ZIEL_STATUS'/*Timer Ventil1 ZIEL STATUS*/;
                const id_Ist = 'javascript.0.Timer.Ventil1.IST'/*Timer Ventil1 IST*/;
                const id_Soll = 'javascript.0.Timer.Ventil1.SOLL'/*Timer Ventil1 SOLL*/;
                const id_Magnetventil = 'sonoff.0.Küchenzeile.POWER'/*Küchenzeile POWER*/;
                const id_Magnetventil_on_time = 'hm-rpc.0.LEQ0929723.1.ON_TIME'/*Wohnzimmer GSV-Licht:1 ON TIME*/;
                //const id_Magnetventil = 'hm-rpc.0.LEQ0929723.1.STATE'/*Wohnzimmer GSV-Licht:1 STATE*/;
                //const id_Magnetventil_on_time = 'hm-rpc.0.LEQ0929723.1.ON_TIME'/*Wohnzimmer GSV-Licht:1 ON TIME*/;
                
                let timer = null;
                
                function send_pushover (_device, _message, _titel, _prio) {
                  // Version 4.00 vom 15.01.19
                  var pushover_Instanz =  'pushover.0';
                  if (_prio === 0){pushover_Instanz =  'pushover.0'}
                  else if (_prio == 1){pushover_Instanz =  'pushover.1'}
                  else if (_prio == 2){pushover_Instanz =  'pushover.2'}
                  else {pushover_Instanz =  'pushover.3'}
                      sendTo(pushover_Instanz, { 
                      device: _device,
                      message: _message, 
                      title: _titel, 
                      priority: _prio,
                      retry: 60,
                      expire: 600,
                      html: 1
                  }); 
                }
                
                function func_Ziel_Status(){
                  var Ziel_Status =  getState(id_Ziel_Status).val;
                  var Status = getState(id_Status).val;
                  var Soll = Number(getState(id_Soll).val);
                  var Ist = Soll;
                  var Ist_real = getState(id_Ist).val;
                
                  
                  //Magnetventil soll geschlossen werden
                  if(Ziel_Status === 0){
                      if(timer){ 
                          clearInterval(timer); // Stopp Timer
                          timer = null;
                          if(debugging){
                              log('[DEBUG] '+'[Ziel_Status] ' +'Es läuft ein Timer. Magnetventil soll per Homekit ausgeschaltet werden');
                          }
                      }
                      if(Ist_real !== 0){
                          if(debugging){
                              log('[DEBUG] '+'[Ziel_Status] ' +'id_Ist ist nicht null und wird auf 0 gesetzt.');
                          }
                          setState(id_Ist,0,true);
                      }
                      if(Soll !== 0){
                          if(debugging){
                              log('[DEBUG] '+'[Ziel_Status] ' +'id_Soll ist nicht null und wird auf 0 gesetzt.');
                          }
                          setState(id_Soll,0,true);
                      }
                      if(Status == 1){
                          if(logging){
                              log('Magnetventil soll per Homekit geschlossen werden.');
                          }
                          setStateDelayed(id_Magnetventil,false,500);
                          setState(id_Status,0);
                      }
                      else{
                          if(debugging){
                              log('[DEBUG] '+'[Ziel_Status] ' +'Magnetventil wurde nicht über Homekit bedient (geschlossen)');
                          }
                      }
                
                  }
                  //Magnetventil soll geöffnet werden werden
                  else if(Ziel_Status === 1){
                      if(Status === 0){
                          if(logging){
                              log('Magnetventil soll per Homekit geöffnet werden.');
                          }
                          setStateDelayed(id_Magnetventil,true,1000);
                          setState(id_Status,1);
                
                          if(Soll === 0){
                              log('Es wurde kein Countdown gestartet. Starte Stopuhr.');
                              if(timer){ 
                                  clearInterval(timer); // Stopp Timer
                                  timer = null;
                                  if(debugging){
                                      log('[DEBUG] '+'[Ziel_Status] ' +'Stoppuhr soll gestartet werden. Es existiert ein Timer. Der Timer wird abgebrochen.');
                                  }
                              }
                              timer = setInterval(function() {
                                  Ist++;
                                  //if(debugging){
                                  //    log('Countdown bei ' +Ist +' Sekunden');
                                  //}    
                                  setState(id_Ist,Ist);
                                  if(Ist >= Stoppuhr_Dauer) {
                                      if(debugging){
                                          log('[DEBUG] '+'[Ziel_Status] ' +'Stoppuhr für Magnetventil abgelaufen.');
                                      }
                                      clearInterval(timer);
                                      timer = null;
                                      setState(id_Ist, 0, true);
                              
                              
                                      if(getState(id_Magnetventil).val){
                                          if(logging){
                                              log('Stoppuhr abgelaufen. Magnetventil ist offen. Evtl vergessen');
                                          }
                                          if(Stoppuhr_Wasser_off){
                                              if(logging){
                                                  log('Magnetventil soll automatisch ausschalten.');
                                              }
                                              setState(id_Magnetventil,false,true);
                                          }
                                          //Push verschicken
                                          if(sendpush){
                                              _prio = 2;
                                              _message = 'Magnetventil ist immer noch offen. Vergessen?';
                                              send_pushover(_device, _message, _titel, _prio);
                                          } 
                                      }
                                      else{
                                          if(debugging){
                                              log('[DEBUG] '+'[Ziel_Status] ' +'Stopuhr abgelaufen Magnetventil war bereits ausgeschaltet');
                                          }
                                      }
                                  }   
                              }, 1000);
                          }
                      }
                      else{
                          if(debugging){
                              log('[DEBUG] '+'[Ziel_Status] ' +'Magnetventil wurde nicht über Homekit bedient (angeschaltet)');
                          }
                      }
                
                  }
                  else{
                      if(debugging){
                          log('[DEBUG] '+'[Ziel_Status] ' +'Fehler der Zielstatus ist ungleich 0 oder 1. Das darf eigentlich nicht passieren');
                      }
                  }
                }
                
                function func_Status_Syncroniserung(){
                  var Status = getState(id_Status).val;
                  var Ziel_Status = getState(id_Ziel_Status).val;
                  var Magnetventil = getState(id_Magnetventil).val;
                
                  if(Magnetventil){
                      if(Status === 0){
                          setState(id_Status,1);
                          if(debugging){
                              log('[DEBUG] '+'[Status_Sync] ' +'Status war 0 wird auf 1 gesetzt, da das Magnetventil an ist');
                          }
                          
                      }
                      else{
                          if(debugging){
                              log('[DEBUG] '+'[Status_Sync] ' +'Status war bereits auf 1. Magnetventil ist an');
                          } 
                      }
                      if(Ziel_Status === 0){
                          setState(id_Ziel_Status,1);
                          if(debugging){
                              log('[DEBUG] '+'[Status_Sync] ' +'Magnetventil wurde nicht über Homekit eingeschaltet. Ziel_Status wird von 0 auf 1 geändert');
                          }
                      }
                      else{
                          if(debugging){
                              log('[DEBUG] '+'[Status_Sync] ' +'Ziel_Status war bereits auf true. Magnetventil wurde eingeschaltet'); 
                          }
                      }
                  }
                  else{
                      if(Status == 1){
                          setState(id_Status,0);
                          if(debugging){
                              log('[DEBUG] '+'[Status_Sync] ' +'Status war 1 und wird auf 0 geändert weil das Magnetventil aus ist');
                          }
                          
                      }
                      else{
                          if(debugging){
                              log('[DEBUG] '+'[Status_Sync] ' +'Status war bereits auf 0 nachdem das Magnetnvetil ausgeschaltet wurde'); 
                          }
                      }
                      if(Ziel_Status == 1){
                          setState(id_Ziel_Status,0);
                          if(debugging){
                              log('[DEBUG] '+'[Status_Sync] ' +'Magnetventil wurde nicht über Homekit ausgeschaltet. Ziel_Status wird von 1 auf 0 geändert');
                          }
                      }
                      else{
                          if(debugging){
                              log('[DEBUG] '+'[Status_Sync] ' +'Ziel_Status war bereits auf 0. Magnetventil wurde ausgeschaltet.'); 
                          }   
                      }
                
                  }
                }
                
                function func_countdown(){
                  var Status = getState(id_Status).val;
                  var Soll = Number(getState(id_Soll).val);
                  var Ist = Soll;
                  //ontime 5 Sekunden kürzer
                  var ontime = Soll - 10;
                  setState(id_Ist,Ist);
                
                  if(set_on_time){
                      setState(id_Magnetventil_on_time,ontime);
                  }
                  setStateDelayed(id_Ziel_Status,1,500);
                  
                  if(logging){
                      log('[countdown] ' +'Timer für Magnetventil wird gestartet für ' +Soll +' Sekunden.');
                  }
                  
                  if(timer){ 
                      clearInterval(timer); // Stopp Timer
                      timer = null;
                      if(logging){
                          log('[countdown] ' +'Es besteht schon ein Timer für das Magnetventil. Ggf prüfen');
                      }
                  }
                
                  if(Soll !== 0){
                      timer = setInterval(function() {
                          Ist--;
                          //if(debugging){
                          //    log('Countdown bei ' +Ist +' Sekunden');
                          //}    
                          setState(id_Ist,Ist);
                          if(Ist <= 0) {
                              log('[Status_Sync] ' +'Timer für Magnetventil abgelaufen');
                              clearInterval(timer);
                              timer = null;
                              setState(id_Soll, 0, true);
                              setState(id_Ist, 0, true);
                              setState(id_Magnetventil_on_time,0);
                              if(getState(id_Magnetventil).val){
                                  if(logging){
                                      log('[countdown] ' +'Magnetventil war noch nicht ausgeschaltet und wird nun ausgeschaltet');
                                  }
                                  setState(id_Magnetventil,false,true);
                                  //Push verschicken
                                  if(sendpush){
                                      if(set_on_time){
                                          _message = 'Magnetventil war nicht geschlossen. on_Befehl hat nicht funktioniert';
                                      }
                                      else{
                                          _message = 'Magnetventil wurde ausgeschaltetn.';    
                                      }
                                      send_pushover(_device, _message, _titel, _prio);
                                  } 
                              }
                              else{
                                  if(debugging){
                                      log('[countdown] ' +'Magnetventil war bereits ausgeschaltet');
                                  }
                              }
                          }   
                      }, 1000);
                  }
                  else{
                      if(debugging){
                          log('[countdown] ' +'Soll ist gleich 0');
                      }
                  }
                } 
                
                
                //beim Start
                //func_countdown();
                
                on({id: id_Soll, valGt: 0 ,change: "ne"}, func_countdown);
                on({id: id_Ziel_Status, change: "ne"}, func_Ziel_Status);
                on({id: id_Magnetventil, change: "ne"}, func_Status_Syncroniserung);
                

                1 Antwort Letzte Antwort
                0
                • cashC Offline
                  cashC Offline
                  cash
                  Most Active
                  schrieb am zuletzt editiert von
                  #45

                  Das mit dem unsauberen hochzählen ist leider so. Anscheinend war das von Apple nicht so vorgesehen... Damit kann ich leben.

                  Beim countdown geht das Ventil nicht aus? Aber ausschalten per Homekit geht?

                  M 1 Antwort Letzte Antwort
                  0
                  • cashC Offline
                    cashC Offline
                    cash
                    Most Active
                    schrieb am zuletzt editiert von
                    #46

                    Das Script muss ich nochmal anpassen wegen den on-Datenpunkt damit die warnings verschwinden.
                    Vielleicht schaffe ich es heute Abend sonst Montag oder Dienstag.

                    M 1 Antwort Letzte Antwort
                    0
                    • cashC cash

                      Das mit dem unsauberen hochzählen ist leider so. Anscheinend war das von Apple nicht so vorgesehen... Damit kann ich leben.

                      Beim countdown geht das Ventil nicht aus? Aber ausschalten per Homekit geht?

                      M Offline
                      M Offline
                      Marsel
                      schrieb am zuletzt editiert von
                      #47

                      @cash Nein schlimm ist es nicht, hätte ja nur sein können das bei mir noch was falsch ist.

                      Wenn ich per Hand AN uns AUS mache geht es ohne Probleme. Soll jetzt die Stoppuhr oder Aktivzeit das Ventil Ausschalten passiert nichts.

                      1 Antwort Letzte Antwort
                      0
                      • cashC cash

                        Das Script muss ich nochmal anpassen wegen den on-Datenpunkt damit die warnings verschwinden.
                        Vielleicht schaffe ich es heute Abend sonst Montag oder Dienstag.

                        M Offline
                        M Offline
                        Marsel
                        schrieb am zuletzt editiert von
                        #48

                        @cash Okay schön. Mach dir bloß keinen Stress! Lass dir Zeit!

                        1 Antwort Letzte Antwort
                        0
                        • cashC Offline
                          cashC Offline
                          cash
                          Most Active
                          schrieb am zuletzt editiert von
                          #49

                          Hier eine kleine Änderung. Die ist aber nicht fürs ausschalten zuständig...

                          Wie schaltet man dein Magnetventil aus? mit true und false oder 0 und 1?

                          Gggf. auch mal Debug auf true stellen. Dann sollte im Log ein paar mehr Infos kommen damit man genauer sieht was ioBroker da so treibt...

                          
                          /**************************
                          * Script Gartenbewässerung per Homekit schalten incl Timer
                          *
                          * 08.06.19 V1.00    Erste Version
                          * 09.06.19 V1.01    Stoppuhr eingebaut wenn kein Countdown gestartet wurde
                          * 10.06.19 V1.02    Logging optimiert und Variablen zum einfachen steuern eingebaut
                          * 11.06.19 V1.03    Logging präzisiert
                          *                   kleinere Syntaxfehler behoben
                          *                   set_on_time hinzugefügt um Funktion zu deaktivieren
                          * 13.06.19 V1.04    Logging reduziert
                          * 18.06.19 V1.05    Stoppuhr Dauer geändert auf 1200 Sekunden // Pushover alle 5 Minunten für 40 Minuten. Somit erfolgt max eine Stunde lange eine Errinnerung
                          * 23.06.19 V1.06    Beim Datenpunkt on_time eine Abfrage auf set_on_time vergessen
                          *
                          * der Ziel Status wird durch Homekit geändert
                          * func_Status_Syncronisierung synronisiert den realen Status 
                          * vom Magnetventil mit den beiden Pseudo Stati von Homekit
                          * 0 = Bewässerung ist aus
                          * 1 = Bewässerung ist eingeschaltet
                          * wichtig der Ziel Status wird durch Homekit ohne ack:true geändert
                          **************************/
                          
                          const logging = true;
                          const debugging = false;
                          
                          const Stoppuhr_Dauer = 1200;       //Dauer in Sekunden wie lange die Stopuhr läuft max. 3600
                          const Stoppuhr_Wasser_off = false;  //Schaltet das Magnetventil nach Ablauf der Stoppuhr automatisch aus
                          const set_on_time = true;           //Wenn ein Countdown gesetzt wird wird die Dauer direkt im Gerät gesetzt
                          
                          //Variablen für Pushover
                          const sendpush = true;     //true = verschickt per Pushover Nachrchten // false = Pushover wird nicht benutzt
                          const pushover_Instanz0 =  'pushover.0';     // Pushover instance für Pio = 0
                          const pushover_Instanz1 =  'pushover.1';     // Pushover instance für Pio = 1
                          const pushover_Instanz2 =  'pushover.2';     // Pushover instance für Pio = 2
                          const pushover_Instanz3 =  'pushover.3';     // Pushover instance für Pio = -1 oder -2
                          let _prio = 1;
                          let _titel = 'Bewässerung';
                          let _message;
                          let _device = 'TPhone'; 
                          //var device = 'All'; 
                          
                          const id_Status = 'Systemvariable.0.Terrasse.Bewässerung.Magnetventil.Status_Homekit'/*Status Homekit*/;
                          const id_Ziel_Status = 'Systemvariable.0.Terrasse.Bewässerung.Magnetventil.Ziel_Status_Homekit'/*Ziel Status Homekit*/;
                          const id_Ist = 'Systemvariable.0.Terrasse.Bewässerung.Magnetventil.Timer_Ist_Homekit'/*Timer Ist Homekit*/;
                          const id_Soll = 'Systemvariable.0.Terrasse.Bewässerung.Magnetventil.Timer_Soll_Homekit'/*Timer Soll Homekit*/;
                          const id_Magnetventil = 'hm-rpc.0.LEQ1316331.1.STATE'/*Terrasse Bewässerung:1 STATE*/;
                          const id_Magnetventil_on_time = 'hm-rpc.0.LEQ1316331.1.ON_TIME'/*Terrasse Bewässerung:1 ON TIME*/;
                          //const id_Magnetventil = 'hm-rpc.0.LEQ0929723.1.STATE'/*Wohnzimmer GSV-Licht:1 STATE*/;
                          //const id_Magnetventil_on_time = 'hm-rpc.0.LEQ0929723.1.ON_TIME'/*Wohnzimmer GSV-Licht:1 ON TIME*/;
                          
                          let timer = null;
                          
                          function send_pushover (_device, _message, _titel, _prio) {
                             // Version 4.00 vom 15.01.19
                             var pushover_Instanz =  'pushover.0';
                             if (_prio === 0){pushover_Instanz =  'pushover.0'}
                             else if (_prio == 1){pushover_Instanz =  'pushover.1'}
                             else if (_prio == 2){pushover_Instanz =  'pushover.2'}
                             else {pushover_Instanz =  'pushover.3'}
                                 sendTo(pushover_Instanz, { 
                                 device: _device,
                                 message: _message, 
                                 title: _titel, 
                                 priority: _prio,
                                 retry: 300,
                                 expire: 2400,
                                 html: 1
                             }); 
                          }
                          
                          function func_Ziel_Status(){
                             var Ziel_Status =  getState(id_Ziel_Status).val;
                             var Status = getState(id_Status).val;
                             var Soll = Number(getState(id_Soll).val);
                             var Ist = Soll;
                             var Ist_real = getState(id_Ist).val;
                          
                             
                             //Magnetventil soll geschlossen werden
                             if(Ziel_Status === 0){
                                 if(timer){ 
                                     clearInterval(timer); // Stopp Timer
                                     timer = null;
                                     if(debugging){
                                         log('[DEBUG] '+'[Ziel_Status] ' +'Es läuft ein Timer. Magnetventil soll per Homekit ausgeschaltet werden');
                                     }
                                 }
                                 if(Ist_real !== 0){
                                     if(debugging){
                                         log('[DEBUG] '+'[Ziel_Status] ' +'id_Ist ist nicht null und wird auf 0 gesetzt.');
                                     }
                                     setState(id_Ist,0,true);
                                 }
                                 if(Soll !== 0){
                                     if(debugging){
                                         log('[DEBUG] '+'[Ziel_Status] ' +'id_Soll ist nicht null und wird auf 0 gesetzt.');
                                     }
                                     setState(id_Soll,0,true);
                                 }
                                 if(Status == 1){
                                     if(logging){
                                         log('Magnetventil soll per Homekit geschlossen werden.');
                                     }
                                     setStateDelayed(id_Magnetventil,false,500);
                                     setState(id_Status,0);
                                 }
                                 else{
                                     if(debugging){
                                         log('[DEBUG] '+'[Ziel_Status] ' +'Magnetventil wurde nicht über Homekit bedient (geschlossen)');
                                     }
                                 }
                          
                             }
                             //Magnetventil soll geöffnet werden werden
                             else if(Ziel_Status === 1){
                                 if(Status === 0){
                                     if(logging){
                                         log('Magnetventil soll per Homekit geöffnet werden.');
                                     }
                                     setStateDelayed(id_Magnetventil,true,1000);
                                     setState(id_Status,1);
                          
                                     if(Soll === 0){
                                         log('Es wurde kein Countdown gestartet. Starte Stopuhr.');
                                         if(timer){ 
                                             clearInterval(timer); // Stopp Timer
                                             timer = null;
                                             if(debugging){
                                                 log('[DEBUG] '+'[Ziel_Status] ' +'Stoppuhr soll gestartet werden. Es existiert ein Timer. Der Timer wird abgebrochen.');
                                             }
                                         }
                                         timer = setInterval(function() {
                                             Ist++;
                                             //if(debugging){
                                             //    log('Countdown bei ' +Ist +' Sekunden');
                                             //}    
                                             setState(id_Ist,Ist);
                                             if(Ist >= Stoppuhr_Dauer) {
                                                 if(debugging){
                                                     log('[DEBUG] '+'[Ziel_Status] ' +'Stoppuhr für Magnetventil abgelaufen.');
                                                 }
                                                 clearInterval(timer);
                                                 timer = null;
                                                 setState(id_Ist, 0, true);
                                         
                                         
                                                 if(getState(id_Magnetventil).val){
                                                     if(logging){
                                                         log('Stoppuhr abgelaufen. Magnetventil ist offen. Evtl vergessen');
                                                     }
                                                     if(Stoppuhr_Wasser_off){
                                                         if(logging){
                                                             log('Magnetventil soll automatisch ausschalten.');
                                                         }
                                                         setState(id_Magnetventil,false,true);
                                                     }
                                                     //Push verschicken
                                                     if(sendpush){
                                                         _prio = 2;
                                                         _message = 'Magnetventil ist immer noch offen. Vergessen?';
                                                         send_pushover(_device, _message, _titel, _prio);
                                                     } 
                                                 }
                                                 else{
                                                     if(debugging){
                                                         log('[DEBUG] '+'[Ziel_Status] ' +'Stopuhr abgelaufen Magnetventil war bereits ausgeschaltet');
                                                     }
                                                 }
                                             }   
                                         }, 1000);
                                     }
                                 }
                                 else{
                                     if(debugging){
                                         log('[DEBUG] '+'[Ziel_Status] ' +'Magnetventil wurde nicht über Homekit bedient (angeschaltet)');
                                     }
                                 }
                          
                             }
                             else{
                                 if(debugging){
                                     log('[DEBUG] '+'[Ziel_Status] ' +'Fehler der Zielstatus ist ungleich 0 oder 1. Das darf eigentlich nicht passieren');
                                 }
                             }
                          }
                          
                          function func_Status_Syncroniserung(){
                             var Status = getState(id_Status).val;
                             var Ziel_Status = getState(id_Ziel_Status).val;
                             var Magnetventil = getState(id_Magnetventil).val;
                          
                             if(Magnetventil){
                                 if(Status === 0){
                                     setState(id_Status,1);
                                     if(debugging){
                                         log('[DEBUG] '+'[Status_Sync] ' +'Status war 0 wird auf 1 gesetzt, da das Magnetventil an ist');
                                     }
                                     
                                 }
                                 else{
                                     if(debugging){
                                         log('[DEBUG] '+'[Status_Sync] ' +'Status war bereits auf 1. Magnetventil ist an');
                                     } 
                                 }
                                 if(Ziel_Status === 0){
                                     setState(id_Ziel_Status,1);
                                     if(debugging){
                                         log('[DEBUG] '+'[Status_Sync] ' +'Magnetventil wurde nicht über Homekit eingeschaltet. Ziel_Status wird von 0 auf 1 geändert');
                                     }
                                 }
                                 else{
                                     if(debugging){
                                         log('[DEBUG] '+'[Status_Sync] ' +'Ziel_Status war bereits auf true. Magnetventil wurde eingeschaltet'); 
                                     }
                                 }
                             }
                             else{
                                 if(Status == 1){
                                     setState(id_Status,0);
                                     if(debugging){
                                         log('[DEBUG] '+'[Status_Sync] ' +'Status war 1 und wird auf 0 geändert weil das Magnetventil aus ist');
                                     }
                                     
                                 }
                                 else{
                                     if(debugging){
                                         log('[DEBUG] '+'[Status_Sync] ' +'Status war bereits auf 0 nachdem das Magnetnvetil ausgeschaltet wurde'); 
                                     }
                                 }
                                 if(Ziel_Status == 1){
                                     setState(id_Ziel_Status,0);
                                     if(debugging){
                                         log('[DEBUG] '+'[Status_Sync] ' +'Magnetventil wurde nicht über Homekit ausgeschaltet. Ziel_Status wird von 1 auf 0 geändert');
                                     }
                                 }
                                 else{
                                     if(debugging){
                                         log('[DEBUG] '+'[Status_Sync] ' +'Ziel_Status war bereits auf 0. Magnetventil wurde ausgeschaltet.'); 
                                     }   
                                 }
                          
                             }
                          }
                          
                          function func_countdown(){
                             var Status = getState(id_Status).val;
                             var Soll = Number(getState(id_Soll).val);
                             var Ist = Soll;
                             //ontime 5 Sekunden kürzer
                             var ontime = Soll - 10;
                             setState(id_Ist,Ist);
                          
                             if(set_on_time){
                                 setState(id_Magnetventil_on_time,ontime);
                             }
                             setStateDelayed(id_Ziel_Status,1,500);
                             
                             if(logging){
                                 log('[countdown] ' +'Timer für Magnetventil wird gestartet für ' +Soll +' Sekunden.');
                             }
                             
                             if(timer){ 
                                 clearInterval(timer); // Stopp Timer
                                 timer = null;
                                 if(logging){
                                     log('[countdown] ' +'Es besteht schon ein Timer für das Magnetventil. Ggf prüfen');
                                 }
                             }
                          
                             if(Soll !== 0){
                                 timer = setInterval(function() {
                                     Ist--;
                                     //if(debugging){
                                     //    log('Countdown bei ' +Ist +' Sekunden');
                                     //}    
                                     setState(id_Ist,Ist);
                                     if(Ist <= 0) {
                                         log('[Status_Sync] ' +'Timer für Magnetventil abgelaufen');
                                         clearInterval(timer);
                                         timer = null;
                                         setState(id_Soll, 0, true);
                                         setState(id_Ist, 0, true);
                                         if(set_on_time){
                                             setState(id_Magnetventil_on_time,0);
                                         }
                                         if(getState(id_Magnetventil).val){
                                             if(logging){
                                                 log('[countdown] ' +'Magnetventil war noch nicht ausgeschaltet und wird nun ausgeschaltet');
                                             }
                                             setState(id_Magnetventil,false,true);
                                             //Push verschicken
                                             if(sendpush){
                                                 if(set_on_time){
                                                     _message = 'Magnetventil war nicht geschlossen. on_Befehl hat nicht funktioniert';
                                                 }
                                                 else{
                                                     _message = 'Magnetventil wurde ausgeschaltetn.';    
                                                 }
                                                 send_pushover(_device, _message, _titel, _prio);
                                             } 
                                         }
                                         else{
                                             if(debugging){
                                                 log('[countdown] ' +'Magnetventil war bereits ausgeschaltet');
                                             }
                                         }
                                     }   
                                 }, 1000);
                             }
                             else{
                                 if(debugging){
                                     log('[countdown] ' +'Soll ist gleich 0');
                                 }
                             }
                          } 
                          
                          
                          //beim Start
                          //func_countdown();
                          
                          on({id: id_Soll, valGt: 0 ,change: "ne"}, func_countdown);
                          on({id: id_Ziel_Status, change: "ne"}, func_Ziel_Status);
                          on({id: id_Magnetventil, change: "ne"}, func_Status_Syncroniserung);
                          

                          M 1 Antwort Letzte Antwort
                          0
                          • cashC cash

                            Hier eine kleine Änderung. Die ist aber nicht fürs ausschalten zuständig...

                            Wie schaltet man dein Magnetventil aus? mit true und false oder 0 und 1?

                            Gggf. auch mal Debug auf true stellen. Dann sollte im Log ein paar mehr Infos kommen damit man genauer sieht was ioBroker da so treibt...

                            
                            /**************************
                            * Script Gartenbewässerung per Homekit schalten incl Timer
                            *
                            * 08.06.19 V1.00    Erste Version
                            * 09.06.19 V1.01    Stoppuhr eingebaut wenn kein Countdown gestartet wurde
                            * 10.06.19 V1.02    Logging optimiert und Variablen zum einfachen steuern eingebaut
                            * 11.06.19 V1.03    Logging präzisiert
                            *                   kleinere Syntaxfehler behoben
                            *                   set_on_time hinzugefügt um Funktion zu deaktivieren
                            * 13.06.19 V1.04    Logging reduziert
                            * 18.06.19 V1.05    Stoppuhr Dauer geändert auf 1200 Sekunden // Pushover alle 5 Minunten für 40 Minuten. Somit erfolgt max eine Stunde lange eine Errinnerung
                            * 23.06.19 V1.06    Beim Datenpunkt on_time eine Abfrage auf set_on_time vergessen
                            *
                            * der Ziel Status wird durch Homekit geändert
                            * func_Status_Syncronisierung synronisiert den realen Status 
                            * vom Magnetventil mit den beiden Pseudo Stati von Homekit
                            * 0 = Bewässerung ist aus
                            * 1 = Bewässerung ist eingeschaltet
                            * wichtig der Ziel Status wird durch Homekit ohne ack:true geändert
                            **************************/
                            
                            const logging = true;
                            const debugging = false;
                            
                            const Stoppuhr_Dauer = 1200;       //Dauer in Sekunden wie lange die Stopuhr läuft max. 3600
                            const Stoppuhr_Wasser_off = false;  //Schaltet das Magnetventil nach Ablauf der Stoppuhr automatisch aus
                            const set_on_time = true;           //Wenn ein Countdown gesetzt wird wird die Dauer direkt im Gerät gesetzt
                            
                            //Variablen für Pushover
                            const sendpush = true;     //true = verschickt per Pushover Nachrchten // false = Pushover wird nicht benutzt
                            const pushover_Instanz0 =  'pushover.0';     // Pushover instance für Pio = 0
                            const pushover_Instanz1 =  'pushover.1';     // Pushover instance für Pio = 1
                            const pushover_Instanz2 =  'pushover.2';     // Pushover instance für Pio = 2
                            const pushover_Instanz3 =  'pushover.3';     // Pushover instance für Pio = -1 oder -2
                            let _prio = 1;
                            let _titel = 'Bewässerung';
                            let _message;
                            let _device = 'TPhone'; 
                            //var device = 'All'; 
                            
                            const id_Status = 'Systemvariable.0.Terrasse.Bewässerung.Magnetventil.Status_Homekit'/*Status Homekit*/;
                            const id_Ziel_Status = 'Systemvariable.0.Terrasse.Bewässerung.Magnetventil.Ziel_Status_Homekit'/*Ziel Status Homekit*/;
                            const id_Ist = 'Systemvariable.0.Terrasse.Bewässerung.Magnetventil.Timer_Ist_Homekit'/*Timer Ist Homekit*/;
                            const id_Soll = 'Systemvariable.0.Terrasse.Bewässerung.Magnetventil.Timer_Soll_Homekit'/*Timer Soll Homekit*/;
                            const id_Magnetventil = 'hm-rpc.0.LEQ1316331.1.STATE'/*Terrasse Bewässerung:1 STATE*/;
                            const id_Magnetventil_on_time = 'hm-rpc.0.LEQ1316331.1.ON_TIME'/*Terrasse Bewässerung:1 ON TIME*/;
                            //const id_Magnetventil = 'hm-rpc.0.LEQ0929723.1.STATE'/*Wohnzimmer GSV-Licht:1 STATE*/;
                            //const id_Magnetventil_on_time = 'hm-rpc.0.LEQ0929723.1.ON_TIME'/*Wohnzimmer GSV-Licht:1 ON TIME*/;
                            
                            let timer = null;
                            
                            function send_pushover (_device, _message, _titel, _prio) {
                               // Version 4.00 vom 15.01.19
                               var pushover_Instanz =  'pushover.0';
                               if (_prio === 0){pushover_Instanz =  'pushover.0'}
                               else if (_prio == 1){pushover_Instanz =  'pushover.1'}
                               else if (_prio == 2){pushover_Instanz =  'pushover.2'}
                               else {pushover_Instanz =  'pushover.3'}
                                   sendTo(pushover_Instanz, { 
                                   device: _device,
                                   message: _message, 
                                   title: _titel, 
                                   priority: _prio,
                                   retry: 300,
                                   expire: 2400,
                                   html: 1
                               }); 
                            }
                            
                            function func_Ziel_Status(){
                               var Ziel_Status =  getState(id_Ziel_Status).val;
                               var Status = getState(id_Status).val;
                               var Soll = Number(getState(id_Soll).val);
                               var Ist = Soll;
                               var Ist_real = getState(id_Ist).val;
                            
                               
                               //Magnetventil soll geschlossen werden
                               if(Ziel_Status === 0){
                                   if(timer){ 
                                       clearInterval(timer); // Stopp Timer
                                       timer = null;
                                       if(debugging){
                                           log('[DEBUG] '+'[Ziel_Status] ' +'Es läuft ein Timer. Magnetventil soll per Homekit ausgeschaltet werden');
                                       }
                                   }
                                   if(Ist_real !== 0){
                                       if(debugging){
                                           log('[DEBUG] '+'[Ziel_Status] ' +'id_Ist ist nicht null und wird auf 0 gesetzt.');
                                       }
                                       setState(id_Ist,0,true);
                                   }
                                   if(Soll !== 0){
                                       if(debugging){
                                           log('[DEBUG] '+'[Ziel_Status] ' +'id_Soll ist nicht null und wird auf 0 gesetzt.');
                                       }
                                       setState(id_Soll,0,true);
                                   }
                                   if(Status == 1){
                                       if(logging){
                                           log('Magnetventil soll per Homekit geschlossen werden.');
                                       }
                                       setStateDelayed(id_Magnetventil,false,500);
                                       setState(id_Status,0);
                                   }
                                   else{
                                       if(debugging){
                                           log('[DEBUG] '+'[Ziel_Status] ' +'Magnetventil wurde nicht über Homekit bedient (geschlossen)');
                                       }
                                   }
                            
                               }
                               //Magnetventil soll geöffnet werden werden
                               else if(Ziel_Status === 1){
                                   if(Status === 0){
                                       if(logging){
                                           log('Magnetventil soll per Homekit geöffnet werden.');
                                       }
                                       setStateDelayed(id_Magnetventil,true,1000);
                                       setState(id_Status,1);
                            
                                       if(Soll === 0){
                                           log('Es wurde kein Countdown gestartet. Starte Stopuhr.');
                                           if(timer){ 
                                               clearInterval(timer); // Stopp Timer
                                               timer = null;
                                               if(debugging){
                                                   log('[DEBUG] '+'[Ziel_Status] ' +'Stoppuhr soll gestartet werden. Es existiert ein Timer. Der Timer wird abgebrochen.');
                                               }
                                           }
                                           timer = setInterval(function() {
                                               Ist++;
                                               //if(debugging){
                                               //    log('Countdown bei ' +Ist +' Sekunden');
                                               //}    
                                               setState(id_Ist,Ist);
                                               if(Ist >= Stoppuhr_Dauer) {
                                                   if(debugging){
                                                       log('[DEBUG] '+'[Ziel_Status] ' +'Stoppuhr für Magnetventil abgelaufen.');
                                                   }
                                                   clearInterval(timer);
                                                   timer = null;
                                                   setState(id_Ist, 0, true);
                                           
                                           
                                                   if(getState(id_Magnetventil).val){
                                                       if(logging){
                                                           log('Stoppuhr abgelaufen. Magnetventil ist offen. Evtl vergessen');
                                                       }
                                                       if(Stoppuhr_Wasser_off){
                                                           if(logging){
                                                               log('Magnetventil soll automatisch ausschalten.');
                                                           }
                                                           setState(id_Magnetventil,false,true);
                                                       }
                                                       //Push verschicken
                                                       if(sendpush){
                                                           _prio = 2;
                                                           _message = 'Magnetventil ist immer noch offen. Vergessen?';
                                                           send_pushover(_device, _message, _titel, _prio);
                                                       } 
                                                   }
                                                   else{
                                                       if(debugging){
                                                           log('[DEBUG] '+'[Ziel_Status] ' +'Stopuhr abgelaufen Magnetventil war bereits ausgeschaltet');
                                                       }
                                                   }
                                               }   
                                           }, 1000);
                                       }
                                   }
                                   else{
                                       if(debugging){
                                           log('[DEBUG] '+'[Ziel_Status] ' +'Magnetventil wurde nicht über Homekit bedient (angeschaltet)');
                                       }
                                   }
                            
                               }
                               else{
                                   if(debugging){
                                       log('[DEBUG] '+'[Ziel_Status] ' +'Fehler der Zielstatus ist ungleich 0 oder 1. Das darf eigentlich nicht passieren');
                                   }
                               }
                            }
                            
                            function func_Status_Syncroniserung(){
                               var Status = getState(id_Status).val;
                               var Ziel_Status = getState(id_Ziel_Status).val;
                               var Magnetventil = getState(id_Magnetventil).val;
                            
                               if(Magnetventil){
                                   if(Status === 0){
                                       setState(id_Status,1);
                                       if(debugging){
                                           log('[DEBUG] '+'[Status_Sync] ' +'Status war 0 wird auf 1 gesetzt, da das Magnetventil an ist');
                                       }
                                       
                                   }
                                   else{
                                       if(debugging){
                                           log('[DEBUG] '+'[Status_Sync] ' +'Status war bereits auf 1. Magnetventil ist an');
                                       } 
                                   }
                                   if(Ziel_Status === 0){
                                       setState(id_Ziel_Status,1);
                                       if(debugging){
                                           log('[DEBUG] '+'[Status_Sync] ' +'Magnetventil wurde nicht über Homekit eingeschaltet. Ziel_Status wird von 0 auf 1 geändert');
                                       }
                                   }
                                   else{
                                       if(debugging){
                                           log('[DEBUG] '+'[Status_Sync] ' +'Ziel_Status war bereits auf true. Magnetventil wurde eingeschaltet'); 
                                       }
                                   }
                               }
                               else{
                                   if(Status == 1){
                                       setState(id_Status,0);
                                       if(debugging){
                                           log('[DEBUG] '+'[Status_Sync] ' +'Status war 1 und wird auf 0 geändert weil das Magnetventil aus ist');
                                       }
                                       
                                   }
                                   else{
                                       if(debugging){
                                           log('[DEBUG] '+'[Status_Sync] ' +'Status war bereits auf 0 nachdem das Magnetnvetil ausgeschaltet wurde'); 
                                       }
                                   }
                                   if(Ziel_Status == 1){
                                       setState(id_Ziel_Status,0);
                                       if(debugging){
                                           log('[DEBUG] '+'[Status_Sync] ' +'Magnetventil wurde nicht über Homekit ausgeschaltet. Ziel_Status wird von 1 auf 0 geändert');
                                       }
                                   }
                                   else{
                                       if(debugging){
                                           log('[DEBUG] '+'[Status_Sync] ' +'Ziel_Status war bereits auf 0. Magnetventil wurde ausgeschaltet.'); 
                                       }   
                                   }
                            
                               }
                            }
                            
                            function func_countdown(){
                               var Status = getState(id_Status).val;
                               var Soll = Number(getState(id_Soll).val);
                               var Ist = Soll;
                               //ontime 5 Sekunden kürzer
                               var ontime = Soll - 10;
                               setState(id_Ist,Ist);
                            
                               if(set_on_time){
                                   setState(id_Magnetventil_on_time,ontime);
                               }
                               setStateDelayed(id_Ziel_Status,1,500);
                               
                               if(logging){
                                   log('[countdown] ' +'Timer für Magnetventil wird gestartet für ' +Soll +' Sekunden.');
                               }
                               
                               if(timer){ 
                                   clearInterval(timer); // Stopp Timer
                                   timer = null;
                                   if(logging){
                                       log('[countdown] ' +'Es besteht schon ein Timer für das Magnetventil. Ggf prüfen');
                                   }
                               }
                            
                               if(Soll !== 0){
                                   timer = setInterval(function() {
                                       Ist--;
                                       //if(debugging){
                                       //    log('Countdown bei ' +Ist +' Sekunden');
                                       //}    
                                       setState(id_Ist,Ist);
                                       if(Ist <= 0) {
                                           log('[Status_Sync] ' +'Timer für Magnetventil abgelaufen');
                                           clearInterval(timer);
                                           timer = null;
                                           setState(id_Soll, 0, true);
                                           setState(id_Ist, 0, true);
                                           if(set_on_time){
                                               setState(id_Magnetventil_on_time,0);
                                           }
                                           if(getState(id_Magnetventil).val){
                                               if(logging){
                                                   log('[countdown] ' +'Magnetventil war noch nicht ausgeschaltet und wird nun ausgeschaltet');
                                               }
                                               setState(id_Magnetventil,false,true);
                                               //Push verschicken
                                               if(sendpush){
                                                   if(set_on_time){
                                                       _message = 'Magnetventil war nicht geschlossen. on_Befehl hat nicht funktioniert';
                                                   }
                                                   else{
                                                       _message = 'Magnetventil wurde ausgeschaltetn.';    
                                                   }
                                                   send_pushover(_device, _message, _titel, _prio);
                                               } 
                                           }
                                           else{
                                               if(debugging){
                                                   log('[countdown] ' +'Magnetventil war bereits ausgeschaltet');
                                               }
                                           }
                                       }   
                                   }, 1000);
                               }
                               else{
                                   if(debugging){
                                       log('[countdown] ' +'Soll ist gleich 0');
                                   }
                               }
                            } 
                            
                            
                            //beim Start
                            //func_countdown();
                            
                            on({id: id_Soll, valGt: 0 ,change: "ne"}, func_countdown);
                            on({id: id_Ziel_Status, change: "ne"}, func_Ziel_Status);
                            on({id: id_Magnetventil, change: "ne"}, func_Status_Syncroniserung);
                            

                            M Offline
                            M Offline
                            Marsel
                            schrieb am zuletzt editiert von
                            #50

                            @cash Das neue Script baue ich morgen ein und dann schau ich mal was im Debug Modus steht.

                            Wenn ich den direkt in den Sonoff Objekten schalten möchte muss ich true und false eingeben. Und für deine Ventile wird 0 und 1 verwendet wie ich sehe. Kann ich das im Script ändern oder ist es besser ein Brücke zu bauen die den Befehl umformt?

                            1 Antwort Letzte Antwort
                            0
                            • cashC Offline
                              cashC Offline
                              cash
                              Most Active
                              schrieb am zuletzt editiert von
                              #51

                              Nein bei mir wird auch mit true und false geschaltet. Nur die angelegten Homekit Stati werden mit 0 und 1 geschaltet weil Homekit das so nutzt...

                              Schade ich hatte gehofft das es daran liegt das er nicht schaltet. Dann warten wir mal was im log steht. Denn ich kann es mir erstmal nicht erklären warum es nicht geht. Vielleicht lag es auch an den on_time Befehl und den warnings im Log...

                              M 1 Antwort Letzte Antwort
                              0
                              • cashC cash

                                Nein bei mir wird auch mit true und false geschaltet. Nur die angelegten Homekit Stati werden mit 0 und 1 geschaltet weil Homekit das so nutzt...

                                Schade ich hatte gehofft das es daran liegt das er nicht schaltet. Dann warten wir mal was im log steht. Denn ich kann es mir erstmal nicht erklären warum es nicht geht. Vielleicht lag es auch an den on_time Befehl und den warnings im Log...

                                M Offline
                                M Offline
                                Marsel
                                schrieb am zuletzt editiert von
                                #52

                                @cash Das wäre zu schön gewesen, wenn es das gewesen wäre.

                                Wenn ich per Hand in Homekit den Sprenger ein und ausschelte. Das
                                funktioniert auch Ordnungsgemäß.

                                2019-06-24 20:03:53.206 - info: javascript.0 script.js.Wassersprenger-skript: Magnetventil soll per Homekit geöffnet werden.
                                2019-06-24 20:03:53.207 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.STATUS, state=1) - was not executed, while debug mode is active
                                2019-06-24 20:03:53.207 - info: javascript.0 script.js.Wassersprenger-skript: Es wurde kein Countdown gestartet. Starte Stopuhr.
                                2019-06-24 20:03:54.207 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=sonoff.0.Küchenzeile.POWER, state={"val":true,"ack":false}) - was not executed, while debug mode is active
                                2019-06-24 20:03:54.209 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=1) - was not executed, while debug mode is active
                                2019-06-24 20:03:55.210 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=2) - was not executed, while debug mode is active
                                2019-06-24 20:03:56.211 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=3) - was not executed, while debug mode is active

                                Wenn ich per Hand ohne Aktivzeit einzuschalten starte und die Stoppuhr auf 5 sek stelle. Funktionier nur das einschalten aber er schaltet nicht ab. In Homekit versucht er abzuschalten aber das gerät macht es nicht.
                                2019-06-24 20:06:59.063 - info: javascript.0 script.js.Wassersprenger-skript: Magnetventil soll per Homekit geöffnet werden.
                                2019-06-24 20:06:59.064 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.STATUS, state=1) - was not executed, while debug mode is active
                                2019-06-24 20:06:59.064 - info: javascript.0 script.js.Wassersprenger-skript: Es wurde kein Countdown gestartet. Starte Stopuhr.
                                2019-06-24 20:07:00.065 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=sonoff.0.Küchenzeile.POWER, state={"val":true,"ack":false}) - was not executed, while debug mode is active
                                2019-06-24 20:07:00.066 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=1) - was not executed, while debug mode is active
                                2019-06-24 20:07:01.067 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=2) - was not executed, while debug mode is active
                                2019-06-24 20:07:02.068 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=3) - was not executed, while debug mode is active
                                2019-06-24 20:07:03.069 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=4) - was not executed, while debug mode is active
                                2019-06-24 20:07:04.070 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=5) - was not executed, while debug mode is active
                                2019-06-24 20:07:04.071 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state={"val":0,"ack":true}) - was not executed, while debug mode is active

                                Wenn ich per Hand mit 1 min Aktivzeit starte. Geht auch wieder an aber nach 1 min nicht mehr aus.
                                undefined2019-06-24 20:10:19.656 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=60) - was not executed, while debug mode is active
                                2019-06-24 20:10:19.657 - info: javascript.0 script.js.Wassersprenger-skript: [countdown] Timer für Magnetventil wird gestartet für 60 Sekunden.
                                2019-06-24 20:10:19.745 - info: javascript.0 script.js.Wassersprenger-skript: Magnetventil soll per Homekit geöffnet werden.
                                2019-06-24 20:10:19.746 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.STATUS, state=1) - was not executed, while debug mode is active
                                2019-06-24 20:10:20.158 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.ZIEL_STATUS, state={"val":1,"ack":false}) - was not executed, while debug mode is active
                                2019-06-24 20:10:20.658 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=59) - was not executed, while debug mode is active
                                2019-06-24 20:10:20.746 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=sonoff.0.Küchenzeile.POWER, state={"val":true,"ack":false}) - was not executed, while debug mode is active
                                2019-06-24 20:10:21.658 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=58) - was not executed, while debug mode is active
                                2019-06-24 20:10:22.659 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=57) - was not executed, while debug mode is active
                                2019-06-24 20:10:23.659 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=56) - was not executed, while debug mode is active
                                2019-06-24 20:10:24.659 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=55) - was not executed, while debug mode is active
                                .
                                .
                                .
                                .
                                2019-06-24 20:11:14.684 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=5) - was not executed, while debug mode is active
                                2019-06-24 20:11:15.684 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=4) - was not executed, while debug mode is active
                                2019-06-24 20:11:16.686 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=3) - was not executed, while debug mode is active
                                2019-06-24 20:11:17.687 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=2) - was not executed, while debug mode is active
                                2019-06-24 20:11:18.688 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=1) - was not executed, while debug mode is active
                                2019-06-24 20:11:19.688 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=0) - was not executed, while debug mode is active
                                2019-06-24 20:11:19.689 - info: javascript.0 script.js.Wassersprenger-skript: [Status_Sync] Timer für Magnetventil abgelaufen
                                2019-06-24 20:11:19.690 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.SOLL, state={"val":0,"ack":true}) - was not executed, while debug mode is active
                                2019-06-24 20:11:19.690 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state={"val":0,"ack":true}) - was not executed, while debug mode is active
                                2019-06-24 20:11:40.572 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.SOLL, state={"val":0,"ack":true}) - was not executed, while debug mode is active

                                Was mir aufgefallen ist, wenn ich einschalte steht im LOG:
                                setForeignState(id=sonoff.0.Küchenzeile.POWER, state={"val":true,"ack":false})
                                und wenn ich ausschalte:
                                setForeignState(id=javascript.0.Bewässerung.SOLL, state={"val":0,"ack":true})

                                Bei "val" steht beim einschalten true und beim ausschalten 0. Das könnte das Problem sein oder?

                                cashC 1 Antwort Letzte Antwort
                                0
                                • cashC Offline
                                  cashC Offline
                                  cash
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #53

                                  Ähm. Was sind denn das für komische Fehler? Wo hast Du den Debug Mode aktiviert? Ich wollte nur das Du im Script oben bei debug = true machst :-))

                                  Falls ich gleich noch am Rechner gehe gucke ich mir Dein Post nochmal genauer an. Ist am Smartphone etwas viel :-)

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Marsel

                                    @cash Das wäre zu schön gewesen, wenn es das gewesen wäre.

                                    Wenn ich per Hand in Homekit den Sprenger ein und ausschelte. Das
                                    funktioniert auch Ordnungsgemäß.

                                    2019-06-24 20:03:53.206 - info: javascript.0 script.js.Wassersprenger-skript: Magnetventil soll per Homekit geöffnet werden.
                                    2019-06-24 20:03:53.207 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.STATUS, state=1) - was not executed, while debug mode is active
                                    2019-06-24 20:03:53.207 - info: javascript.0 script.js.Wassersprenger-skript: Es wurde kein Countdown gestartet. Starte Stopuhr.
                                    2019-06-24 20:03:54.207 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=sonoff.0.Küchenzeile.POWER, state={"val":true,"ack":false}) - was not executed, while debug mode is active
                                    2019-06-24 20:03:54.209 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=1) - was not executed, while debug mode is active
                                    2019-06-24 20:03:55.210 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=2) - was not executed, while debug mode is active
                                    2019-06-24 20:03:56.211 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=3) - was not executed, while debug mode is active

                                    Wenn ich per Hand ohne Aktivzeit einzuschalten starte und die Stoppuhr auf 5 sek stelle. Funktionier nur das einschalten aber er schaltet nicht ab. In Homekit versucht er abzuschalten aber das gerät macht es nicht.
                                    2019-06-24 20:06:59.063 - info: javascript.0 script.js.Wassersprenger-skript: Magnetventil soll per Homekit geöffnet werden.
                                    2019-06-24 20:06:59.064 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.STATUS, state=1) - was not executed, while debug mode is active
                                    2019-06-24 20:06:59.064 - info: javascript.0 script.js.Wassersprenger-skript: Es wurde kein Countdown gestartet. Starte Stopuhr.
                                    2019-06-24 20:07:00.065 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=sonoff.0.Küchenzeile.POWER, state={"val":true,"ack":false}) - was not executed, while debug mode is active
                                    2019-06-24 20:07:00.066 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=1) - was not executed, while debug mode is active
                                    2019-06-24 20:07:01.067 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=2) - was not executed, while debug mode is active
                                    2019-06-24 20:07:02.068 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=3) - was not executed, while debug mode is active
                                    2019-06-24 20:07:03.069 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=4) - was not executed, while debug mode is active
                                    2019-06-24 20:07:04.070 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=5) - was not executed, while debug mode is active
                                    2019-06-24 20:07:04.071 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state={"val":0,"ack":true}) - was not executed, while debug mode is active

                                    Wenn ich per Hand mit 1 min Aktivzeit starte. Geht auch wieder an aber nach 1 min nicht mehr aus.
                                    undefined2019-06-24 20:10:19.656 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=60) - was not executed, while debug mode is active
                                    2019-06-24 20:10:19.657 - info: javascript.0 script.js.Wassersprenger-skript: [countdown] Timer für Magnetventil wird gestartet für 60 Sekunden.
                                    2019-06-24 20:10:19.745 - info: javascript.0 script.js.Wassersprenger-skript: Magnetventil soll per Homekit geöffnet werden.
                                    2019-06-24 20:10:19.746 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.STATUS, state=1) - was not executed, while debug mode is active
                                    2019-06-24 20:10:20.158 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.ZIEL_STATUS, state={"val":1,"ack":false}) - was not executed, while debug mode is active
                                    2019-06-24 20:10:20.658 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=59) - was not executed, while debug mode is active
                                    2019-06-24 20:10:20.746 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=sonoff.0.Küchenzeile.POWER, state={"val":true,"ack":false}) - was not executed, while debug mode is active
                                    2019-06-24 20:10:21.658 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=58) - was not executed, while debug mode is active
                                    2019-06-24 20:10:22.659 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=57) - was not executed, while debug mode is active
                                    2019-06-24 20:10:23.659 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=56) - was not executed, while debug mode is active
                                    2019-06-24 20:10:24.659 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=55) - was not executed, while debug mode is active
                                    .
                                    .
                                    .
                                    .
                                    2019-06-24 20:11:14.684 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=5) - was not executed, while debug mode is active
                                    2019-06-24 20:11:15.684 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=4) - was not executed, while debug mode is active
                                    2019-06-24 20:11:16.686 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=3) - was not executed, while debug mode is active
                                    2019-06-24 20:11:17.687 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=2) - was not executed, while debug mode is active
                                    2019-06-24 20:11:18.688 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=1) - was not executed, while debug mode is active
                                    2019-06-24 20:11:19.688 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state=0) - was not executed, while debug mode is active
                                    2019-06-24 20:11:19.689 - info: javascript.0 script.js.Wassersprenger-skript: [Status_Sync] Timer für Magnetventil abgelaufen
                                    2019-06-24 20:11:19.690 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.SOLL, state={"val":0,"ack":true}) - was not executed, while debug mode is active
                                    2019-06-24 20:11:19.690 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.IST, state={"val":0,"ack":true}) - was not executed, while debug mode is active
                                    2019-06-24 20:11:40.572 - warn: javascript.0 script.js.Wassersprenger-skript: setForeignState(id=javascript.0.Bewässerung.SOLL, state={"val":0,"ack":true}) - was not executed, while debug mode is active

                                    Was mir aufgefallen ist, wenn ich einschalte steht im LOG:
                                    setForeignState(id=sonoff.0.Küchenzeile.POWER, state={"val":true,"ack":false})
                                    und wenn ich ausschalte:
                                    setForeignState(id=javascript.0.Bewässerung.SOLL, state={"val":0,"ack":true})

                                    Bei "val" steht beim einschalten true und beim ausschalten 0. Das könnte das Problem sein oder?

                                    cashC Offline
                                    cashC Offline
                                    cash
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #54

                                    @Marsel Beim einschalten kommt korrekt sonof = true. Beim ausschalten wird nicht das Gerät geschaltet sondern der Soll Datenpunkt und der ist 0. Das passt also

                                    1 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      Marsel
                                      schrieb am zuletzt editiert von
                                      #55

                                      Ich habe ganz normal im Script oben Rechts bei Debug das häkchen gesetzt und bin dann in LOG gegangen und hab die Zeilen da raus kopiert. :neutral_face:
                                      Gibt es noch eine andere Möglichkeit den zu aktivieren?

                                      Okay hätte ja sein können. :confused:

                                      1 Antwort Letzte Antwort
                                      0
                                      • cashC Offline
                                        cashC Offline
                                        cash
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #56

                                        Zeile 24 auf true stellen.

                                        Ich vermute das er nicht synronisiert. Bitte mal folgendes testen:

                                        1. Gerät nicht über Homekit einschaltenschalten. Welche Werte haben danach die 4 manuell angelegten Datenpunkte?

                                        Wenn alles richtig ist sollten die Datenpunkte Status und Ziel_Status auf 1 stehen. Wenn Zeile 24 vorher auf true steht sollte es auch Einträge im log geben.

                                        1. Danach Gerät nicht über Homekit ausschalten. Welche Werte haben nun die 4 manuell angelegten Datenpunkte? Wenn alles richtig ist sollten die Datenpunkte Status und Ziel_Status auf 0 stehen. Wenn Zeile 24 vorher auf true steht sollte es auch Einträge im log geben.

                                        2. Danach Gerät über Homekit einschalten. Welche Werte haben nun die 4 manuell angelegten Datenpunkte? Wenn alles richtig ist sollten die Datenpunkte Status und Ziel_Status auf 1 stehen. Wenn Zeile 24 vorher auf true steht sollte es auch Einträge im log geben.

                                        3. Danach Gerät über Homekit ausschalten. Welche Werte haben nun die 4 manuell angelegten Datenpunkte? Wenn alles richtig ist sollten die Datenpunkte Status und Ziel_Status auf 0 stehen. Wenn Zeile 24 vorher auf true steht sollte es auch Einträge im log geben.

                                        4. Danach Gerät über Homekit einschalten mit Laufzeit von 5 Minuten. Welche Werte haben nun die 4 manuell angelegten Datenpunkte? Wenn alles richtig ist sollten die Datenpunkte Status und Ziel_Status auf 1 stehen. Das Datenfeld aus Zeile 45 Timer Soll Homekit sollte auf 300 stehen. Das Datenfeld aus Zeile 44 sollte runterzählne von 300 (Timer Ist Homekit) Wenn Zeile 24 vorher auf true steht sollte es auch Einträge im log geben.
                                          Nach 5 Minuten was steht im Log? Welche Werte haben nun die 4 manuell angelegten Datenpunkte.

                                        5. Danach Gerät über Homekit einschalten (vorher Zeile 26 auf 300 stellen). Welche Werte haben nun die 4 manuell angelegten Datenpunkte? Wenn alles richtig ist sollten die Datenpunkte Status und Ziel_Status auf 1 stehen. Das Datenfeld aus Zeile 45 Timer Soll Homekit sollte auf 0 stehen. Das Datenfeld aus Zeile 44 sollte hochzählen auf 300 (Timer Ist Homekit) Wenn Zeile 24 vorher auf true steht sollte es auch Einträge im log geben.
                                          Nach 5 Minuten was steht im Log? Welche Werte haben nun die 4 manuell angelegten Datenpunkte.

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • P Offline
                                          P Offline
                                          peer69
                                          Forum Testing
                                          schrieb am zuletzt editiert von
                                          #57

                                          @cash Vielen Dank für die Arbeit, bei mir funktionierts sehr gut.
                                          Eine Frage allerdings: Warum kürzt Du die ON_TIME für dem HM-Aktor um 10 Sekunden? Gibts da irgendeine Abhängigkeit? Ich war kurz verwirrt, als schon 10 Sekunden früher plötzlich alles aus ging.

                                          cashC 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          811

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          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