Ankündigung

Einklappen
Keine Ankündigung bisher.

(kleine) Rollladen Logik fährt nicht alle Rollladen

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

    (kleine) Rollladen Logik fährt nicht alle Rollladen

    hallo,

    habe bei folgender Logik immer wieder das Problem das einige Rollos früh nicht hochgefahren werden, smarthome.py läuft immer. (jeden Tag unterschiedlich)

    Im Smarthome-log wird auch ordentlich geschalten nur die Rollladen fahren nicht.

    Code:
    2014-09-02 06:45:00 INFO     gesamtfunktion_EG_fahren   *******        
    2014-09-02 06:45:00 INFO     gesamtfunktion_EG_fahren   *******        
    2014-09-02 06:45:00 INFO     gesamtfunktion_EG_fahren   *******        
    2014-09-02 06:45:00 INFO     gesamtfunktion_EG_fahren  *******         
    2014-09-02 06:45:00 INFO     gesamtfunktion_EG_fahren  Rolladen logik gestartet
    2014-09-02 06:45:00 INFO     gesamtfunktion_EG_fahren  *******         
    2014-09-02 06:45:00 INFO     gesamtfunktion_EG_fahren  *******         
    2014-09-02 06:45:00 INFO     gesamtfunktion_EG_fahren  **** Rolladen hoch 
    2014-09-02 06:45:00 INFO     Main         knx: 0.0.0 set 6/0/0 to 00
    2014-09-02 06:45:00 INFO     Main         knx: 0.0.0 set 6/0/1 to 00
    2014-09-02 06:45:00 INFO     Main         knx: 0.0.0 set 6/0/2 to 00
    2014-09-02 06:45:00 INFO     Main         knx: 0.0.0 set 6/0/3 to 00
    2014-09-02 06:45:00 INFO     Main         knx: 0.0.0 set 6/0/4 to 00
    2014-09-02 06:45:00 INFO     Main         knx: 0.0.0 set 6/0/5 to 00
    2014-09-02 06:45:00 INFO     Main         knx: 0.0.0 set 6/0/6 to 00
    2014-09-02 06:45:00 INFO     Main         knx: 0.0.0 set 6/0/7 to 00
    2014-09-02 06:45:00 INFO     Main         knx: 0.0.0 set 6/0/8 to 00
    2014-09-02 06:45:00 INFO     Main         knx: 0.0.0 set 6/0/9 to 00
    Logik:

    Code:
    #!/usr/bin/env python
    #
    
    logger.info(' Rolladen Logik gestartet')
    logger.info(' *******         ')
    logger.info(' *******         ')
    
    if (trigger['value'] == 1):
        logger.info(' **** Rolladen runter')
        sh.Rollladen.Rollladen_GaesteWC_fahren(1)
        sh.Rollladen.Rollladen_DieleFlur_fahren(1)
        sh.Rollladen.Rollladen_Buero1m_fahren(1)
        sh.Rollladen.Rollladen_Buero2m_fahren(1)
        sh.Rollladen.Rollladen_Kueche_fahren(1)
        sh.Rollladen.Rollladen_Wohnen1_fahren(1)
        sh.Rollladen.Rollladen_Wohnen2_fahren(1)
        sh.Rollladen.Rollladen_EsszimmerReL_fahren(1)
        sh.Rollladen.Rollladen_Esszimmer1_fahren(1)
        sh.Rollladen.Rollladen_Esszimmer2_fahren(1)
        sh.Rollladen.Rollladen_Garage_fahren(1)
    else:
        logger.info(' **** Rolladen hoch ')
        sh.Rollladen.Rollladen_GaesteWC_fahren(0)
        sh.Rollladen.Rollladen_DieleFlur_fahren(0)
        sh.Rollladen.Rollladen_Buero1m_fahren(0)
        sh.Rollladen.Rollladen_Buero2m_fahren(0)
        sh.Rollladen.Rollladen_Kueche_fahren(0)
        sh.Rollladen.Rollladen_Wohnen1_fahren(0)
        sh.Rollladen.Rollladen_Wohnen2_fahren(0)
        sh.Rollladen.Rollladen_EsszimmerReL_fahren(0)
        sh.Rollladen.Rollladen_Esszimmer1_fahren(0)
        sh.Rollladen.Rollladen_Esszimmer2_fahren(0)
        sh.Rollladen.Rollladen_Garage_fahren(0)
    Items:
    Code:
    [Rollladen]
        [[Rollladen_GaesteWC_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 6/0/0
                    
        [[Rollladen_GaesteWC_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/0
    
        [[Rollladen_DieleFlur_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 6/0/1
                    
        [[Rollladen_DieleFlur_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/1
            
        [[Rollladen_Buero1m_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 6/0/2
                    
        [[Rollladen_Buero1m_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/2
    
        [[Rollladen_Buero2m_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 6/0/3
                    
        [[Rollladen_Buero2m_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/3
    
        [[Rollladen_Kueche_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes        
            knx_dpt = 1
            knx_send = 6/0/4
                    
        [[Rollladen_Kueche_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/4
    
        [[Rollladen_Wohnen1_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 6/0/5
                    
        [[Rollladen_Wohnen1_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/5
    
        [[Rollladen_Wohnen2_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 6/0/6
                    
        [[Rollladen_Wohnen2_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/6
    
        [[Rollladen_EsszimmerReL_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 6/0/7
                    
        [[Rollladen_EsszimmerReL_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/7
            
        [[Rollladen_Esszimmer1_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 6/0/8
                    
        [[Rollladen_Esszimmer1_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/8
            
        [[Rollladen_Esszimmer2_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 6/0/9
                    
        [[Rollladen_Esszimmer2_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/9
            
        [[Rollladen_Garage_fahren]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 6/0/10
                    
        [[Rollladen_Garage_stop]]
            type = num
            visu_acl = rw
            enforce_updates = yes
            knx_dpt = 1
            knx_send = 7/0/10
    Vielen Dank vorab.

    Grüße
    Steven

    #2
    Hi Steven,

    evtl. das dein Problem: https://knx-user-forum.de/diy-do-you...u-schnell.html

    Gruß,
    Jörg

    Kommentar


      #3
      Um das schnell ohne Kosten zu kontrollieren füge doch einfach ein
      Code:
      sleep(sekunden)
      zwischen den einzelnen Aufrufen ein. Dann wird jedem Komando die Zeit gegeben am Bus angekommen zu sein.

      Kommentar


        #4
        Hi dirk2013,

        welche Kosten meinst Du?

        Gruß,
        Jörg

        Kommentar


          #5
          Wenn die Nachrichten nicht ordendlich auf den Bus kommen ist meiner Erfahrung immer irgendein Gateway schuld. Bevor man dieses jedoch austauscht ( was Kosten verursacht ) kann man Timing Probleme auch auf eine "lange Bank" schieben um eine gewisse Zeit noch mit einem Workaround zu leben ( den sleep Befehl ) :-)

          Das meinte ich mit Kosten.

          Gruß
          Dirk

          Kommentar


            #6
            Damit man nicht austauschen muß war ja der link auf den anderen Thread mit dem Verweis auf die option "--no-tunnel-client-queuing" des eibd, die evtl. schon reicht.
            Hintergrund kam hierher: https://knx-user-forum.de/smarthome-...l-langsam.html

            Gruß,
            Jörg

            Kommentar


              #7
              Setzt er auch das dort beschriebene GW ein?

              Kommentar


                #8
                Hi Dirk,
                ich kann Dir nicht mal sagen ob Steven überhaupt einen IP-Gateway hat oder ob er per USB o.ä. arbeitet ...
                Uns interessiert das Thema anscheinend mehr als ihn
                Aber da es sich um einen allgemeinen Parameter des eibd handelt ist es sicher nicht schädlich den zu versuchen.
                Der eibd sagt dazu:
                Code:
                --no-tunnel-client-queuing   do not assume KNXnet/IP Tunneling bus
                                             interface can handle parallel cEMI requests
                Mal sehen was Steven so zu sagen hat ...

                Gruß,
                Jörg

                Kommentar


                  #9
                  Zitat von Intruder73 Beitrag anzeigen
                  Hi Dirk,
                  ich kann Dir nicht mal sagen ob Steven überhaupt einen IP-Gateway hat oder ob er per USB o.ä. arbeitet ...
                  Uns interessiert das Thema anscheinend mehr als ihn
                  Aber da es sich um einen allgemeinen Parameter des eibd handelt ist es sicher nicht schädlich den zu versuchen.
                  Der eibd sagt dazu:
                  Code:
                  --no-tunnel-client-queuing   do not assume KNXnet/IP Tunneling bus
                                               interface can handle parallel cEMI requests
                  Mal sehen was Steven so zu sagen hat ...

                  Gruß,
                  Jörg
                  Hallo,

                  das stimmt so nicht, das Thema interessiert mich brennend und ich denke jeden früh/abend daran nur bin ich im Moment beruflich ziemlich eingespannt.

                  Ich habe ein GIRA USB Interface.

                  Werde heute abend erstmal mit dem "sleep" probieren und berichten...

                  Gruß
                  Steven

                  Kommentar


                    #10
                    wie muss "sleep" gesetzt werden?

                    Kriege immer folgenden Fehler:

                    Code:
                    2014-09-05 20:32:00 ERROR    gesamtfunktion_EG_fahren Logic: gesamtfunktion_EG_fahren, File: /usr/smarthome/logics/test.py, Line: 13, Method: <module>, Exception: name 'sleep' is not defined
                    Traceback (most recent call last):
                      File "/usr/smarthome/lib/scheduler.py", line 327, in _task
                        exec(obj.bytecode)
                      File "/usr/smarthome/logics/test.py", line 13, in <module>
                        sleep(1)
                    NameError: name 'sleep' is not defined
                    Line 13 ist sleep(1)
                    Code:
                    ...
                    if (trigger['value'] == 1):
                        logger.info(' **** Rolladen runter')
                        sleep(1)
                    ...
                    sh.sleep hab ich auch schon probiert leider ohne erfolg.

                    Gruß
                    Steven

                    Kommentar


                      #11
                      Keiner eine Idee warum die "sleep" funktion bei mir nicht funktioniert?

                      Gruß
                      Steven

                      Kommentar


                        #12
                        Sorry, habe keine Ahnung von Python, aber der Google sagt:
                        Code:
                        import time
                        time.sleep(5) # delays for 5 seconds
                        Gruß,
                        Jörg

                        Kommentar


                          #13
                          Zitat von Intruder73 Beitrag anzeigen
                          Sorry, habe keine Ahnung von Python, aber der Google sagt:
                          Code:
                          import time
                          time.sleep(5) # delays for 5 seconds
                          Gruß,
                          Jörg

                          super, danke

                          Scheint nun zu funktionieren werde es die nächsten Tage beobachten.

                          Gruß
                          Steven

                          Kommentar

                          Lädt...
                          X