Hallo Zusammen,
ich habe gerade ein Mega-Brett vor dem Kopf. Ich hoffe Ihr könnt mir helfen.
Ich habe mir einen Schalter definiert der meinen PC aufweckt:
define ctrl_WOL dummy
attr ctrl_WOL alias PC WakeOnLan
attr ctrl_WOL group Multimedia
attr ctrl_WOL room Wohnraum
attr ctrl_WOL webCmd on:off
#attr ctrl_WOL stateFormat {ReadingsVal("pc", "state", "")}
#attr ctrl_WOL devStateIcon present:on absent:off
Ein entsprechendes notify, welches den PC aufweckt:
define setPcOn notify ctrl_WOL {WakeOnLan('xx:xx:xx:xx:xx:xx')}
Funktioniert bis dahin prima. Nun möchte ich aber dem Dummy den state des PC aus dem presence-Modul geben, soll heißen der state des Schalters soll sich nicht auf "drücken" ändern, sondern den Status des PC wiederspiegeln. Hab schon so einiges probiert aber leider ohne Erfolg. Mittlerweile glaube ich, dass ich einen komplett falschen Ansatz verfolge. Kann mir jemand helfen, dass Brett vor dem Kopf loszuwerden?
Vielen Dank, Marcus
nimm statt des dummy direkt das prescence device und verwende das powerCmd attribut um mit dem icon des presence device den rechner aufzuwecken.
gruss
andre
Besten Dank, kannst du mir noch mit einem Verwendungsbeispiel aushelfen, werde aus der Doku nicht ganz schlau. Ich habe folgenden Code:
define pc PRESENCE lan-ping 192.168.0.205 300
attr pc event-on-change-reading state
attr pc group Multimedia
attr pc room Wohnraum
Natürlich wird noch kein Button gerändert sondern das aktuelle state-reading.
Danke, Marcus
du brauchst wie beim dummy auch ein passendes devStateIcon und das powerCommand:attr pc devStateIcon precent:on absent:off:power
attr pc powerCmd {WakeOnLan('xx:xx:xx:xx:xx:xx')}
d.h. wenn der state present ist wird das on icon angezeigt, wenn der state absent ist wird das off icon angezeigt und beim klick auf das off icon wird das power command ausgeführt. dieses führt das im attribut powerCmd hinterlegte kommando aus.
gruss
andre
...danke, funktioniert! Jetzt muss ich es nur noch hinbekommen, dass die andFhem App auch noch einen Button anzeigt, aber das ist sicher ne andere Baustelle.