Hallo zusammen,
ich habe diese Funksteckdosen (http://www.fhemwiki.de/wiki/Intertechno_Code_Berechnung#REV_Telecontrol), die kein toggle kennen.
Nun habe ich mir diese Seite (http://www.fhemwiki.de/wiki/99_myUtils_anlegen#Eigene_Programmdatei_laden) zu Gemüte geführt, doch da blicke ich nicht durch.
Ich habe diesen Inhaltpackage main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
##########################################################
# Untoggle
# toggle-Vorgänge in den Status on/off umsetzen
sub Untoggle($) {
my ($obj) = @_;
if (Value($obj) eq "toggle"){
if (OldValue($obj) eq "off") {
{fhem ("setstate ".$obj." on")}
}
else {
{fhem ("setstate ".$obj." off")}
}
}
else {
{fhem "setstate ".$obj." ".Value($obj)}
}
}
1;
in die Datei 99_klingelUtils.pm geschrieben. FHEM mit shutdown restart neu gestartet damit die Änderung übernommen wird.
Aber wie jetzt weiter? Ist das hier richtig?define Pfirsichbaum_toggle notify Pfirsichbaum {Untoggle("@")}
Und dann{ Untoggle("Pfirsichbaum_toggle") }
Da tut sich aber nichts. Wo mache ich den Fehler?
Versuchs mal einfach mit
define Pfirsichbaum_toggle notify Pfirsichbaum { if (Value("Steckdose") eq "off") { fhem("set Steckdose on") } else { fhem("set Steckdose off") }}
Hallo Elric,
habe ich gemacht. Aber wie toggle ich dann?
trigger Pfirsichbaum_toggle toggle
Das funktioniert nichttrigger Pfirsichbaum_toggle
Das auch nicht. ???
define Pfirsichbaum_toggle notify Pfirsichbaum { if (Value("Steckdose") eq "off") { fhem("set Steckdose on") } else { fhem("set Steckdose off") }}
Auslösen mit
trigger Pfirsichbaum
Dann kommtPlease define Pfirsichbaum first
Okay, auf die Gefahr hin das es ein Anfäger-Bedienungsfehler ist hier Stepbystep:
Die Steckdose heißt Pfirsichbaum_Steckdose und die kann ich auch on und off schalten - das funktioniert.
Dann gebe ich das in die Befehlszeile der Weboberfläche ein:define Pfirsichbaum_toggle notify Pfirsichbaum { if (Value("Pfirsichbaum_Steckdose") eq "off") { fhem("set Pfirsichbaum_Steckdose on") } else { fhem("set Pfirsichbaum_Steckdose off") }}
Dann trigger Pfirsichbaum und es erscheint wie gesagt dass es nicht definiert ist.
Testweise trigger Pfirsichbaum_toggle bringt zumindest keinen Fehler, ich lande lediglich in der Heimatseite der Weboberfläche. Die Lampen bleiben aber unverändert.
------------------------------------------
JA! Endlich :D
So geht das:define Pfirsichbaum_toggle notify Pfirsichbaum { if (Value("Pfirsichbaum") eq "off") { fhem("set Pfirsichbaum on") } else { fhem("set Pfirsichbaum off") }}
Wobei Pfirsichbaum die Steckdose ist und folgerichtig jeweils mit trigger Pfirsichbaum getoggelt wird.