Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Rollläden abends runter und Morgens wieder hoch.

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

    - √ - Rollläden abends runter und Morgens wieder hoch.

    Ich bin gerade dabei meine linknx Logiken so langsam auf smarthome.py zu migrieren. Dabei habe ich ein Knoten im Hirn, wie ich in crontab das Abends runter und morgens hoch fahren definiere. Folgendes habe ich vor:

    Abends nicht vor 21:00 Uhr, aber spätestend bei Sonnenuntergang runter (1). Also so: 21:00<sunset-12 = 1 (aus dem Nachtlicht-Thread)

    Für morgens wieder hoch bekomme ich den Crontab Eintrag mit den wdays nicht integriert, es soll Werktags [0,1,2,3,4] um 06:30 Uhr und am Wochenende [5,6] um 08:00 Uhr wieder hoch (=0) gefahren werden, wie integriere ich diese Zeitangabe in den Crontab-Eintrag?

    Wäre nett wenn mir einer einen Tipp geben kann.

    #2
    Hi,
    versuchs mal so:
    Code:
    crontab = 21:00<sunset-12 = True | 30 6 * 0,1,2,3,4 = False | 0 8 * 5,6 = False
    sag bescheid obs klappt.

    Gruß, Mike

    Kommentar


      #3
      Hallo Mike,

      danke für deine Hilfe so funktioniert es perfekt, manchmal sieht man den Wald vor lauter Bäumen nicht...

      Kommentar


        #4
        Hallo Axel,

        wie sieht denn Deine passende Logik.py davon aus?

        LG René

        Kommentar


          #5
          Zur Logik bin ich noch nicht gekommen, aber es soll eine Schleife werden, die jedes Fenster einzeln auf den Öffungsstatus prüft und dann die hinterlegte Position anfährt.

          Kommentar


            #6
            Die Logik von Mike ist Klasse und funktioniert bei mir zum einschalten, nur was muss in der Logik stehen wenn z.B. ein Licht bei False auch wieder aus gehen soll?
            Oder Rolllade hoch und runter. Ich kann bis jetzt nur ein (an oder aus, hoch oder runter)
            Hat da einer ein Bsp.?

            Kommentar


              #7
              Habe ein ähnliches Anliegen und wollte nicht direkt einen neuen Thread aufmachen:
              Wenn ich für meine Rollos das Crontab Attribut direkt in den Items pflege funktioniert alles wie gewünscht.
              Wenn ich es aber über eine Logik probiere, fahren die Rollos nicht.
              Zum testen habe ich eine Info im Log ausgegeben, die auch weggeschrieben wird, so dass ich weiß, dass die Logik aufgerufen wird.

              Beispiel für funktionierende Version in den Items:
              Code:
              [[[rollo_links]]]
                          [[[[move]]]]
                              type = num
                              visu = yes
                              knx_dpt = 1
                              knx_send = 0/0/12
                              crontab = sunset+12m = 1 | sunrise+5m = 0
              Beispiel der nicht funktionierenden Logik / Text kommt im Log an:
              Code:
              #!/usr/bin/env python
              # Rolladen hoch fahren
              sh.og.gaube.rollo(0)
              logger.info("Rollo soll fahren")
              Habt ihr eine Idee warum die Rollos nicht per Logik fahren?

              Kommentar


                #8
                Zeig mal das zugehörige Item sh.og.gaube.rollo
                Mit freundlichen Grüßen
                Niko Will

                Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                Kommentar


                  #9
                  Voila, hier die items für das OG:

                  Code:
                  [og]
                  	[[gaube]]
                  		[[[rollo]]]
                  			[[[[move]]]]
                  				type = num
                  				visu = yes
                  				knx_dpt = 1
                  				knx_send = 0/1/8
                  			[[[[stop]]]]
                  				type = num
                  				visu = yes
                  				enforce_updates = yes
                  				knx_dpt = 1
                  				knx_send = 0/1/9
                  			[[[[pos]]]]
                                                  type = num
                                                  visu = yes
                                                  knx_dpt = 5
                                                  knx_cache = 0/1/16
                                                  knx_send = 0/1/8
                  Die Tabulatoren von [og] auf [[gaube]] sind irgendwie beim Copy&Paste verhunzt...sehen im Original (Notepad++) aber gut aus...über die Visu lässt sich das Rollo auch fahren.

                  Kommentar


                    #10
                    Hi,

                    die KNX-Telegramme werden nur verschickt wenn sich der Wert ändert.

                    enforce_updates als Item-Attributes sollt Abhilfe schaffen. Siehe Doku für weitere Informationen.

                    Bis bald

                    Marcus

                    Kommentar


                      #11
                      Hi, Probiers mal so:
                      Code:
                       sh.og.gaube.rollo('0')
                      Zitat von jes Beitrag anzeigen
                      Beispiel der nicht funktionierenden Logik / Text kommt im Log an:
                      Code:
                      #!/usr/bin/env python
                      # Rolladen hoch fahren
                      sh.og.gaube.rollo(0)
                      logger.info("Rollo soll fahren")
                      Habt ihr eine Idee warum die Rollos nicht per Logik fahren?

                      Kommentar


                        #12
                        Sry aber ich muss nochmal nachfragen.

                        Ich verstehe den crontab wann er ausgeführt wird,
                        Code:
                        crontab = 21:00<sunset-12 = True | 30 6 * 0,1,2,3,4 = False | 0 8 * 5,6 = False
                        aber hiermit in der Logik geht ja nur das Rollo hoch bzw. Licht an.
                        Code:
                        sh.og.gaube.rollo('0')
                        sh.eg.kueche.lampe('1')
                        sh.eg.kueche.lampe('on')
                        Wie mache ich es dass das Rollo in einer Logik rauf und runter / Licht an und auch wieder aus geht?

                        Kommentar


                          #13
                          @Traqso,

                          Die Crontabs haben eigentlich mit der Logik nicht wirklich was zu tun.

                          Was willst denn in der Logik genau machen ?
                          Man findet genug beispiele hier im Forum.
                          z.b. kann man mit einer if then abfrage das Licht ein/aus schalten.

                          kleines Beispiel:
                          Code:
                            if not sh.wohnen.licht():
                              sh.wohnen.licht('on')
                            else:    
                              sh.wohnen.licht('off')
                          Dann wird bei jedem Triggern der Logik der aktuelle zustand vom Item abgefragt, und umgeschaltet.

                          Gruß, Mike

                          Kommentar


                            #14
                            Ok danke.
                            ich verstehe nur den Zusammenhang mit dem true und false im crontab nicht.
                            Ich will ganz banal Licht um eine bestimmte Uhrzeit an und wieder aus machen. Dies an unterschiedlichen Zeiten pro Wochentag.

                            In Deinem Beispiel geht das Licht an wenn es zuvor aus war, und aus wenn es an ist.
                            Dann bräuchte man doch nur ein crontab = Uhrzeit
                            Aber wie kombiniert man das mit: 30 6 * 0,1,2,3,4 = False | 0 8 * 5,6 = False ?
                            Das verstehe ich leider nicht.
                            Sry bin absoluter Neuling in Logiken.

                            Kommentar


                              #15
                              Dazu brauchst du keine Logik, du kannst auch Items mit crontab attributieren. Vorne steht der genaue Schaltzeitpunkt und nach dem Gleichheitszeichen welcher Wert zu diesem Zeitpunkt gesetzt werden soll. Wie man crontab verwendet? goto Doku: Configuration ? SmartHome.py 1.0 documentation
                              Mit freundlichen Grüßen
                              Niko Will

                              Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                              - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                              Kommentar

                              Lädt...
                              X