Hallo,
ich habe eine FritzBox Dect200 (schaltbare Steckdose) für meinen Rechner. Den kann ich auch über Alexa schalten: Alexa, schalte Rechner aus / ein.
bei aus soll er aber erst die Stromaufnahme checken, falls die Stromaufnahme dann unter 20W liegt soll er die Steckdose ausschalten.
Wenn über 20W dann soll er den Rechner herunterfahren. (PC herunterfahren habe ich schon mit Perl gelöst).
Jetzt geht es darum, das fhem nicht gleich das Gerät ausschaltet, sondern zuvor eine Perlfunktion ausführt die das ganze überprüft und dementsprechend reagiert.
Geht das? Wenn ja, wie realisiere ich das über FHEM?
Danke schon mal.
Gruß, Jörg
Ich würde es über ein Dummy und ein DOIF (oder ein Notify) machen. Das Dummy als Schalter ein/aus, und das DOIF um darauf entspr. zu reagiren.
define du dummy
attr du setList on off
define di_ein_auss DOIF ([du:"on"]) (set PC an) DOELSEIF ([du:"off"]) {beliebiges Perl}
Und den Dummy kann ich dann dem Room alexa zuweisen und er wird so geschaltet wie ein Gerät... probiere ich gleich mal.
Danke.
Ich habe nun folgende Funktionen zum Test in der 99_myUtils.pm angelegt:
sub TryPCOff($) {
fhem( "set Sonos_Wohnzimmer Speak 40 de Rechner wurde ausgeschaltet" );
}
sub PCON($) {
fhem( "set Sonos_Wohnzimmer Speak 40 de Rechner wird eingeschaltet" );
}
Dann:define Rechner dummy
attr Rechner setList on off
define Rechner_Ein_Aus DOIF ([Rechner:"on"]) {PCON()} DOELSEIF ([Rechner:"off"]) {TryPCOff()}
Mit
set Rechner_Ein_Aus on
sollte doch jetzt Sonos_Wohnzimmer angesprochen werden?
Es kommt aber nix
Wenn ich blank: set Sonos_Wohnzimmer Speak 40 de Rechner wird eingeschaltet
aufrufe geht es natürlich.
Ne, bei "set Rechner on"