Licht an bei Bedingungen oder Schalter

Begonnen von Skell, 21 September 2018, 21:05:51

Vorheriges Thema - Nächstes Thema

Skell

Moin,

bisher habe ich alle meine Probleme mit google, Forum Suche oder probieren lösen können, aber leider muss ich euch jetzt doch mal um Hilfe bitten. =)

Ich verwende derzeit unten stehen Code der dazu dient ein Licht am Fernseher Schrank einzuschalten wenn verschiedene Bedingungen (hier TV = an, Dunkel & Jemand zu Hause ist) erfüllt sind und wieder aus geht sobald es hell genug wird oder der Fernseher aus geht.

Was ich nicht mit integriert bekomme: Ich möchte wenn das Licht vorher manuell an gemacht wurde, das es nur durch erneuter manueller Betätigung aus geht. Egal ob jetzt jemand den Fernseher an macht oder er schon an ist und ihn wieder aus macht, soll das Licht an bleiben.

Das Licht wird mit Hilfe einer OSRAM Steckdose an und aus gemacht.

DOIF mit:

(
(
[Harmony:activity] ne "PowerOff" and
[?HomeStatus:state] eq "1" and
[?Light_Status:twilight_weather] < 60
)

or

(
[?Harmony:activity] ne "PowerOff" and 
[?HomeStatus:state] eq "1" and
[Light_Status:twilight_weather] < 60
)
)
(set WZ_TV_Deko_Licht:FILTER=STATE!=on on) DOELSE (set WZ_TV_Deko_Licht:FILTER=STATE!=off off)


Solltet ihr noch mehr Infos benötigen, werde ich diese natürlich bereitstellen und hoffe das mir jemand helfen kann.

Grüße

alanblack

Zitat von: Skell am 21 September 2018, 21:05:51
Was ich nicht mit integriert bekomme: Ich möchte wenn das Licht vorher manuell an gemacht wurde, das es nur durch erneuter manueller Betätigung aus geht. Egal ob jetzt jemand den Fernseher an macht oder er schon an ist und ihn wieder aus macht, soll das Licht an bleiben.
Du musst dazu dir das manuelle Ein-/Ausschalten woanders merken; entweder in einem anderen Reading oder einem Dummy. Dann kannst du bei jedem anderen Auslöser prüfen, ob dort manuell eingeschaltet wurde.
FHEM 6.0 auf raspi3&ODROID XU4 mit HMLAN und HM-MOD-RPI-PCB, LaCrosse via JeeLink, COC868 und CUL433, Xiaomi Aqara+div. Zigbee via deCONZ, Dooya via SIGNALDuino, ZWave mit Danalock
Jeder Witz kann ein Einzeiler sein mit genügend Semikolons

Damian

Diese Definition:
Zitat(
   (
      [Harmony:activity] ne "PowerOff" and
      [?HomeStatus:state] eq "1" and
      [?Light_Status:twilight_weather] < 60
   )
      
or

   (   
      [?Harmony:activity] ne "PowerOff" and 
      [?HomeStatus:state] eq "1" and
      [Light_Status:twilight_weather] < 60
   )
)

ist nicht sinnvoll, sie entspricht:

(
   [Harmony:activity] ne "PowerOff" and 
   [?HomeStatus:state] eq "1" and
   [Light_Status:twilight_weather] < 60
)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Skell

#3
Zitat von: alanblack am 21 September 2018, 21:29:29
Du musst dazu dir das manuelle Ein-/Ausschalten woanders merken; entweder in einem anderen Reading oder einem Dummy. Dann kannst du bei jedem anderen Auslöser prüfen, ob dort manuell eingeschaltet wurde.

Das habe ich (denke ich) soweit verstanden, ich frage mich da nur: Wie unterscheide ich in FHEM, ob das Licht via Harmony, Alexa, Taster oder eben durch die Automatik angemacht wurde? Über dem Taster hätte ich das dann so gemacht, dass zwei Befehle drin stehen (an und ein zweiter der dann den dummy steuert). Oder versteh ich da was falsch? Ich versteh nicht wie ich unterscheiden kann ob es Manuell angemacht wurde oder eben durch das script.

Zitat von: Damian am 22 September 2018, 12:02:13
Diese Definition:
ist nicht sinnvoll, sie entspricht:

(
   [Harmony:activity] ne "PowerOff" and 
   [?HomeStatus:state] eq "1" and
   [Light_Status:twilight_weather] < 60
)


Ich hatte es zuvor so, aber irgend was hatte da nicht funktioniert. Oder aber früher war da ein Fehler drin den ich später irgend wann gefunden hatte wodurch es funktionieren sollte. Ich probier es so jedenfalls morgen noch mal aus. Sinn macht es.

Gruß

alanblack

Zitat von: Skell am 22 September 2018, 23:35:13
Das habe ich (denke ich) soweit verstanden, ich frage mich da nur: Wie unterscheide ich in FHEM, ob das Licht via Harmony, Alexa, Taster oder eben durch die Automatik angemacht wurde? Über dem Taster hätte ich das dann so gemacht, dass zwei Befehle drin stehen (an und ein zweiter der dann den dummy steuert). Oder versteh ich da was falsch? Ich versteh nicht wie ich unterscheiden kann ob es Manuell angemacht wurde oder eben durch das script.
Sollte eigentlich einfach sein. Unter der Maßgabe, dass Dein Taster den "Light_Dummy" zwischen "on" und "off" toggled, käme da folgendes bei heraus (ungetestet):

