Hallo,
gibt es einen einfachen Weg ein Device zu switchen ohne den aktuellen Status vorher abzufragen?
z.B. Licht soll eingeschaltet werden wenn es aus war oder umgekehrt
			
			
			
				Kommt auf das Device an , manche kennen toggle :) 
			
			
			
				Oder den cmdalias für toggle, wenn es toggle nicht gibt. 
			
			
			
				sh. Wiki:
define c_setex cmdalias setex .* AS set $EVTPART0:FILTER=STATE!=$EVTPART1 $EVTPART1
MfG
			
			
			
				es ist ein Dummy device:
Internals:
   NAME       arbeit_Deckenlampe
   NR         105
   STATE      off
   TYPE       dummy
   READINGS:
     2018-01-26 17:28:09   state           off
Attributes:
   alias      Arbeit
   genericDeviceType light
   group      Beleuchtung
   homebridgeMapping On=state,cmdOn=on,cmdOff=off
   room       Homekit,Licht,Obergeschoss
   webCmd     on:off
natürlich könnte man sowas machen:
  if ($value{"arbeit_Deckenlampe"} eq "off") {
     fhem "set arbeit_Deckenlampe on"
   } else {
     fhem "set arbeit_Deckenlampe off" 
ist halt nicht sehr elegant  ;)
@Ralf
dazu steht im Wiki "Schaltet ein Device nur dann, wenn Status ungleich des aktuellen Status ist " - ich will aber immer schalten
			
			
			
				Zitat von: uxtuner am 27 Januar 2018, 09:51:14
...
@Ralf
dazu steht im Wiki "Schaltet ein Device nur dann, wenn Status ungleich des aktuellen Status ist " - ich will aber immer schalten
...
Das Ding schaltet doch wie es soll, verhindert die Funklast, wenn der Status gleich ist:
Device   Schaltbefehl
on         off                schaltet
on         on                 macht nix
off        on                 schaltet
off        off                macht nixWenn ein Gerät eingeschaltet ist, brauche ich es ja nicht noch einmal einschalten.
MfG
			
 
			
			
				ich weiss aber den Schaltbefehl nicht!
d.h. ich weiß nicht ob ich aus oder ein schalte, deswegen will ich ja togglen
			
			
			
				Bevor es hier noch mehr Verwirrung gibt, poste doch mal konkret ein list des Device und was damit passieren soll.
			
			
			
				ist doch schon oben passiert (#4) ...
			
			
			
				Dann versteh ich nicht was am toggle cmdalias falsch sein soll?
			
			
			
				ich hab den alias wie oben angegeben gesetzt:
define c_setex cmdalias setex .* AS set $EVTPART0:FILTER=STATE!=$EVTPART1 $EVTPART1
jetzt will ich togglen:
set arbeit_Deckenlampe setex 
   bzw. 
setex arbeit_Deckenlampe
funktioniert nicht - oder ist mein Aufruf falsch?
			
			
			
				mit notify auf das on/off event:
set arbeit_Deckenlampe:FILTER=state!=$EVENT $EVENT
			
			
			
				Hi,
ich habe noch nicht genau verstanden, nach was genau gesucht wird?! Ist es einfach dies?
attr arbeit_Deckenlampe useSetExtensions 1
Quelle https://fhem.de/commandref_DE.html#setExtensions
Damit bekommt der Dummy den toggle Befehl
Gruß Otto
			
			
			
				@inoma
funktioniert leider nicht ...
			
			
			
				Ist das dann ne Technolampe die ständig an und aus geht? 
Gesendet von meinem SM-G930F mit Tapatalk
			
			
			
				Ausgangssituation:
1Wire 8-fach Schaltaktor schaltet Licht sowohl über FHEM GUI als auch händisch über einen Standard Schalttaster im Zimmer  
Damit das in FHEM funktioniert habe ich für jedes Zimmer einen Dummy definiert, z.B.:
Internals:
   NAME       arbeit_Deckenlampe
   NR         105
   STATE      off
   TYPE       dummy
   READINGS:
     2018-01-28 16:58:18   state           off
Attributes:
   alias      Arbeit
   genericDeviceType light
   group      Beleuchtung
   homebridgeMapping On=state,cmdOn=on,cmdOff=off
   room       Homekit,Licht,Obergeschoss
   webCmd     on:off
über ein entsprechendes Notify wird der Schaltvorgang ausgelöst:
Internals:
   DEF        Aktion_Aus:.*|arbeit_Deckenlampe:on.* set Controller set owd out 2,3,1
   NAME       arbeit_mySwitch_on
   NR         101
   NTFY_ORDER 50-arbeit_mySwitch_on
   REGEXP     Aktion_Aus:.*|arbeit_Deckenlampe:on.*
   STATE      2018-01-28 16:58:13
   TYPE       notify
   READINGS:
     2018-01-27 15:10:15   state           active
Attributes:
   room       Licht
bzw.:
Internals:
   DEF        arbeit_Deckenlampe:off.* set Controller set owd out 2,3,0
   NAME       arbeit_mySwitch_off
   NOTIFYDEV  arbeit_Deckenlampe
   NR         103
   NTFY_ORDER 50-arbeit_mySwitch_off
   REGEXP     arbeit_Deckenlampe:off.*
   STATE      2018-01-28 16:58:18
   TYPE       notify
   READINGS:
     2018-01-27 15:10:15   state           active
Attributes:
   room       Licht
Mit "set Controller set owd out 2,3,x" kann ich also das Licht über die GUI ein-/ausschalten
Wenn jemand manuell den Taster drückt, bekomme ich darüberhinaus in FHEM ein EVENT mit der Nummer des Lichtschalters
Die Herausforderung ist
a) die Nummer auszuwerten, welche Lampe gedrückt wurde (kein Problem)
b) den neuen Status auch in FHEM darzustellen - man sieht allerdings nicht im Reading ob nun an oder aus geschaltet wurde
    man weiss aber, dass der Status von an => aus oder aus => an geswitcht hat