FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: uxtuner am 27 Januar 2018, 07:45:17

Titel: Device switchen (on/off)
Beitrag von: uxtuner am 27 Januar 2018, 07:45:17
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
Titel: Antw:Device switchen (on/off)
Beitrag von: Wzut am 27 Januar 2018, 08:36:10
Kommt auf das Device an , manche kennen toggle :)
Titel: Antw:Device switchen (on/off)
Beitrag von: Amenophis86 am 27 Januar 2018, 08:45:07
Oder den cmdalias für toggle, wenn es toggle nicht gibt.
Titel: Antw:Device switchen (on/off)
Beitrag von: Ralf W. am 27 Januar 2018, 08:59:19
sh. Wiki:
define c_setex cmdalias setex .* AS set $EVTPART0:FILTER=STATE!=$EVTPART1 $EVTPART1

MfG
Titel: Antw:Device switchen (on/off)
Beitrag von: uxtuner am 27 Januar 2018, 09:51:14
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
Titel: Antw:Device switchen (on/off)
Beitrag von: Ralf W. am 27 Januar 2018, 10:18:16
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 nix


Wenn ein Gerät eingeschaltet ist, brauche ich es ja nicht noch einmal einschalten.

MfG
Titel: Antw:Device switchen (on/off)
Beitrag von: uxtuner am 27 Januar 2018, 10:20:19
ich weiss aber den Schaltbefehl nicht!
d.h. ich weiß nicht ob ich aus oder ein schalte, deswegen will ich ja togglen
Titel: Antw:Device switchen (on/off)
Beitrag von: Amenophis86 am 27 Januar 2018, 10:21:02
Bevor es hier noch mehr Verwirrung gibt, poste doch mal konkret ein list des Device und was damit passieren soll.
Titel: Antw:Device switchen (on/off)
Beitrag von: uxtuner am 27 Januar 2018, 10:21:43
ist doch schon oben passiert (#4) ...
Titel: Antw:Device switchen (on/off)
Beitrag von: Amenophis86 am 27 Januar 2018, 10:25:05
Dann versteh ich nicht was am toggle cmdalias falsch sein soll?
Titel: Antw:Device switchen (on/off)
Beitrag von: uxtuner am 27 Januar 2018, 10:32:05
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?
Titel: Antw:Device switchen (on/off)
Beitrag von: Jamo am 27 Januar 2018, 10:41:35
mit notify auf das on/off event:
set arbeit_Deckenlampe:FILTER=state!=$EVENT $EVENT
Titel: Antw:Device switchen (on/off)
Beitrag von: Otto123 am 27 Januar 2018, 10:56:08
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
Titel: Antw:Device switchen (on/off)
Beitrag von: uxtuner am 27 Januar 2018, 13:15:24
@inoma
funktioniert leider nicht ...
Titel: Antw:Device switchen (on/off)
Beitrag von: barneybaer am 28 Januar 2018, 14:38:35
Ist das dann ne Technolampe die ständig an und aus geht?

Gesendet von meinem SM-G930F mit Tapatalk

Titel: Antw:Device switchen (on/off)
Beitrag von: uxtuner am 28 Januar 2018, 17:32:55
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