Ankündigung

Einklappen
Keine Ankündigung bisher.

RollladenAutomatik Update (Beschattung, etc.)

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

    [wiregate] RollladenAutomatik Update (Beschattung, etc.)

    Hi!

    Ich habe gerade die Version 0.8 der RollladenAutomatik online gestellt.

    Neue Features sind:
    - Laden von im Aktor gespeicherten Positionen
    - Überprüfung der aktuellen Position bei Sonnen Auf-/Untergang

    Features der Vorversionen:
    - Manuelle Eingriffe bleiben bis zur nächsten Zustandsänderung erhalten
    - Vorlagen um die Konfiguration zu vereinfachen
    - Rolladenschutz vor hohen Windgeschwindigkeiten
    - Zufahren bei sehr niedgrigen Außentemperaturen um die Isolationswirkung zu erhöhen
    - Öffnen bei sehr starker Bewölkung um die Helligkeit im Raum zu erhöhen
    - Seperate Konfigurationsdatei
    - Steuerung aufgrund der Raumtemperatur
    - Hysteresewerte für Temperatur, Wind und Bewölkung
    - Speichern der Rolladenposition und aktuellen Zuständen
    - Sperren einzelner Rolläden
    - Globale Sperren
    - Positionsfahren mit Prozentwert
    - Fahren bei Sonnen Auf-/Untergang
    - Fahren Aufgrund Sonneneinstrahlwinkel

    Source:
    Open Automation / Code / [r2192] /wiregate/plugin/generic/RollladenAutomatik.pl

    Sample Config:
    Open Automation / Code / [r2192] /wiregate/plugin/generic/conf.d/RollladenAutomatik.conf_sample

    Natürlich übernehme ich keinerlei Haftung, etc.

    Feedback ist herzlich willkommen.

    Grüße,
    Bernd

    #2
    Hallo --

    Ich hab' da gerade mal reingekuckt, weil ich meine Rolladen mal überarbeiten will. Leider muss ich zugeben, dass ich aus der Sample-Config nicht hundertprozentig herauslesen kann, was passiert.

    Darf ich mal raten und Du lotst mich durch?

    Also:

    Es gibt eine Tag-Nacht-Schaltung, nach der die Rollos nach Sonnenstand heruntergefahren werden. Klasse.

    Es gibt eine Verschattungsregelung, die nach Raumtemperatur, Bewölkung/Sonneneinstrahlung, und Himmelsrichtung über den Tag Rolläden gezielt zur Verschattung fährt. Sehr klasse.

    Ich kann nach Wind und Kälte fahren - nett, aber brauche ich nicht.

    Ich verstehe, dass es einen Automatik-Modus gibt, den ich für alle Rolläden ein-aus-schalten kann.

    Wie kann ich jetzt einzelne Rolläden herausnehmen - und wie kann ich sie wieder hereinnehmen? Sendet die Automatik zyklisch? Wenn ich zum Beispiel auf den Reed-Kontakt des Fensters hin einen Rolladen hochfahre, wie mache ich das? Bei der Terassentür nutze ich momentan einen Windalarm, über den der Reed bei offener Tür den Rolladen hochfährt. Wenn der Reed-Windalarm wieder auf 0 ist, bleibt der Rolladen oben. Mit einer Logik lasse ich ihn dann wieder auf den gleichen Punkt fahren, den das Fenster daneben hat.

    Wie funktioniert sowas mit Deinem Plugin? Wird nach dem Pseudo-Windalarm (der auf jeden Fall auf Aktorebene alles überstimmt) durch zyklisches Senden der Rolladen wieder mitgenommen? Wie mache ich das mit Rolläden, die ich durch eine Szene mal aus der Automatik herausnehmen will (z.B. Kinderzimmer für den Mittagsschlaf?). Hättest Du da eventuell mal ein Beispiel?

    Kommentar


      #3
      Zitat von johnnychicago Beitrag anzeigen
      Hallo --

      Ich hab' da gerade mal reingekuckt, weil ich meine Rolladen mal überarbeiten will. Leider muss ich zugeben, dass ich aus der Sample-Config nicht hundertprozentig herauslesen kann, was passiert.

      Darf ich mal raten und Du lotst mich durch?

      Also:

      Es gibt eine Tag-Nacht-Schaltung, nach der die Rollos nach Sonnenstand heruntergefahren werden. Klasse.
      Ja, das ist erheblich besser als nach Uhrzeit.

      Es gibt eine Verschattungsregelung, die nach Raumtemperatur, Bewölkung/Sonneneinstrahlung, und Himmelsrichtung über den Tag Rolläden gezielt zur Verschattung fährt. Sehr klasse.
      Für Häuser mit guter Isolierung und großen Fenstern ein Muß.
      Außer man liebt 30 Grad oder spielt gerne Rolladenjokey. ;-)

      Ich kann nach Wind und Kälte fahren - nett, aber brauche ich nicht.
      Wind ist eine Schutzmaßnahme um die Rolläden vor hohen Windgeschwindigkeiten zu schützen.
      Raffstores halten ca. 60km/h aus, Rolläden ungefähr 100km/h.
      Natürlich sind das nur gängige Werte welche je nach Größe und Hersteller variieren.
      Ich verstehe, dass es einen Automatik-Modus gibt, den ich für alle Rolläden ein-aus-schalten kann.

      Wie kann ich jetzt einzelne Rolläden herausnehmen - und wie kann ich sie wieder hereinnehmen?
      Über eine KNX Gruppenadresse lässt sich die Sperrfunktion ein- und ausschalten. Das Attribut hierfür lautet GAsperre:
      GAsperre => "1/1/30"

      Jeder beliebige KNX Sensor mit binären Werten (z.B. Schalter) kann als Quelle dienen.

      Sendet die Automatik zyklisch?
      Nein. Sonst würden die Relais in den Aktoren zu schnell abgenutzt werden.
      Da ich die Qualität der Relais nicht kenne, gehe ich von ca. 100000 möglichen Schaltzyklen aus.

      Das Plugin selbst wird aber alle 5 Minuten, oder wenn ein Telegramm an die Gruppenadresse der Allgemeinen Sperre gesendet wird, ausgeführt.

      Wenn ich zum Beispiel auf den Reed-Kontakt des Fensters hin einen Rolladen hochfahre, wie mache ich das? Bei der Terassentür nutze ich momentan einen Windalarm, über den der Reed bei offener Tür den Rolladen hochfährt. Wenn der Reed-Windalarm wieder auf 0 ist, bleibt der Rolladen oben. Mit einer Logik lasse ich ihn dann wieder auf den gleichen Punkt fahren, den das Fenster daneben hat.

      Wie funktioniert sowas mit Deinem Plugin? Wird nach dem Pseudo-Windalarm (der auf jeden Fall auf Aktorebene alles überstimmt) durch zyklisches Senden der Rolladen wieder mitgenommen?
      Eigentlich genau so.

      Kurz zusammengefasst:
      * Gruppenadresse (GA) für Alarm definieren
      * GA Alarm am Rolladenaktor eintragen
      * GA Alarm in der Pluginkonfiguration als GAsperre eintragen

      Wenn der Reed die Gruppenadresse Alarm setzt wird alles übersteuert und der Rolladen hochgefahren (während des Alarmzustandes würde ich zyklisches Senden am Sensor einschalten). Wenn der Alarm beendet wird bleibt der Rolladen wo er ist, da das Plugin keine Aufzeichnung im Zustandsautomat über die Änderung hat.

      Ist eine Rückkehr zur alten Position sofort bzw. nach 5 Minuten erwünscht?
      Wenn ja, werde ich es als Featurerequest vormerken.

      Wie mache ich das mit Rolläden, die ich durch eine Szene mal aus der Automatik herausnehmen will (z.B. Kinderzimmer für den Mittagsschlaf?). Hättest Du da eventuell mal ein Beispiel?
      Einfach den Rolladen manuell fahren.

      Das Plugin schickt nur Signale an den Aktor, wenn sich der Sonnenstand, die Temperatur oder das Wetter entsprechend verändert haben.

      Optional kann man einen Schalter im Haus verbauen, welcher die Automatik über die Allgemeine Sperre außer Kraft setzt. Ist natürlich auch bei einzelnen Rolläden über das Attribut GAsperre möglich.

      Kommentar


        #4
        (Fahrt nach Sonnenstand)

        Zitat von krumboeck Beitrag anzeigen
        Ja, das ist erheblich besser als nach Uhrzeit.
        Weiss ich - ich mache das mit einem Sonnenstandsplugin momentan an sich auch.

        (Verschattung)
        Für Häuser mit guter Isolierung und großen Fenstern ein Muß.
        Außer man liebt 30 Grad oder spielt gerne Rolladenjokey. ;-)
        Momentan verschatte ich halt halb-manuell, indem ich die eine oder andere Seite des Hauses in eine definierte Position bringe.

        (zyklisches Senden)

        Nein. Sonst würden die Relais in den Aktoren zu schnell abgenutzt werden.
        Da ich die Qualität der Relais nicht kenne, gehe ich von ca. 100000 möglichen Schaltzyklen aus.

        Das Plugin selbst wird aber alle 5 Minuten, oder wenn ein Telegramm an die Gruppenadresse der Allgemeinen Sperre gesendet wird, ausgeführt.
        Nun ja, wenn ich dem Aktor 100% als Position vorgebe, der Rolladen aber schon auf 100% ist, wackelt da (zumindest bei meinen Aktoren) kein Relais. Von daher glaube ich nicht, dass zyklisches Senden ein Problem mit der Hardware bringen sollte.


        Eigentlich genau so.

        Kurz zusammengefasst:
        * Gruppenadresse (GA) für Alarm definieren
        * GA Alarm am Rolladenaktor eintragen
        * GA Alarm in der Pluginkonfiguration als GAsperre eintragen

        Wenn der Reed die Gruppenadresse Alarm setzt wird alles übersteuert und der Rolladen hochgefahren (während des Alarmzustandes würde ich zyklisches Senden am Sensor einschalten). Wenn der Alarm beendet wird bleibt der Rolladen wo er ist, da das Plugin keine Aufzeichnung im Zustandsautomat über die Änderung hat.
        Und da würde ich mir halt ein zyklisches Senden, oder eine Reevaluierung wünschen. Wenn die Alarm Kondition (halt z.B. Tür auf) nicht mehr erfüllt ist, würde ich doch wahrscheinlich den Rolladen wieder in die Automatik mitnehmen.

        Ist eine Rückkehr zur alten Position sofort bzw. nach 5 Minuten erwünscht?
        Wenn ja, werde ich es als Featurerequest vormerken.
        Meiner Meinung nach machte genau das den Reiz aus: ich kann einen Rolladen gezielt aus der Automatik herausnehmen - z.B. durch den Reed am Fenster oder durch eine Szene - und wenn diese Bedingung nicht mehr gegeben ist, kommt er wieder in die Automatik herein. Dazu muss der Rolladen natürlich mehrere Sperr-GA's mehrerer Typen akzeptieren.

        Aber ok - wenn das von Deiner Logik zu weit abweicht, baue ich mir mit dem Logikprozessor selbst so eine Automatik.

        Kommentar


          #5
          Zitat von johnnychicago Beitrag anzeigen
          (zyklisches Senden)

          Nun ja, wenn ich dem Aktor 100% als Position vorgebe, der Rolladen aber schon auf 100% ist, wackelt da (zumindest bei meinen Aktoren) kein Relais. Von daher glaube ich nicht, dass zyklisches Senden ein Problem mit der Hardware bringen sollte.
          Bei meinen schon. Scheint Hersteller bzw. Modellabhängig zu sein. Außerdem wollen einige Leute kurzfristig die Kontrolle haben, ohne deswegen gleich die ganze Automatik außer Kraft zusetzen.


          Und da würde ich mir halt ein zyklisches Senden, oder eine Reevaluierung wünschen. Wenn die Alarm Kondition (halt z.B. Tür auf) nicht mehr erfüllt ist, würde ich doch wahrscheinlich den Rolladen wieder in die Automatik mitnehmen.
          Ok, das sollte mit einigen Änderungen am Plugin möglich sein. Ist es möglich die aktuelle Position (als Prozentwert) beim deinem Aktor abzufragen?


          Meiner Meinung nach machte genau das den Reiz aus: ich kann einen Rolladen gezielt aus der Automatik herausnehmen - z.B. durch den Reed am Fenster oder durch eine Szene - und wenn diese Bedingung nicht mehr gegeben ist, kommt er wieder in die Automatik herein. Dazu muss der Rolladen natürlich mehrere Sperr-GA's mehrerer Typen akzeptieren.

          Aber ok - wenn das von Deiner Logik zu weit abweicht, baue ich mir mit dem Logikprozessor selbst so eine Automatik.
          Das soll der Logikprozessor erledigen. Auch wenn es manchmal verlockend ist derartiges gleich ins Plugin einzubauen, so ist die Verwendung des Logikprozessors sicher vielseitiger und modularer.

          Wenn es mit dem Logikprozessor nicht klappt werde ich es vielleicht in einem späteren Release einbauen.

          Kommentar


            #6
            Zitat von krumboeck Beitrag anzeigen
            Bei meinen schon. Scheint Hersteller bzw. Modellabhängig zu sein. Außerdem wollen einige Leute kurzfristig die Kontrolle haben, ohne deswegen gleich die ganze Automatik außer Kraft zusetzen.
            Und ich dachte, meine Jalousieaktoren wären schon eher mittelmässig - aber Deine sind wohl noch schlechter

            Ok, das sollte mit einigen Änderungen am Plugin möglich sein. Ist es möglich die aktuelle Position (als Prozentwert) beim deinem Aktor abzufragen?
            Ja - der Aktor gibt sie bei Statusänderung, auf Nachfrage und AFAIK auch wenn man ihn entsperrt.

            Wenn es mit dem Logikprozessor nicht klappt werde ich es vielleicht in einem späteren Release einbauen.
            Ich tu mich mal dran.

            Ich hatte rudimentär was hingebaut, immer mal wieder eine Rule dazugelegt und habe immer noch auf der Liste, das einmal schön und komplett zu vervollständigen.

            Kommentar


              #7
              Zitat von johnnychicago Beitrag anzeigen
              Und ich dachte, meine Jalousieaktoren wären schon eher mittelmässig - aber Deine sind wohl noch schlechter
              Hauptsache die Dinger funktionieren zuverlässig und lange.
              Etwas bessere hätten aber sich nicht geschadet.

              Ja - der Aktor gibt sie bei Statusänderung, auf Nachfrage und AFAIK auch wenn man ihn entsperrt.
              Bitte jeweils eine Gruppenadresse anlegen und das Attribut GAistPos setzen.

              Bei deinen Aktoren spielt es in diesem Fall keine Rolle, aber ich verwende das Auslesen der Position auch an anderen Stellen im Programm.

              Ich tu mich mal dran.

              Ich hatte rudimentär was hingebaut, immer mal wieder eine Rule dazugelegt und habe immer noch auf der Liste, das einmal schön und komplett zu vervollständigen.
              Ich habe in der Zwischenzeit eine neue Version online gestellt, welche betreffendes Feature eingebaut hat. Um es zu Nutzen muß in der Konfiguration das Attribut pruefePositionNachSperre gesetzt werden (am besten im Template).

              Leider ist das Programm noch nicht vollständig an die Möglichkeiten des Zustandsautomaten angepasst. Daher ist es möglich, daß sich nicht alle Rolladen so verhalten wie man es erwartet. Ich versuche dies in der nächsten Version zu beheben.

              Kommentar


                #8
                Ab sofort steht die Version 1.0 zur Verfügung.

                Verbessert wurde das Verhalten von Sperren sowie Rolläden, welche nicht temperaturgesteuert sind.

                Kommentar


                  #9
                  Hallo

                  Ich hab's jetzt mal installiert, komme aber nicht wirklich weiter. Folgendes finde ich im Log:

                  Code:
                  2014-06-03 19:53:13.510,RollladenAutomatik.pl,conf file [/etc/wiregate/plugin/generic/conf.d/RollladenAutomatik.conf] returned: 2014-06-03 19:53:13.511,RollladenAutomatik.pl,--> Global symbol "@testrolladen" requires explicit package name at (eval 6444) line 107, <CONF> chunk 1004. 2014-06-03 19:53:13.517,RollladenAutomatik.pl,Error - Astro::Coord::ECI::geodetic argument 2 is undefined.         Arguments are ('0' , '0' , undef )  at (eval 6443) line 254 ,0s,Error - Astro::Coord::ECI::geodetic argument 2 is undefined.         Arguments are ('0' , '0' , undef )  at (eval 6443) line 254
                  Meine .conf sieht beim testrolladen so aus:

                  Code:
                  push @testrolladen, {
                      name=>"Test Rolladen",
                      istVorlage => 0,
                      wertZuBesch=> 66,
                      wertAufBesch => 0,
                      wertZuNacht => 100,
                      wertAufNacht => 0,
                      sonnenAufUnter => 1,
                      raumSollTemp => 20,
                      tempGesteuert => 1, 
                      tempHysterese => 0.5,
                      debug => 1,
                      pruefePositionNachSperre => 1,
                      winkel1 => 30, winkel2 => 330,
                      GAistPos=>"11/1/3",
                      GAfahren => "11/1/2"
                  };

                  Kommentar


                    #10
                    Bitte in der Konfiguration statt @testrolladen die Variable @AlleRolllaeden verwenden.
                    Die Konfigurationsdatei ist selbst ein Script, welches ausgeführt wird.

                    Kommentar


                      #11
                      Bitte auch mindestens folgend Variablen in die Konfigurationsdatei eintragen.

                      Code:
                      # Die Koordinaten des Hauses. Sehr einfach über http://www.latlong.net/ zu ermitteln.
                      # Und die Höhe über Normalnull (NN)
                      $lat = 48.225073;    # Breitengrad in Grad
                      $lon = 15.643443;    # Längengrad in Grad
                      $elev = 267 / 1000;    # Höhe über NN in Kilometer (dewegen geteilt durch 1000)
                      
                      # Elevation der Sonne, ab der es abends dunkel ist bzw. morgens hell ist.
                      # Bürgerliche Dämmerung ist bei -6 Grad.
                      # Defaultwert ist -3
                      $daemmerung = -3;

                      Kommentar


                        #12
                        Zitat von krumboeck Beitrag anzeigen
                        Bitte in der Konfiguration statt @testrolladen die Variable @AlleRolllaeden verwenden.
                        Die Konfigurationsdatei ist selbst ein Script, welches ausgeführt wird.

                        Das erklärt

                        Hat übrigens das andere Problem auch gelöst. Jetzt kann ich mit spielen anfangen.

                        Kommentar


                          #13
                          Zitat von krumboeck Beitrag anzeigen
                          Bitte jeweils eine Gruppenadresse anlegen und das Attribut GAistPos setzen.
                          Ich kann momentan nicht so recht nachvollziehen, wo der Unterschied zwischen GAladePos und GAistPos liegt. Gazn klar komme ich damit noch nicht...

                          Kommentar


                            #14
                            Zitat von johnnychicago Beitrag anzeigen
                            Ich kann momentan nicht so recht nachvollziehen, wo der Unterschied zwischen GAladePos und GAistPos liegt. Gazn klar komme ich damit noch nicht...
                            Sorry, habe die Nachricht erst jetzt gesehen.

                            GAladePos ... Gruppenadresse mit welcher Positionen geladen werden können (0 = Position 1, 1 = Position 2). Ist nur für dumme Aktoren notwendig, welche keine Positionsfahrten mit Prozentwerten machen können (z.B. Simens N 523/03).

                            GAistPos ... Gruppenadresse für die aktuelle Rolladenposition.

                            Kommentar


                              #15
                              Zuerst einmal danke für das tolle Plugin.
                              Gibt es auch die Möglichkeit, dass die Rollläden nur Abends per Sonnenstand zufahren und morgens z.B per Taster oder Uhrzeit?
                              Ich nutze im Augenblick die emx_uhr, die in der Woche die Rollläden im Schlafzimmer per Uhr öffnet und abends nach Sonnenstand schließt. Am Wochenende nutze ich einen Taster oder die Visu zum Ausschlafen.
                              Wenn ich es richtig gesehen habe kann man nur Nacht-Auf- und Zu-fahrt komplett rausnehmen, aber nicht nur einen Teil.
                              Kannst du das noch einbauen, falls es einfach möglich ist. Ich möchte ja nicht immer zum Sonnenaufgang geweckt werden ;-)

                              Danke,
                              Linuxer

                              Kommentar

                              Lädt...
                              X