Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Marsel

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 13
    • Best 0
    • Groups 1

    Marsel

    @Marsel

    Starter

    0
    Reputation
    7
    Profile views
    13
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Marsel Follow
    Starter

    Latest posts made by Marsel

    • RE: Yahka Sprinkler mit Zeitsteuerung

      @cash Du bist mein Held!!! Ich habe es grade ausprobiert und jetzt Funktioniert alles ohne Problem! 🤣 Ich Danke dir, das ist echt Cool!!!

      posted in ioBroker Allgemein
      M
      Marsel
    • RE: Yahka Sprinkler mit Zeitsteuerung

      @cash Ich werde aus der Sache nicht schlau. Hoffe du kannst mir da noch helfen.

      Zeile 24 ist auf true.

      Ist=0
      Soll=0
      Status=1
      Ziel_Status=1

      LOG:
      2019-06-25 11:37:52.748 info script.js.Wassersprenger-skript: [DEBUG] [Ziel_Status] Magnetventil wurde nicht über Homekit bedient (angeschaltet)
      2019-06-25 11:37:52.741 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Magnetventil wurde nicht über Homekit eingeschaltet. Ziel_Status wird von 0 auf 1 geändert
      2019-06-25 11:37:52.740 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Status war 0 wird auf 1 gesetzt, da das Magnetventil an ist

      Ist=0
      Soll=0
      Status=0
      Ziel_Status=0

      LOG:
      2019-06-25 11:40:30.613 info script.js.Wassersprenger-skript: [DEBUG] [Ziel_Status] Magnetventil wurde nicht über Homekit bedient (geschlossen)
      2019-06-25 11:40:30.613 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Magnetventil wurde nicht über Homekit ausgeschaltet. Ziel_Status wird von 1 auf 0 geändert
      2019-06-25 11:40:30.610 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Status war 1 und wird auf 0 geändert weil das Magnetventil aus ist

      Ist=Zählt hoch
      Soll=0
      Status=1
      Ziel_Status=1

      LOG:
      2019-06-25 11:46:06.147 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Ziel_Status war bereits auf true. Magnetventil wurde eingeschaltet
      2019-06-25 11:46:06.146 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Status war bereits auf 1. Magnetventil ist an
      2019-06-25 11:46:05.142 info script.js.Wassersprenger-skript: Es wurde kein Countdown gestartet. Starte Stopuhr.
      2019-06-25 11:46:05.141 info script.js.Wassersprenger-skript: Magnetventil soll per Homekit geöffnet werden.

      Ist=0
      Soll=0
      Status=0
      Ziel_Status=0

      LOG:
      2019-06-25 11:48:42.303 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Ziel_Status war bereits auf 0. Magnetventil wurde ausgeschaltet.
      2019-06-25 11:48:42.303 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Status war bereits auf 0 nachdem das Magnetnvetil ausgeschaltet wurde
      2019-06-25 11:48:41.819 info script.js.Wassersprenger-skript: Magnetventil soll per Homekit geschlossen werden.
      2019-06-25 11:48:41.819 info script.js.Wassersprenger-skript: [DEBUG] [Ziel_Status] id_Ist ist nicht null und wird auf 0 gesetzt.
      2019-06-25 11:48:41.818 info script.js.Wassersprenger-skript: [DEBUG] [Ziel_Status] Es läuft ein Timer. Magnetventil soll per Homekit ausgeschaltet werden

      1. Beim Einschalten
        Ist=Zählt Runter
        Soll=300
        Status=1
        Ziel_Status=1

      LOG:
      2019-06-25 11:51:58.084 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Ziel_Status war bereits auf true. Magnetventil wurde eingeschaltet
      2019-06-25 11:51:58.083 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Status war bereits auf 1. Magnetventil ist an
      2019-06-25 11:51:57.050 info script.js.Wassersprenger-skript: Magnetventil soll per Homekit geöffnet werden.
      2019-06-25 11:51:56.542 info script.js.Wassersprenger-skript: [countdown] Timer für Magnetventil wird gestartet für 300 Sekunden.

      1. Wenn der Timer ende ist
        Ist=0
        Soll=0
        Status=0 und nach ca. 5 sek steht wieder ein 1 da
        Ziel_Status=0 und nach ca. 5 sek steht wieder ein 1 da

      LOG:
      2019-06-25 11:57:34.967 info script.js.Wassersprenger-skript: [DEBUG] [Ziel_Status] Magnetventil wurde nicht über Homekit bedient (angeschaltet)
      2019-06-25 11:57:34.945 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Magnetventil wurde nicht über Homekit eingeschaltet. Ziel_Status wird von 0 auf 1 geändert
      2019-06-25 11:57:34.943 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Status war 0 wird auf 1 gesetzt, da das Magnetventil an ist
      2019-06-25 11:56:56.733 info script.js.Wassersprenger-skript: [DEBUG] [Ziel_Status] Magnetventil wurde nicht über Homekit bedient (geschlossen)
      2019-06-25 11:56:56.733 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Magnetventil wurde nicht über Homekit ausgeschaltet. Ziel_Status wird von 1 auf 0 geändert
      2019-06-25 11:56:56.732 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Status war 1 und wird auf 0 geändert weil das Magnetventil aus ist
      2019-06-25 11:56:56.709 info script.js.Wassersprenger-skript: [countdown] Magnetventil war noch nicht ausgeschaltet und wird nun ausgeschaltet
      2019-06-25 11:56:56.709 info script.js.Wassersprenger-skript: [Status_Sync] Timer für Magnetventil abgelaufen

      1. Beim Einschalten
        Ist=Zählt Hoch
        Soll=0
        Status=1
        Ziel_Status=1

      LOG:
      2019-06-25 12:00:28.678 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Ziel_Status war bereits auf true. Magnetventil wurde eingeschaltet
      2019-06-25 12:00:28.677 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Status war bereits auf 1. Magnetventil ist an
      2019-06-25 12:00:27.649 info script.js.Wassersprenger-skript: Es wurde kein Countdown gestartet. Starte Stopuhr.
      2019-06-25 12:00:27.647 info script.js.Wassersprenger-skript: Magnetventil soll per Homekit geöffnet werden.

      1. Nach der Automatischen Abschaltung
        Ist=0
        Soll=0
        Status=0 und nach ca. 5 sek steht wieder ein 1 da
        Ziel_Status=0 und nach ca. 5 sek steht wieder ein 1 da

      LOG:
      2019-06-25 12:05:34.964 info script.js.Wassersprenger-skript: [DEBUG] [Ziel_Status] Magnetventil wurde nicht über Homekit bedient (angeschaltet)
      2019-06-25 12:05:34.943 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Magnetventil wurde nicht über Homekit eingeschaltet. Ziel_Status wird von 0 auf 1 geändert
      2019-06-25 12:05:34.942 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Status war 0 wird auf 1 gesetzt, da das Magnetventil an ist
      2019-06-25 12:05:32.687 sonoff.0 info Client [Küche LED Stripe] connection closed: closed
      2019-06-25 12:05:27.850 info script.js.Wassersprenger-skript: [DEBUG] [Ziel_Status] Magnetventil wurde nicht über Homekit bedient (geschlossen)
      2019-06-25 12:05:27.844 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Magnetventil wurde nicht über Homekit ausgeschaltet. Ziel_Status wird von 1 auf 0 geändert
      2019-06-25 12:05:27.843 info script.js.Wassersprenger-skript: [DEBUG] [Status_Sync] Status war 1 und wird auf 0 geändert weil das Magnetventil aus ist
      2019-06-25 12:05:27.798 info script.js.Wassersprenger-skript: Magnetventil soll automatisch ausschalten.
      2019-06-25 12:05:27.798 info script.js.Wassersprenger-skript: Stoppuhr abgelaufen. Magnetventil ist offen. Evtl vergessen
      2019-06-25 12:05:27.797 info script.js.Wassersprenger-skript: [DEBUG] [Ziel_Status] Stoppuhr für Magnetventil abgelaufen.

      posted in ioBroker Allgemein
      M
      Marsel
    • RE: Yahka Sprinkler mit Zeitsteuerung

      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. 😐
      Gibt es noch eine andere Möglichkeit den zu aktivieren?

      Okay hätte ja sein können. 😕

      posted in ioBroker Allgemein
      M
      Marsel
    • RE: Yahka Sprinkler mit Zeitsteuerung

      @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?

      posted in ioBroker Allgemein
      M
      Marsel
    • RE: Yahka Sprinkler mit Zeitsteuerung

      @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?

      posted in ioBroker Allgemein
      M
      Marsel
    • RE: Yahka Sprinkler mit Zeitsteuerung

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

      posted in ioBroker Allgemein
      M
      Marsel
    • RE: Yahka Sprinkler mit Zeitsteuerung

      @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.

      posted in ioBroker Allgemein
      M
      Marsel
    • RE: Yahka Sprinkler mit Zeitsteuerung

      @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);
      

      posted in ioBroker Allgemein
      M
      Marsel
    • RE: Yahka Sprinkler mit Zeitsteuerung

      @cash Das hätte mir auch auffallen können 🙄 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

      posted in ioBroker Allgemein
      M
      Marsel
    • RE: Yahka Sprinkler mit Zeitsteuerung

      @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

      posted in ioBroker Allgemein
      M
      Marsel
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo