[gelöst] Wie Steckdosen togglen die es nicht können?

Begonnen von ChristianKnorr, 30 Dezember 2013, 23:47:04

Vorheriges Thema - Nächstes Thema

ChristianKnorr

Hallo zusammen,
ich habe diese Funksteckdosen, die kein toggle kennen.
Nun habe ich mir diese Seite 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?

Tion

Versuchs mal einfach mit

define  Pfirsichbaum_toggle notify Pfirsichbaum  { if (Value("Steckdose") eq "off") { fhem("set Steckdose on") } else { fhem("set Steckdose off") }}
FHEM@CT||RFXTRX,CUL868@MAX,HM-Usb,JeeLink
Jee:TX29DTH-IT||Max:Thermostat,ShutterContact,
HM:SEC-MDIR,LC-SW1-PL2,LC-Dim1TPBU-FM,PB-2-WM55
RFX:FA20RF/2, HE501EU,ITL-230,OWL Intuition-lc,YCT-100,div Brennstuhl,IT 1500
FS20:IRU,KSE||FbDect 200,EG-PM2-LAN

ChristianKnorr

Hallo Elric,
habe ich gemacht. Aber wie toggle ich dann?
trigger Pfirsichbaum_toggle toggleDas funktioniert nichttrigger Pfirsichbaum_toggleDas auch nicht. ???

roedert

#3
define  Pfirsichbaum_toggle notify Pfirsichbaum  { if (Value("Steckdose") eq "off") { fhem("set Steckdose on") } else { fhem("set Steckdose off") }}

Auslösen mit

trigger Pfirsichbaum

ChristianKnorr

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.