Ankündigung

Einklappen
Keine Ankündigung bisher.

Logik warten lassen, bis Russound an

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

    #16
    Mit time.sleep(180) ändert sich nichts, zweimal probiert. Auch hier kommt, nach den 180 Sekunden zuverlässig das Item RUS.ZONE1.TURNONVOL, einige Sekunden danach meldet der Russound sich mit "MUTE", "BALANCE" etc. Items auf dem Bus. Das spricht für die zweite Ursache.

    Also habe ich die Logik wie folgt geändert:

    Code:
    if sh.RUS.ZONE1.BOOLTOV() == True and sh.K4.STECK.SWIT2() == True:
        sh.RUS.ZONE1.TURNONVOL(7)
        sh.RUS.ZONE1.SOURCE(2)
        logic.logger.warning("E3_if")
    elif sh.RUS.ZONE1.BOOLTOV() == True and sh.K4.STECK.SWIT2() == False:
        sh.K4.STECK.SWIT2(True)
        logic.logger.warning("E3_elif_A")
        time.sleep(100)
        sh.RUS.ZONE1.SOURCE(2)
        logic.logger.warning("E3_elif_B")
        time.sleep(20)
        sh.RUS.ZONE1.TURNONVOL(7)
        logic.logger.warning("E3_elif_C")
    else:
        sh.RUS.ZONE1.POWER(False)
        logic.logger.warning("E3_else")
    Hier sendet die Logik also erstmal das Source-Item, sozusagen als zweiten Weckruf für den Russound, dann kommt erst der eigentliche Einschaltbefehlt TURNONVOL 20 Sekunden später.
    Cheers
    Art Mooney

    Kommentar


      #17
      Da das nichts gebracht hat, alternativ folgendes versucht, also hier TURNONVOL und SOURCE beide quasi als zweiter Trigger:

      Code:
      if sh.RUS.ZONE1.BOOLTOV() == True and sh.K4.STECK.SWIT2() == True:
          sh.RUS.ZONE1.TURNONVOL(7)
          sh.RUS.ZONE1.SOURCE(2)
          logic.logger.warning("E3_if")
      elif sh.RUS.ZONE1.BOOLTOV() == True and sh.K4.STECK.SWIT2() == False:
          sh.K4.STECK.SWIT2(True)
          logic.logger.warning("E3_elif_A")
          time.sleep(100)
          sh.RUS.ZONE1.TURNONVOL(7)
          sh.RUS.ZONE1.SOURCE(2)
          logic.logger.warning("E3_elif_B")
          time.sleep(20)
          sh.RUS.ZONE1.TURNONVOL(7)
          logic.logger.warning("E3_elif_C")
      else:
          sh.RUS.ZONE1.POWER(False)
          logic.logger.warning("E3_else")
      Das funktioniert auch nicht.
      Cheers
      Art Mooney

      Kommentar


        #18
        So, nach einigem Testen ist klar, dass die Logik direkt nach einem Neustart des smarthomeNG-service funktioniert. Beim zweiten Versuch geht es dann aber wieder nicht. Ich habe das jetzt mehrmals ausprobiert. Woran kann denn das liegen? Wie gesagt geht die Steckdose immer an, nur der Russound wird nicht eingeschaltet. Wie Ihr oben seht, habe ich bei allen Items ein "enforce_updates".

        Hier nochmal die Logik, die nach einem Neustart der Logik funktioniert:

        Code:
        if sh.RUS.ZONE1.BOOLTOV() == True and sh.K4.STECK.SWIT2() == True:
            sh.RUS.ZONE1.TURNONVOL(7)
            sh.RUS.ZONE1.SOURCE(2)
            logic.logger.warning("E3_if")
        elif sh.RUS.ZONE1.BOOLTOV() == True and sh.K4.STECK.SWIT2() == False:
            sh.K4.STECK.SWIT2(True)
            logic.logger.warning("E3_elif_A")
            time.sleep(100)
            sh.RUS.ZONE1.TURNONVOL(7)
            logic.logger.warning("E3_elif_B")
            sh.RUS.ZONE1.SOURCE(2)
            logic.logger.warning("E3_elif_C")
        else:
            sh.RUS.ZONE1.POWER(False)
            logic.logger.warning("E3_else")
        Cheers
        Art Mooney

        Kommentar


          #19
          Update: Da es mir nicht gelungen ist, die Wartezeit auf den Russound nach dem Schalten der Steckdose in der Logik selbst umzusetzen, habe ich den Schaltaktor mit Strommessung (MDT) so parametriert, dass er nach einer gewissen Zeit mit einer gewissen Last (=Russound ist im Standby) ein EIN-Telegramm auf den Bus sendet. Das Telegramm nimmt smarthomeNG dann als Trigger für das Einschalten des Russound aus dem Standby.

          Nach 80 Sekunden unter Standby-Last schickt der Schaltaktor das Telegramm. Damit funktioniert das Einschalten zuverlässig. Nun arbeite ich mich in der Zeit nach unten, um den Russound möglichst schnell aufwecken zu können.
          Cheers
          Art Mooney

          Kommentar


            #20
            Update: 40 Sekunden reichen dem Russound zum Aufwachen. 30 Sekunden reichen nicht.
            Cheers
            Art Mooney

            Kommentar

            Lädt...
            X