Ankündigung

Einklappen
Keine Ankündigung bisher.

Item updaten ohne Event starten

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

    Item updaten ohne Event starten

    Folgendes ich hab eine Switch Item, der bei ON eine bestimmte Aktion ausführt.
    Ich es möglich über eine Regel, das Item auf ON zusetzen ohne dass die Aktion ausgeführt wird ?

    #2
    Ich würde ja erstmal nach dem Hintergrund fragen warum du sowas machen willst.
    Du kannst den Inhat der Rule natürlich von einer anderen Bedingung abhängig machen, indem du um den Code eine IF Abfrage machst.
    Holger

    Kommentar


      #3
      Wenn Du die ON-Rule auf Item received Command ON triggern lässt, kannst du mit postUpdate das Item auf ON ändern, ohne dass die Rule getriggert wird. Aber vermutlich möchtest Du eher mit Item changed to ON triggern...

      Kommentar


        #4
        Ich schalte mit einem Switch Item den Fernseher ein, ON schickt "An" an den TV und OFF schickt "Aus" an den TV.

        wird der Fernseher jedoch mit der Fernbedienung ausgemacht, steht das Item immernoch auf ON. Aus diesem Grund habe ich ein Skript das periodisch prüft ob der TV an oder aus ist.

        Sollte der Fernseher mit dem Fernbedienung eingeschalten werden und das Skript erkennt dass, möchte ich das Switch Item auf ON setzen ohne das "An" an den TV geschickt wird.

        Kommentar


          #5
          Ah. Wie schaltest du den Fernseher an? Wie erkennst Du, ob der Fernseher eingeschaltet ist? Und was passiert, wenn Du dem Fernseher im Ein-Zustand nochmal das Ein-Kommando sendest?
          Zuletzt geändert von udo1toni; 12.05.2015, 18:36.

          Kommentar


            #6
            Den Statusüberprüfe ich mit:

            Code:
            ret=executeCommandLine("/bin/sh@@-c@@echo 'scan '| cec-client -s -d 1 | grep -iE '(power|currently active source)' |cut -d ':' -f 2 | sed '2d'| sed '2d'| tr '\r\n' ';' | tr -d '\t\n\r' |  cut -d '(' -f1 | tr -d ' '", 200000)
                buffer=ret.split(";")
                TV_Status.sendCommand(buffer.get(0))
                TV_Source.sendCommand(buffer.get(1))
            Damit erkenne ob der TV an ist oder im Standby. Ebenso bekomme ich die Information ob die Quelle "TV" aktiv ist, sind andere Quellen aktiv bekomme ich "unknown" zurück.

            Den Fernseher schalte ich über den CEC-Client von Linux an und aus, zusätzlich hängt der Fernseher an einem Zwischenstecker

            Kommentar


              #7
              Das einfachste wäre wohl, mehrere Items anzulegen, eines zum Abfragen, eines zum Schalten und für die UI. Dann kannst Du die Items über ein paar Rules entsprechend miteinander verknüpfen. Wenn Du den Switch über die UI betätigst, erzeugt das Item ein Command. Wenn sich der Status des Fernsehers ändert, kannst Du dann das UI-Item mit postUpdate auf die korrekte Position setzen, dabei wird kein Command abgesetzt.

              Kommentar

              Lädt...
              X