Du vermischst Da Dinge miteinander...
Eine Szene wird ausgelöst. Sie hat keinen Zustand.
Ein Switch Item hat einen Zustand und kann einen Befehl senden (bzw. zwei unterschiedliche Befehle, eben ON oder OFF)
Die Konfiguration läuft folgendermaßen ab:
Schritt 1: Es wird das benötigte Binding installiert.
Schritt 2: Es wird pro Hardware ein Thing angelegt. Falls das Binding einen Bus anbindet, muss natürlich zunächst ein Thing für den Bus angelegt werden (dieses Thing wird dann als Bridge bezeichnet)
Schritt 3: Für jede Eigenschaft wird ein Channel angelegt. Ein Channel kann dabei nur lesbar, nur schreibbar oder schreib- und lesbar sein.
Beispiel: Ein Thermostat liefert die gemessene Temperatur als nur nur lesbaren Wert (Channel 1). Die Solltemperatur kann gelesen und geschrieben werden (Channel 2). Ein geöffnetes Fenster kann als Befehl an den Thermostaten gesendet werden (Channel 3).
Je nach Binding kann es auch sein, dass die Channel automatisch angelegt werden.
Schritt 4: für jeden verwendeten Channel wird ein Item angelegt, welches zum einen den Status des Channels hält und zum anderen Befehle an den Channel sendet (gegeben, dass der Channel schreib- und lesbar ist).
Im Fall der Mediabox hast Du also z.B. ein Switch Item, deren Zustand ON oder OFF ist (je nachdem, ob die Box läuft oder eben nicht) und deren ON-Befehl ein WOL auslöst (zum Einchalten der Box) während der OFF-Befehl z.B. einen API Call gegen die Mediabox sendet, womit über die Steuerschnittstelle in der Mediabox der Befehl zum Ausschalten ausgelöst wird.
Das Toggle Widget kannst Du in dem Zusammenhang problemlos nutzen, Die muss aber klar sein, dass ein ON-Befehl eventuell mehrere Sekunden benötigt, bis er sich überhaupt auswirkt. Evtl. wurde dann zwischenzeitlich der Status wieder angezeigt, so dass der Switch in die OFF-Stellung zurück springt. Dennoch wurde der Befehl erfolgreich abgesetzt, und meinetwegen 20 Sekunden später springt der Schalter wieder zurück auf ON. Das Gleiche kann dann sinngemäß auch für den Ausschaltbefehl gelten. Ich habe für meine VDR Rechner so umgesetzt.
Ob die Mediabox läuft, kannst Du z.B. über das network Binding heraus finden. dabei wird für jedes Gerät ein networkpingdevice angelegt, über welches dann ON (Ping wird beantwortet) oder OFF (Ping wird nicht beantwortet) signalisiert wird.
Naturgemäß gibt es hier auch eine gewisse Totzeit, weil der Ping halt nur z.B. alle 30 Sekunden geschickt wird.
Wenn man fortgeschrittene Technik einsetzt

kann man auch den Router/DHCP Server fragen, ob ein Lease freigegeben wurde, ich meine, dass z.B. Ubiquiti das kann, aber der Ping ist die einfache Variante, die eigentlich immer funktionieren sollte.
Übrigens kann man über das selbe Thing dann das Gerät auch per WOL einschalten.
Beispiel als Textkonfiguration:
Code: Alles auswählen
Thing network:pingdevice:vdrserv "NH vdr Server" @ "Ping" [ hostname="192.168.1.25", port=0, retry=1, timeout=5000, refreshInterval=60000, macAddress="01:23:45:67:89:ab" ]
Es wird alle 60 Sekunden ein Ping geschickt, wird dieser nach 5 Sekunden nicht beantwortet, gilt das Gerät als OFF. Sendet man ON anden Channel, so wird über die MAC 01:23:45:67:89:ab ein WOL Paket abgesetzt.
Wenn Du mehrere Geräte automatisch gemeinsam einschalten willst,definierst Du eine Regel, welche alle Einschaltbefehle beinhaltet. Wie Du die Regel auslöst, ist egal. Die Regel hat aber keinen Zustand, Du kannst allenfalls die Zustände der beteiligten Geräte als Indikator heranziehen, aber bitte nicht, um eine Szene als "aktiv" zu kennzeichnen, sondern allenfalls, um darauf besierend Entscheidungen zu treffen (z.B. ob es nötig ist, ein Gerät auszuschalten.