Ankündigung

Einklappen
Keine Ankündigung bisher.

Neue Version (V2.6) der Rollladensteuerung 11721

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge


    Zitat von Hightech Beitrag anzeigen
    Ok, aber sind Rollladen und -motoren wirklich so anfällig, dass man das berücksichtigen muss?
    Generell sind mir schon Panzer beim Fahren kaputt gegangen. Es kommt selten vor, das stimmt schon, aber dann ist der Ärger da und es kostet natürlich auch immer Geld. Es geht also nur darum unnötige Fahrten zu vermeiden.

    Zitat von Hightech Beitrag anzeigen
    Dein Ansatz c sollte aber doch auch funktionieren - da verstehe ich Deine Erklärung nicht, warum das nicht funktionieren sollte?

    Mit der Sperre sehe ich sonst keine Idee - Du würdest ja beim Verlassen des Hauses sperren. Mit einer -1 auf E32 und einer 2 auf E31, dann bliebe die Beschattungsposition erhalten bis Du heimkommst und die Sperre aufhebst, dann wird in die aktuell gültige Position gefahren. Wenn aber beim Verlassen des Hauses die Beschattung gerade nicht aktiv ist, wird sie auch nicht aktiviert, wenn die Sonne wieder rauskommt.
    Eine Erklärung habe ich auch nicht. Das ist nur eine Feststellung. Die Position der Sperre habe ich einmal mit -1 und einmal 103 versucht... Wenn sich der Status Beschattung nur einmal von 1 auf 0 ändert funktioniert es. Passiert dies mehrfach leider nicht mehr. Vielleicht hat Marc da eine Erklärung. Das wäre vermutlich inhaltlich der schlüssigste Weg.

    Zitat von MarcNaroska Beitrag anzeigen
    Habe ich das so richtig?
    Ja genau so ist es.

    Eure Idee mit der Mittagsposition klingt gut! Probiere ich gerne aus. Mittags hätte ich in den Schlafräumen dadurch auch kein Problem, da die Mittagsfunktion bei An- und Abwesenheit einfach getrennt voneinander verwendet wird.
    Zuletzt geändert von SirTom; 21.07.2022, 08:04.

    Kommentar


      So ich habe jetzt folgendes mit 4.11 direkt an den Eingängen getestet:

      Beschattung=1
      Beschattung=0
      Funktioniert

      Mittag=1
      Mittag=0
      Funktioniert

      Beschattung=1
      Mittag=1
      Mittag=0
      Beschattung=0
      Funktioniert

      Beschattung=1
      Mittag=1
      Beschattung=0
      Mittag=0
      Funktioniert

      Mittag=1
      Beschattung=1
      Mittag=0
      Beschattung=0
      Funktioniert nicht

      Beschattung=1
      Mittag=1
      Beschattung=0
      Beschattung=1
      Beschattung=0
      Mittag=0
      Funktioniert

      Beschattung=1
      Mittag=1
      Beschattung=0
      Beschattung=1
      Mittag=0
      Beschattung=0
      Funktioniert nicht

      Ich befürchte bei den nicht funktionierenden Varianten stört die folgende Eigenschaft:

      Die Position PosvorBesch% wird nach Ablauf der Ausschaltverzögerung angefahren, wenn AutoBesch=1 und Status Beschattung=1 und alle anderen Stati (Lüftung, Mittag)=0 und Dunkelheit=0 und (Komfort=0 oder (Komfort=1 und AktPos%<Komfortschwelle%)). Dann wird der Status Beschattung auf 0 gesetzt und PosvorBesch% auf -1 gesetzt.
      PosvorBesch müsste demnach gleich PosMittag sein und dadurch bleibt der Rolladen in der Position. Oder verstehe ich da etwas falsch?

      Kommentar


        Moin Thomas!
        OK, deine Analyse kann ich nachvollziehen. Ursache ist in der Tat die "PosvorBesch%", die bei aktivem Mittag auf Mittag% gesetzt wird.
        Workaround (für Mittag% = Besch%): Wenn Mittag=0 und Mittag%=PosvorBesch% und Beschattung 1->0, dann setze SetPos% auf 101%.

        Hierfür könnte man den Baustein auch anpassen (wenn Besch 0->1 während Mittag=1 und "PosvorMittag% nutzen"=2, dann setze PosvorBesch%=PosvorMittag%):
        Diese Zeile suchen (im Abschnitt ### Beschattung an): 5012|0|"OC[1] and EN[4] and EN[19] and (SN[13]==0) and (SN[1]==0)"|"EN[17]"|""|4|0|4|0 # aktuelle Position in PosvorBesch% speichern
        und diese Zeile DANACH einfügen: 5012|0|"OC[1] and EN[4] and EN[19] and (EN[37]==2) and (SN[13]==0) and (SN[1]==0) and (SN[3]==1)"|"SN[5]"|""|4|0|4|0 # PosvorMittag% in PosvorBesch% speichern wenn "PosvorMittag% nutzen"=2 und TriggerMittag=1

        Viel Erfolg beim Testen :-)

        Gruß
        Marc
        Gruß, Marc

        Kommentar


          Moin,

          erstmal Danke für deine Hilfe! ich habe den Baustein jetzt angepasst:

          Code:
          ### Beschattung an: wenn AutoBesch und alle Stati=0 und Status dunkel=0 und (Komfort=0 oder (Komfort=1 und AktPos<Komfortschwelle%)) und Verzögerung vorbei->
          5012|0|"OC[1] and EN[4] and EN[19] and (SN[13]==0) and (SN[1]==0)"|"EN[17]"|""|4|0|4|0  
          5012|0|"OC[1] and EN[4] and EN[19] and (EN[37]==2) and (SN[13]==0) and (SN[1]==0) and (SN[3]==1)"|"SN[5]"|""|4|0|4|0 # PosvorMittag% in PosvorBesch% speichern wenn "PosvorMittag% nutzen"=2 und TriggerMittag=1          
          5012|0|"OC[1] and EN[4] and EN[19] and (SN[13]==0) and (SN[1]==0) and (SN[3]==0) and (SN[9]==0) and ((EN[5]==0) or (EN[5] and (EN[17]!=EN[15]) and (EN[17]<EN[35])))"|"((EN[14]*(EN[40]==0))+(EN[39]*(EN[40]!=0)))"|""|0|0|10|0                     #
          5012|0|"OC[1] and EN[4] and EN[19] and (SN[13]==0) and (SN[1]==0) and (SN[3]==0) and (SN[9]==0) and ((EN[5]==0) or (EN[5] and (EN[17]!=EN[15]) and (EN[17]<EN[35]))) and (EN[31]==0)"|"SN[10]"|""|10|0|0|0     # wenn Sperre=0, dann Position senden
          #5012|0|"OC[1] and EN[4] and EN[19] and (SN[13]==0) and (SN[1]==0) and (SN[3]==0) and (SN[9]==0) and ((EN[5]==0) or (EN[5] and (EN[17]!=EN[15]) and (EN[17]<EN[35]))) and (EN[31]==0)"|"(lambda message,severity='info',facility='Rollladen',self=self: '<log><id>'+__import__('md5').new(self.makeCheckSum() + str(__import__('time').time())).hexdigest() +'</id><facility>'+facility+'</facility><severity>'+severity+'</severity><message>'+message+'</message></log>')(EN[38]+': Beschattung EIN ('+str(int(SN[10]))+'%)')"|""|17|0|0|0
          5012|0|"OC[1] and EN[4] and EN[19] and (SN[13]==0) and (SN[1]==0) and (SN[3]==0) and (SN[9]==0) and ((EN[5]==0) or (EN[5] and (EN[17]!=EN[15]) and (EN[17]<EN[35])))"|"(lambda message,severity='info',facility='Rollladen',self=self: '<log><id>'+__import__('md5').new(self.makeCheckSum() + str(__import__('time').time())).hexdigest() +'</id><facility>'+facility+'</facility><severity>'+severity+'</severity><message>'+message+'</message></log>')(EN[38]+': Beschattung EIN ('+str(int(SN[10]))+'%)')"|""|17|0|0|0
          5012|0|"OC[1] and EN[4] and EN[19] and (SN[13]==0) and (SN[1]==0)"|"1"|""|1|0|1|0                
          5012|0|"OC[1] and EN[4] and EN[19] and (SN[13]==0) and (SN[1]==0) and (SN[2]==1)"|"0"|""|2|0|2|0  
          5012|1|"OC[1]"|"0"|""|0|0|7|0
          Nun habe ich folgendes festgestellt:

          Mittag=1
          Beschattung=1
          Mittag=0
          Beschattung=0
          Funktioniert nicht (es wird die mittags Position angefahren)

          Beschattung=1
          Mittag=1
          Beschattung=0
          Beschattung=1
          Mittag=0
          Beschattung=0
          Funktioniert nicht (es wird die mittags Position angefahren)

          Damit komme ich nicht weiter. Oder ist im Code noch etwas falsch?

          Ich habe es auch nochmal mit Sperre=2 probiert. Ich verstehe nicht, warum er beim Wechsel auf Sperre=0 in der Beschattungsposition bleibt. Oder verstehe ich die Sperrfunktion 2 falsch?

          VG Thomas

          Kommentar


            Moin Thomas!

            Die Zeile habe ich nicht selbst getestet, da ich aktuell keinen "Spiel-HS" habe.

            Noch eine Frage dazu: wenn du "weg" bis, sollen dann alle Rollläden direkt in die Beschattungsposition fahren, oder war es eher so gedacht, dass sie in der Beschattungsposition verbleiben, wenn beschattet werden musste, wenn jedoch gar nicht beschattet wird, sollen die Rollläden auch nicht bei Abwesenheit in die Beschattungsposition fahren?
            Vielleicht überlege ich mir dann noch was als weitere "Sperre" anstelle die Mittags-Funktionalität zu nutzen...
            Aber definitiv erst nach dem Sommerurlaub ;-)

            Die Sperre=2 sollte dafür sorgen, dass der Rollladen nicht mehr fährt (bzw. evtl. vorher auf die Sperrposition fährt).
            Wenn man dann Sperre=0 setzt, sollte die "aktuelle" Position angefahren werden. Da ist eine Fernanalyse schwierig...

            Gruß
            Marc
            Gruß, Marc

            Kommentar


              Moin Marc,

              also ich habe da gar keinen Streß... du musst deinen Baustein auch nicht anpassen, nur weil ich Material schonen möchte

              Zitat von MarcNaroska Beitrag anzeigen
              war es eher so gedacht, dass sie in der Beschattungsposition verbleiben, wenn beschattet werden musste, wenn jedoch gar nicht beschattet wird, sollen die Rollläden auch nicht bei Abwesenheit in die Beschattungsposition fahren?
              Genau so war es gemeint.

              Zitat von MarcNaroska Beitrag anzeigen
              Die Sperre=2 sollte dafür sorgen, dass der Rollladen nicht mehr fährt (bzw. evtl. vorher auf die Sperrposition fährt).
              Wenn man dann Sperre=0 setzt, sollte die "aktuelle" Position angefahren werden. Da ist eine Fernanalyse schwierig...
              Also ich habe jetzt gerade nochmal getestet indem ich wieder direkt auf die Eingänge geschrieben habe.

              Sperrposition=-1, Dunkel=0 und Mittag=0:

              Beschattung=1
              Sperre=2
              Beschattung=0
              Sperre=0
              Funktioniert


              Beschattung=1
              Sperre=2
              Beschattung=0
              Beschattung=1

              Beschattung=0
              Sperre=0
              Funktioniert nicht (nach Sperre bleibt Beschattungsposition)


              Beschattung=1
              Sperre=2
              Beschattung=0
              Beschattung=1

              Sperre=0
              Beschattung=0

              Funktioniert nicht (nach Beschattungsende bleibt Beschattungsposition)

              Aber wie gesagt, es eilt nicht und wenn du deinen Baustein lieber so lassen möchtest, wäre das auch völlig ok.

              VG

              Thomas

              Kommentar


                Hey Thomas!

                OK, deine Probleme habe ich verstanden und weiß auch warum sie auftreten: jedesmal bei Beschattung=1 setze ich PosvorBesch% auf die aktuelle Rollladenposition. Das macht vermutlich bei gesetzter Sperre oder gesetzter Mittagsfunktion keinen Sinn. Da muss ich mal in mich gehen und ein wenig "Pflege" betreiben.
                Evtl. benötigen wir dann meinen "Patch" gar nicht mehr, sondern ich löse das eleganter (und vermutlich im Sinne der Funktionalität stringenter).

                Aber wie schon gesagt: vor dem Sommerurlaub wird das definitiv nichts mehr :-)

                Viele Grüße
                Marc
                Gruß, Marc

                Kommentar


                  Alles klar, mach in aller Ruhe!

                  Kommentar


                    Hallo Marc,

                    bist du schon dazu gekommen? Bzw. hast du das Problem noch auf der Agenda?

                    Danke und VG

                    Thomas

                    Kommentar


                      Hallo Thomas!
                      Zu meiner Schande muss ich gestehen, dass ich diesen Punkt "aus den Augen" verloren habe...
                      Ich habe mir den Baustein jetzt nochmal etwas genauer angeschaut.
                      Aufgrund der Einschränkungen bei Nutzung der "nativen" Programmiermöglichkeiten des HS bekomme ich es nicht ohne größere Eingriffe hin, eine wirklich "stringente" Sperrfunktionalität einzuarbeiten, bei der dann auch alle Stati, Positionen, etc. berücksichtigt werden könnten.
                      Was hingegen mit wenig Aufwand möglich sein sollte: bei aktivierter Sperre generell nicht die "Posvor...%" zu überschreiben, ähnlich wie bei der Mittag=1 Problematik.
                      Ob sich das dann mit den trotzdem gesetzten Stati verträgt, wird sich dann zeigen :-)...
                      Ich schaue mal, was ich da in den nächsten 1-2 Wochen hinbekomme.
                      Gruß
                      Marc
                      Gruß, Marc

                      Kommentar


                        Vielen Dank. Ich teste gerne!

                        VG

                        Thomas

                        Kommentar


                          Hallo MarcNaroska!

                          Jetzt nutze ich Deinen Baustein schon 16 Jahre und finde immer noch fehlende Features...

                          Szenario:
                          • Rollladen geht auf Nacht-Position, also dunkel an/aus 0=>1 und Zeit für abends runter ist erreicht, wenn ich den Baustein richtig verstehe wird die Nacht-Position nun mit dieser Zeile (Zeile 340) auf den Speicher SN[10] geschrieben:
                          Code:
                          5012|0|"OC[3] and EN[3] and (SN[10]>=EN[34]) and (EN[20]==0)"|"EN[13]"|""|0|0|10|0
                          • Ich öffne den Türgriff, dadurch geht der Rollladen mit Wert 2 auf Sperrposition (0%)
                          • Jetzt geht dunkel an/aus auf 0 und Zeit für morgens hoch ist erreicht
                          • Jetzt schließe ich den Türgriff, setze Sperrposition = 0
                          Der Rollladen fährt nun auf die Nacht-Position, die noch in SN[10] gespeichert ist, anstatt auf die Position, die angefahren wird, wenn er morgens hochfährt.

                          Kann es sein, dass Du bei morgens auf den neuen Wert (also EN[12] nicht in SN[10] schreibst? Bei Änderungen auf EN[12] - EN[16], EN[39] (Zeile 166-171) aktualisierst Du den SN[10], bei Mittagsposition aktualisierst Du den SN[10] auch (meine ich zumindest, so zu verstehen).

                          Wenn die Sperre nicht aktiv ist, schreibst Du bei morgens hoch SN[10] auf AN[10]:

                          Code:
                          5012|0|"OC[4] and EN[2] and ((EN[5]==0) or (EN[5] and (EN[17]<EN[35]) and (SN[2]==0))) and (EN[31]==0)"|"SN[10]"|""|10|0|0|0
                          Finde aber keine Zeile, wo Du den SN[10] aktualisierst bei morgens hoch, wenn die Sperre aktiv ist. Muss also in den AutoMorgens Block nicht noch folgende Zeile rein:

                          Code:
                          5012|0|"OC[4] and EN[2] and ((EN[5]==0) or (EN[5] and (EN[17]<EN[35]) and (SN[2]==0))) and (EN[31]==2) and EN[19]==0 and EN[20]==0 and EN[21]==0"|"EN[12]"|""|0|0|10|0
                          Grüße

                          Olaf
                          Zuletzt geändert von Hightech; 09.06.2023, 12:16. Grund: EDIT: Zu ergänzende Zeile um EN[19]==0 and EN[20]==0 and EN[21]==0 erweitert
                          Möchte den Komfort meiner Installation nicht mehr missen!

                          Kommentar


                            Moin Olaf!

                            Da hast du schon ein wenig Recht, befürchte ich ;-)
                            Das Problem/der Fehler lässt sich aber vermutlich noch einfacher beheben, indem man bei "Morgens hoch" die neue Position immer in SN[10] schreibt; man muss also nur das " and (SN[2]==0)" in dieser Zeile löschen:
                            Code:
                            5012|0|"OC[4] and EN[2] and ((EN[5]==0) or (EN[5] and (EN[17]<EN[35]) and (SN[2]==0)))"|"(((EN[19]!=1) or (EN[4]!=1))*EN[12])+(((EN[19]==1) and (EN[4]==1))*((EN[14]*(EN[40]==0))+(EN[39]*(EN[40]!=0))))"|""|0|0|10|0
                            Evtl. ist das aber ein "Spezialfall" bei dir, je nachdem, wie du die Sperre, Lüftung, Komfort und Komfortschwelle eingestellt hast und triggerst.

                            Gruß
                            Marc
                            Zuletzt geändert von MarcNaroska; 12.06.2023, 17:42.
                            Gruß, Marc

                            Kommentar


                              Hi!
                              Wofür ist denn der Speicher 2?
                              Möchte den Komfort meiner Installation nicht mehr missen!

                              Kommentar


                                SN[2] ist "Status Lüftung".
                                Nur wenn "Status Lüftung"=0, Komfort=1 und AktPos<Komfortschwelle, dann wird die Position oben% oder Besch% oder Regen% auf SN[10] geschrieben.
                                Könnte das bei dir die Ursache sein?

                                Gruß, Marc

                                Kommentar

                                Lädt...
                                X