Ankündigung

Einklappen
Keine Ankündigung bisher.

Wiregate Zeitschaltuhr Script mittels GA unterbrechen

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] Wiregate Zeitschaltuhr Script mittels GA unterbrechen

    Hallo zusammen,

    ich nutze sehr erfolgreich das hier vor einiger Zeit vorgestellte Zeitschaltuhr Script für das Wiregate. An diesem hängt z.B. auch die Beregnung der Rasenflächen. Da bei den veränderten Witterunsbedingungen eine tägliche Beregnung nicht mehr notwendig ist, würde ich idealerweise eine Deaktivierung der Zeitsteuerung für den Eintrag der Bewässerung vornehmen wollen. Daher hier die Frage. Geht das? Welche Alternative (Software) gibt es dazu, ohne das ich eien Wetterstation oder Feuchtigkeitssensor im Boden benötige. Mir geht es explizit um eine Steuerung der Zeitschaltuhr mittels GA.

    Danke im Voraus und Grüße,
    Mike

    #2
    Hallo Mike,

    wer bedient denn diese GA (könnte man auch als "Sperr-Objekt" bezeichnen).

    Manuell in der Visu?

    lg

    Stefan

    Kommentar


      #3
      Hallo Stefan,

      so wäre der Plan. Es würde in der CV einen Button geben für die manuelle Steuerung = Unterbrechung der Zeitsteuerung oder Automatik = Steuer nach Zeitschaltuhr. Hatte auch schon an eine Logik gedacht. z.b. für die Automatik in der Form WENN Automatik GA=1 UND Automatik Button GA=1 dann erst finale Aktor GA. Aber das war bisher nur Theorie. Wollte erstmal hören ob es ggf. schon vorhandene Ansätze gibt, bevor das Rad neu erfunden wird.

      Grüße,
      Mike

      Kommentar


        #4
        Der Ansatz ist genau der richtige, insofern das Zeitschaltuhr-Plugin kein Sperr-Objekt vorsieht (kenne es nicht genau).

        Du könntest im passenden Thread bei emax nachfragen für ggfls. eine Ergänzung oder eben ein kleines Plugin mit der von Dir anskizzierten "und" Logik.

        lg

        Stefan

        Kommentar


          #5
          Zitat von StefanW Beitrag anzeigen
          Du könntest im passenden Thread bei emax nachfragen für ggfls. eine Ergänzung
          Hallo Stefan,
          danke für die schnelle Rückinfo. Der Thread ist leider schon zu. Da gibt es keine Möglichkeit mehr was nachzuhaken. Daher hier der neue Beitrag. Ich werde emax aber mal direkt anschreiben. Vielleicht hat er ja noch eine zündende Idee. Zum Plugin schreiben bin ich nicht geschaffen.. ;-) Eher der Theoretiker

          Danke & Grüße,
          Mike

          Kommentar


            #6
            Habs vernommen und werde mal ein paar Gedanken drauf verwenden.
            Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

            Kommentar


              #7
              So, ich habs einfach mal aus diversen Quellen von hier und aus meinem Rechner zusammen gestellt.

              Versuchs also mal hiermit, folgende Funktion in die emx_uhr.conf schreiben:

              Code:
              sub checkGA()
              {
                  my ($ga, $value, $dpt, $age  ) = @_;
                  (!$ga  || !defined $value || !defined $dpt) and return 0;
                  (! defined $age) and $age = 0;
                  plugin_log($plugname, "GA[$ga],value[$value],dpt[$dpt],age[$age]");
                  my $res = knx_read($ga, $age, $dpt);
                  plugin_log($plugname, "res[$res]");
                  return ($res eq $value);
              } # check
              Nun die Schalt-Tabelle ändern. Dort gibt es für jeden Eintrag einen Wert Aktiv. Den missbrauchen wir für die weitere Steuerung, und zwar in der Art, dass dort nicht einfach '1' oder '0' drin steht, sondern ein errechneter Wert:

              Code:
              @Zeiten = 
                  (
                   # Bedingungslose Schaltung wie bisher üblich:
                   { Name=>'EinfacheSchaltung', Aktiv=>'1', Std=>'10', Min=>'30', Wert=>'1', DPT=>'1', GA=>'1/1/121', Log=>'1' },
                   # Schaltung abhaengig vom Wert einer GA:
                   { Name=>'CheckGASchaltung', Aktiv=>&checkGA('1/1/120', '0', '1'),  Std=>'10', Min=>'35', Wert=>'1', DPT=>'1', GA=>'1/1/121', Log=>'1' }
                  );
              Was da passiert: Das Feld Aktiv wird vom Plugin ausgewertet, und die Schaltung dann ausgeführt, wenn Aktiv ungleich null ist Soweit keine Änderung. Beim Eintrag Nummer zwei allerdings ist Aktiv nicht einfach '1', sondern wird durch die Funktion checkGA errechnet und dann das Ergebnis für den Wert 'Aktiv' eingesetzt, und zwar bei jedem Aufruf des Uhren-Plugins aufs Neue.

              Die an checkGA übergebenen Werte, für die das errechnet wird, bedeuten:
              1. $ga: Gruppenadresse im Format '1/1/121', und zwar mit den angegebenen Quotes
              2. $value: Der Wert, gegen den geprüft wird. Hat die GA diesen Wert, wird '1' zurückgegeben, also Aktiv=>'1'. Wenn nicht, dann wid Aktiv=>'0' gesetzt.
              3. $dpt: Sollte klar sein, der fragliche GA-Datentyp
              4. $age: Das maximale Alter des Wertes. Diese Angabe ist optional. Wird kein Wert übergeben, wird '0' angenommen, also der gerade aktuelle Wert verwendet.


              Ich hab das hier aus dem Kopf und z.T. mit Cut&Paste zusammengesetzt, also bitte als Anleitung verstehen, nicht als Lösung. Ich wäre auch dankbar, wenn das mal jemand testet, weil es hier nämlich einen Fall gab, wo eine gleichartige Lösung angeblich nicht funktioniert haben soll (was aber mangels erforderlicher Maßnamen auf der Nutzerseite nie exakt verifziert werden konnte).

              Vor allem würden mich die Ergebnisse dieses Verfahrens interessieren, also bitte auch mal eine Rückmeldung geben :-)



              PS: Wie das mit dem 'Alter' genau funktioniert, kann ich gar nicht sagen, aber die Wiregate-Funktion zum Lesen des Wertes unterstützt das eben. Ich habe es so verstanden, dass das Alter ein Maximalwert ist. Sofern der Wert im Cache älter ist, wird der aktuelle Wert neu gelesen, andernfalls der Cache-Wert verwendet.
              Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

              Kommentar


                #8
                Funktioniert seit April!

                Ich hatte damals dieses feature mal benötigt und von emax prompt die Lösung angeboten bekommen:
                https://knx-user-forum.de/310879-post71.html

                Das funktioniert bei mir seitdem tadellos.

                Nochmals Danke!
                Viele Grüße Jens

                Kommentar


                  #9
                  Hallo Jens,

                  danke für die Rückmeldung. Freut mich, dass es

                  - benutzt wird
                  - funktioniert
                  - und ich das auch erfahre :-)

                  Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

                  Kommentar

                  Lädt...
                  X