(
(
[Light_Dummy] eq "on"
)

or

(
[Harmony:activity] ne "PowerOff" and
[?HomeStatus:state] eq "1" and
[?Light_Status:twilight_weather] < 60
)

or

(
[?Harmony:activity] ne "PowerOff" and
[?HomeStatus:state] eq "1" and
[Light_Status:twilight_weather] < 60
)
)
(set WZ_TV_Deko_Licht:FILTER=STATE!=on on) DOELSE (set WZ_TV_Deko_Licht:FILTER=STATE!=off off)
FHEM 6.0 auf raspi3&ODROID XU4 mit HMLAN und HM-MOD-RPI-PCB, LaCrosse via JeeLink, COC868 und CUL433, Xiaomi Aqara+div. Zigbee via deCONZ, Dooya via SIGNALDuino, ZWave mit Danalock
Jeder Witz kann ein Einzeiler sein mit genügend Semikolons

Skell

Zitat von: alanblack am 23 September 2018, 08:24:50
Sollte eigentlich einfach sein. Unter der Maßgabe, dass Dein Taster den "Light_Dummy" zwischen "on" und "off" toggled, käme da folgendes bei heraus (ungetestet):

(
(
[Light_Dummy] eq "on"
)

or

(
[Harmony:activity] ne "PowerOff" and
[?HomeStatus:state] eq "1" and
[?Light_Status:twilight_weather] < 60
)

or

(
[?Harmony:activity] ne "PowerOff" and
[?HomeStatus:state] eq "1" and
[Light_Status:twilight_weather] < 60
)
)
(set WZ_TV_Deko_Licht:FILTER=STATE!=on on) DOELSE (set WZ_TV_Deko_Licht:FILTER=STATE!=off off)


So in etwa hab ich es mir auch vorgestellt gehabt, nur besteht immer noch die Frage wie ich es mache wenn das Licht durch Harmony oder Alexa eingeschaltet wurde. Den Taster nutzen wir nur zu 5%, wenn überhaupt. (wäre ja zu einfach :D)


alanblack

Zitat von: Skell am 23 September 2018, 19:54:59
So in etwa hab ich es mir auch vorgestellt gehabt, nur besteht immer noch die Frage wie ich es mache wenn das Licht durch Harmony oder Alexa eingeschaltet wurde. Den Taster nutzen wir nur zu 5%, wenn überhaupt. (wäre ja zu einfach :D)
Ich verstehe die Frage nicht.
1. Deine Lösung für "Automatik" ohne Schalter funktioniert; auch wenn Du sie vielleicht optimieren könntest.
2. Wolltest Du eine Lösung, um die Automatik aus- und gleichzeitig das Licht anschalten zu können. Das sollte mit der kleinen Änderung auch funktionieren.
FHEM 6.0 auf raspi3&ODROID XU4 mit HMLAN und HM-MOD-RPI-PCB, LaCrosse via JeeLink, COC868 und CUL433, Xiaomi Aqara+div. Zigbee via deCONZ, Dooya via SIGNALDuino, ZWave mit Danalock
Jeder Witz kann ein Einzeiler sein mit genügend Semikolons

Skell

#7
Zitat von: alanblack am 24 September 2018, 10:45:55
Ich verstehe die Frage nicht.
1. Deine Lösung für "Automatik" ohne Schalter funktioniert; auch wenn Du sie vielleicht optimieren könntest.
2. Wolltest Du eine Lösung, um die Automatik aus- und gleichzeitig das Licht anschalten zu können. Das sollte mit der kleinen Änderung auch funktionieren.

Wenn auch spät, wollte ich es nicht umkommentiert lassen.

Frage vorweg: Was meinst du mit optimieren? Möchte gerne dazu lernen ...

Ich hab es erst mal ohne dummy gelöst.


(
(
[WZ_TV_Deko_Licht:onoff] eq "1"
)

or

(
[Harmony:activity] ne "PowerOff" and
[?HomeStatus:state] eq "1" and
[Light_Status:twilight_weather] < 60
)
)
(set WZ_TV_Deko_Licht:FILTER=STATE!=on on)

DOELSEIF
(
(
([04:00:00-10:00:00]) and
[Harmony:activity] eq "PowerOff" and
[Light_Status:twilight_weather] > 65
)
)
(set WZ_TV_Deko_Licht:FILTER=STATE!=off off)

DOELSE

(set WZ_TV_Deko_Licht:FILTER=STATE!=off off)


Das Licht geht jetzt zwar nur morgens von alleine aus, aber bisher brauchen wir eine automatische Abschaltung eh noch nicht. Nach fast 3 Monaten gab es noch nicht einen Fall das es von alleine hätte aus gehen müssen, weil wir es mit einer art "turn off all" jeden Abend so oder so ausschalten. Das wäre wirklich nur für den fall, wenn mir nachts einfällt das ich doch noch mal fernsehen gucken möchte und dann doch dabei einschlafe oder so, keine Ahnung.  ::)

Ich habe leider noch nicht herausfinden können wie ich den Tastendruck von der Harmony abgreifen kann, dass ich unterscheiden kann ob es eben dadurch vorher angemacht wurde oder durch die Automatik. Selbe mit Alexa. Deswegen noch kein dummy mit implementiert sondern direkt vom licht den status abgegriffen das es zumindest an bleibt, wenn es einmal eingeschaltet wurde (Außer eben morgens). (Zeiten sind willkürlich eingetragen um einen Zeitraum irgendwann morgens zu haben, dass es eben nur morgens von alleine ausgeht und nicht noch abends falls es doch noch zu hell ist und wir es aber an haben wollen)

Danke nochmal für die Hilfe.