Hauptmenü

Schalten wenn nicht...

Begonnen von Heimweh, 01 September 2016, 14:12:20

Vorheriges Thema - Nächstes Thema

Heimweh

Ich stehe auf dem Schlauch. Ich schalte mit einem Intertechno Wandschalter verschiedene Funksteckdosen.


define Schlafschalter notify IT_0FFF00000F set LichtTV,LichtKueche,WzRaumtrenner,IT_0FFF0FF0FF,IT_0FFF0F0FFF,Bad_LED_Stripe $EVENT


Nun möchte ich aber, dass wenn alles ausgeschaltet wird, der Nachtmodus "EIN" ist, also der Wandschalter negiert.
So habe ich es versucht, es geht aber nicht....


define NachtModus dummy
define night DOIF ([Schlafschalter] eq "off") (set NachtModus on) DOELSE (set NachtModus off)


Weiß jemand wie man das professionell macht?

RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

DeeSPe

Schalte das Ganze doch über eine LightScene.
Ich denke damit kommst du relativ schnell ans Ziel.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Ellert

Zitat von: Heimweh am 01 September 2016, 14:12:20
Ich stehe auf dem Schlauch. Ich schalte mit einem Intertechno Wandschalter verschiedene Funksteckdosen.


define Schlafschalter notify IT_0FFF00000F set LichtTV,LichtKueche,WzRaumtrenner,IT_0FFF0FF0FF,IT_0FFF0F0FFF,Bad_LED_Stripe $EVENT


Nun möchte ich aber, dass wenn alles ausgeschaltet wird, der Nachtmodus "EIN" ist, also der Wandschalter negiert.
So habe ich es versucht, es geht aber nicht....


define NachtModus dummy
define night DOIF ([Schlafschalter] eq "off") (set NachtModus on) DOELSE (set NachtModus off)


Weiß jemand wie man das professionell macht?

ZitatNun möchte ich aber, dass wenn alles ausgeschaltet wird, der Nachtmodus "EIN" ist, also der Wandschalter negiert.
Was heisst das konkret? Soll der Wandschalter wenn Du auf EIN drückst, auf Aus schalten und umgekehrt?
ZitatWeiß jemand wie man das professionell macht?
Du müsstest die Logik des notify ins DOIF einbauen, sonst ist der Schlafschalter nicht verknüpft.

Heimweh

Hallo Ellert,

ja genau, wenn ich den Intertechno ausschalte, sollen die ganzen Funksteckdosen aus gehen (tun sie auch) - aber der Nachtmodus soll "ein" geschaltet werden, und umgekehrt. Also wenn ich mit dem Intertechno alles einschalte, soll Nachtmodus wieder aus gehen....
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

DeeSPe

Hast Du Dir mal LightScene angesehen?
Damit sollte das schnell umsetzbar sein.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Heimweh

Hallo Dan,

ja hab ich. Aber das löst nicht das Problem. Die ganzen Steckdosen funktionieren ja... Es geht nur darum, wie man negiert schaltet.


Gruß, Daniel
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

DeeSPe

Aber genau das kannst Du doch mit LightScene machen.
Du definierst alle beteiligten Devices als Teil der LightScene. Dann schaltest Du alle Devices wie sie sein sollen, also Steckdosen aus und Nachtmodus ein, und speicherst diese Scene. Dann kannst du mit Hilfe eines dummy (oder was auch immer) diese Scene aktivieren.
Ergebnis = das was du wolltest

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Du könntest auch ein notify bauen auf alle Steckdosen und dann prüfen ob alle ausgeschaltet sind. Wenn ja, dann Nachtmodus ein.
Sicherlich auch als DOIF umsetzbar, aber nicht meine Baustelle.

Es gibt meist mehrere Wege zur Lösung eines Problems.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Damian

Zitat von: Heimweh am 02 September 2016, 08:29:34
Hallo Dan,

ja hab ich. Aber das löst nicht das Problem. Die ganzen Steckdosen funktionieren ja... Es geht nur darum, wie man negiert schaltet.


Gruß, Daniel

Die Abfragen in DOIF-Modul sind übersetzte Perl-Bedingungen "nicht" in Perl und damit auch in DOIF werden  mit != bei Zahlen oder mit ne bei Zeichenketten angegeben, desweitern gibt es den Operator ! für negation (alles in der Perldokumentation nachzulesen). Beispiele hier mit DOIF:

DOIF ([dummy| ne "on") (set ...)
DOIF ([mydummy:myreading:d] != 30) (set ...)
DOIF (!([dummy] eq "on")) (set ...)
usw.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Zitat von: Heimweh am 02 September 2016, 07:57:57
Hallo Ellert,

ja genau, wenn ich den Intertechno ausschalte, sollen die ganzen Funksteckdosen aus gehen (tun sie auch) - aber der Nachtmodus soll "ein" geschaltet werden, und umgekehrt. Also wenn ich mit dem Intertechno alles einschalte, soll Nachtmodus wieder aus gehen....

Das sollte dann so funktionieren
define night DOIF ([IT_0FFF00000F] eq "off") (set NachtModus on) DOELSE (set NachtModus off)

strauch

Ich mach soetwas mit einem structure in dem ich alle Gertäte habe und dann ein normales notify nehme um das zu schalten (All_off bzw. Any_on).

Du kannst es aber auch nur mit einem notify machen. Setzte den Nachtschalter auf on und ein notify schaltet dann alle Geräte aus. So mache ich das.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.