Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Zeitschaltuhr Plugin?

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

    [wiregate] - √ - Zeitschaltuhr Plugin?

    Hallo,

    hat schonmal jemand eine komfortable Zeitschaltuhr auf dem Wiregate geschrieben?
    In den svn Plugins habe ich derlei nicht gefunden.

    Gruß
    Derzeit zwischen Kistenauspacken und Garten anlegen.
    Baublog im Profil.

    #2
    Hallo greentux

    Ich weiss nicht ob es das schon gibt. Hab dazu auch nix gefunden. Kann aber eigentlich nicht sonderlich schwierig werden. Das einzige Problem ist hald die Schaltgenauigkeit der Schaltuhr. Hier müsste man mit der Zykluszeit optimieren aber es kann immer eine kleine Verschiebung (+/- 1-2sek.) kommen. Hier kommt es hald auf die Anforderungen des Benutzers an.
    Gruss Patrik alias swiss

    Kommentar


      #3
      Sekunden brauchts nicht.
      Aber es sollte auf jeden Fall auch schalten, wenn die Zeit schon vorbei ist. Also Zustand merken usw.
      Dazu wäre dann sinnvoll, wenn das Ding einfach mehrere Zeitpunkte schalten kann.
      Derzeit zwischen Kistenauspacken und Garten anlegen.
      Baublog im Profil.

      Kommentar


        #4
        Sollte kein Problem sein. Vieleicht könnte man das Ganze mal gedanklich durchspielen. Welche Anforderungen sind den gegeben?

        z.B.

        Mo - Fr 07:00 EIN und 18:00 AUS
        SA 09:00 EIN und 20:00 AUS

        oder

        01.12.2011 18:00 EIN 30.12.2011 12:00 AUS

        PS: Wie würdest du das eintragen der Schaltzeiten lösen? Und wiviele Schaltzeiten/Tage braucht es? Man müste eine schlaues Bedienkozept ausarbeiten. Der Rest ist relativ einfach.
        Gruss Patrik alias swiss

        Kommentar


          #5
          Ich könnte mir das so vorstellen...

          Code:
          push @Schaltzeiten, { name => "bewässerung_ein", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 0, sonntag => 0, stunden => 07, Minuten => 00, Befehl => 1, ga => '1/1/30' };
          
          push @Schaltzeiten, { name => "bewässerung_aus", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 0, sonntag => 0, stunden => 07, Minuten => 30, Befehl => 0, ga => '1/1/30' };
          Das würde dann z.B. die Bewässerung vom Montag bis am Freitag von 07:00 bis 07:30 einschalten.
          Gruss Patrik alias swiss

          Kommentar


            #6
            Zitat von greentux Beitrag anzeigen
            hat schonmal jemand eine komfortable Zeitschaltuhr auf dem Wiregate geschrieben? In den svn Plugins habe ich derlei nicht gefunden.
            Im Betaforum zu pywiregate (Logikengine) wurde das ausgiebig diskuttiert mit sehr sehr vielen Details und Spezialitäten. Nicht dass es Fertig wäre, aber es wurden sich sehr viele Gedanken gemacht dazu.

            Stefan

            Kommentar


              #7
              Ja ich habs schon gesehen. Derzeit brauch ich halt ein paar Uhren. Und ich habe keinen HS, wie so einige andere Wiregatebesitzer hier
              Also die Frage: linknx oder WG zu nehmen.
              Mal sehen, eins nach dem anderen.
              Derzeit zwischen Kistenauspacken und Garten anlegen.
              Baublog im Profil.

              Kommentar


                #8
                Hi
                Ich realisiere meine zeitschaltungen derzeit mit linknx. Das funktioniert sehr gut und ohne Probleme

                Gruß

                Kommentar


                  #9
                  Zitat von vlamers Beitrag anzeigen
                  Ich realisiere meine zeitschaltungen derzeit mit linknx. Das funktioniert sehr gut und ohne Probleme
                  Hoi

                  Ich auch. Ist für mich auch nach 3 Monaten noch lesbar im Code (XML) und irgendwie logisch aufgebaut.
                  Grüsse Bodo
                  Fragen gehören ins Forum, und nicht in mein Postfach;
                  EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

                  Kommentar


                    #10
                    Ich hab da mal kurz was zusammengestrikt. Ist aber noch ungetestet. Pro Schaltpunkt wird unter Einstellungen einfach die Zeile die mit push beginnt kopiert und angepasst. Damit kann man quasi unendlich viele Schaltpunkte einrichten.

                    Code:
                    # Plugin zum Zeit abhängigem schaten von GA's (Schaltuhr)
                    # Version 0.1 03.07.2011
                    # Copyright: swiss (https://knx-user-forum.de/members/swiss.html)
                    # License: GPL (v2)
                    # Aufbau möglichst so, dass man unterhalb der Einstellungen nichts verändern muss!
                    
                    
                    ####################
                    ###Einstellungen:###
                    ####################
                    my @Schaltzeiten;
                    
                    push @Schaltzeiten, { name => "bewässerung_ein", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 0, sonntag => 0, Stunden => 07, Minuten => 00, Befehl => 1, ga => '1/1/30' };
                    
                    push @Schaltzeiten, { name => "bewässerung_aus", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 0, sonntag => 0, Stunden => 07, Minuten => 30, Befehl => 0, ga => '1/1/30' };
                    
                    ######################
                    ##ENDE Einstellungen##
                    ######################
                    
                    use POSIX;
                    
                    # Eigenen Aufruf-Zyklus auf 20sek. setzen
                    $plugin_info{$plugname.'_cycle'} = 20;
                    
                    #Hier wird ein Array angelegt, um die Wochentagsnummer von localtime zu übersetzen
                    my @Wochentag = ('sonntag', 'montag', 'dienstag', 'mittwoch', 'donnerstag', 'freitag', 'samstag');
                    
                    my $sec;
                    my $min;
                    my $hour;
                    my $mday;
                    my $mon;
                    my $year;
                    my $wday;
                    my $yday;
                    my $isdst;
                    
                    
                    foreach my $element (@Schaltzeiten) {
                    
                    ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
                        $year += 1900;
                    
                        if ($element->{$Wochentag[$wday]} == 1 && $element->{Stunden} == $hour && $element->{Minuten} == $min) {
                            knx_write($element->{ga},$element->{Befehl},1);
                        }
                    next;
                    }
                    Gruss Patrik alias swiss

                    Kommentar


                      #11
                      Ich kenne die die Details zum WG und den Plugins noch nicht. Aber spontan fällt mir cron ein ...?

                      Wenn der zu den Schaltzeitpunkten jeweils ein Tag in eine Datei schreibt, kann das von Perl leicht ausgelesen und dann gelöscht werden, und verloren ginge so auch nichts.

                      Die Frage könnte sein, ob häufiges I/O auf den internen Speicher problematisch ist. Das Ding speichert doch sicher auf eine SSD, und die mögen dauernde Schreiboperationen ja nun nicht so sehr ...

                      Anfängeridee halt, aber was meinen die Auguren?
                      Kein Support per PN: Fragen bzw. Fehlermeldungen bitte im Forum posten.

                      Kommentar


                        #12
                        Das SSD des WG ist dafür ausgelegt.
                        cron wäre natürlich die klassische Variante, aber damit dann die 3. Komponenten in der Logik
                        Derzeit zwischen Kistenauspacken und Garten anlegen.
                        Baublog im Profil.

                        Kommentar


                          #13
                          Also ich habe das Script mal getestet. Es funktioniert. Wäre also eine Möglichkeit um eine Schaltuhr als WG Plugin nachzubilden. Ich werde das Plugin mal im SVN einstellen. Wenn jamand Verbesserungsvorschläge hat. Immer gerne her damit.
                          Gruss Patrik alias swiss

                          Kommentar


                            #14
                            Ja die Wochentage würde ich analog linknx bevorzugen, also wtag="1356" wenn es mo, mi, fr und sa sein soll.
                            Weiterhin müsste man auf "Wert" und "DPT" erweitern, um auch Dimmwerte schicken zu können...
                            Derzeit zwischen Kistenauspacken und Garten anlegen.
                            Baublog im Profil.

                            Kommentar


                              #15
                              ?? wtag?

                              Das müsstest du mir mal genauer erklären. Das erschliesst sich mir nicht automatisch. Du kannst ja einfach dinstag und donnerstag auf 0 setzen

                              Weiterhin müsste man auf "Wert" und "DPT" erweitern, um auch Dimmwerte schicken zu können...
                              Kein Problem. Das rüste ich noch schnell nach
                              Gruss Patrik alias swiss

                              Kommentar

                              Lädt...
                              X