Hyperion: Wechsel zw. off / clearall & Verbindungsabbrüche?

Begonnen von Grinsekatze, 08 August 2017, 18:17:14

Vorheriges Thema - Nächstes Thema

Grinsekatze

Hi ho,

ich habe zwei Probleme mit meinem Hyperion-Setup und weiss hier nicht mehr weiter. Vielleicht könnt ihr ja behilflich sein.

Zum Setup:
Ich habe FHEM auf meinem 1. Pi. Der Hyperion-Deamon selbst läuft auf meinem 2. Pi, der auch am TV angeschlossen ist (u.A. für Kodi). Weiter benutze ich einen Grabber um sowohl die TV-Signale (digitalTV), HDMI-Signale (wenn mal eine Konsole angeschlossen ist; hdmi2) und Kodi (hdmi1) zu berücksichtigen.

Doch wenn ich Den TV aus mache, dann wechselt meine Hyperion Definition ständig zwischen off und clearall. Hier hätte ich ein dauerhaftes off lieber.

Ebenfalls ist mir dabei aufgefallen, dass ich offenbar regelmäßig ganz kurz die Verbindung zum 2. Pi verliere. Das soll auch nicht sein!
Der FHEM-Server ist mittels WLAN und der 2. Pi (Wohnzimmer) mittels LAN im Netzwerk. Wobei der FEHM-Server im selben Raum, wie der Router steht.

Meine Hyperion Definition:
define FernseherAmbilightWohnzimmer Hyperion wohnzimmer 19444 10
attr FernseherAmbilightWohnzimmer userattr lightSceneParamsToSave
attr FernseherAmbilightWohnzimmer alias Fernseherlicht
attr FernseherAmbilightWohnzimmer devStateIcon .*opened:ios-on-green .*off:ios-off .*disconnected:ios-NACK .*ERROR:ios-NACK .*clearall:it_television .*effect.*:ios-on-blue .*rgb.*:light_led_stripe_rgb
attr FernseherAmbilightWohnzimmer event-on-change-reading .*
attr FernseherAmbilightWohnzimmer group Licht
attr FernseherAmbilightWohnzimmer homebridgeMapping On=state,subtype=TV.Licht,valueOn=/rgb.*/,cmdOff=off,cmdOn=mode+rgb On=state,subtype=Umgebungslicht,valueOn=clearall,cmdOff=off,cmdOn=clearall On=state,subtype=Effekt,valueOn=/effect.*/,cmdOff=off,cmdOn=mode+effect
attr FernseherAmbilightWohnzimmer hyperionConfigDir /etc/hyperion/
attr FernseherAmbilightWohnzimmer hyperionSshUser osmc
attr FernseherAmbilightWohnzimmer icon light_led_stripe_rgb
attr FernseherAmbilightWohnzimmer lightSceneParamsToSave state
attr FernseherAmbilightWohnzimmer room Wohnzimmer
attr FernseherAmbilightWohnzimmer webCmd rgb:effect:configFile:mode:toggle:on:off


Mein Notify (zuständig, um die richtige Quelle für Hyperion zu wählen):
define NotifyFernseherAmbilightWohnzimmer notify FernseherWohnzimmer:(state|input).* {\
if (ReadingsVal("FernseherWohnzimmer", "state", "undefined") eq "on") {\
if (ReadingsVal("FernseherWohnzimmer", "input", "undefined") eq "digitalTV") {\
fhem("set FernseherAmbilightWohnzimmer configFile hyperion.tv");;\
}\
elsif (ReadingsVal("FernseherWohnzimmer", "input", "undefined") eq "hdmi1") {\
fhem("set FernseherAmbilightWohnzimmer configFile hyperion.kodi");;\
}\
elsif (ReadingsVal("FernseherWohnzimmer", "input", "undefined") eq "hdmi2") {\
fhem("set FernseherAmbilightWohnzimmer configFile hyperion.hdmi");;\
}\
fhem("set FernseherAmbilightWohnzimmer clearall");;\
} else {\
fhem("set FernseherAmbilightWohnzimmer mode off");;\
}\
}


Mein Log:
2017.08.08 17:11:10 3: FHEM2FHEM opening FernseherWohnzimmerLog at Wohnzimmer:7072
2017.08.08 17:11:11 1: wohnzimmer:9090 reappeared (MediacenterWohnzimmer)
2017.08.08 17:11:11 3: FHEM2FHEM device opened (FernseherWohnzimmerLog)
2017.08.08 17:11:11 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:11:11 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:17:07 3: FHEM2FHEM opening FernseherWohnzimmerLog at Wohnzimmer:7072
2017.08.08 17:17:08 1: wohnzimmer:9090 reappeared (MediacenterWohnzimmer)
2017.08.08 17:17:08 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:17:08 3: FHEM2FHEM device opened (FernseherWohnzimmerLog)
2017.08.08 17:17:08 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:18:32 1: wohnzimmer:19444 disconnected, waiting to reappear (FernseherAmbilightWohnzimmer)
2017.08.08 17:18:38 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:21:51 1: wohnzimmer:19444 disconnected, waiting to reappear (FernseherAmbilightWohnzimmer)
2017.08.08 17:22:03 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:23:32 3: FHEM2FHEM opening FernseherWohnzimmerLog at Wohnzimmer:7072
2017.08.08 17:23:33 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:23:33 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:23:33 3: FHEM2FHEM device opened (FernseherWohnzimmerLog)
2017.08.08 17:33:37 3: FHEM2FHEM opening FernseherWohnzimmerLog at Wohnzimmer:7072
2017.08.08 17:33:38 1: wohnzimmer:9090 reappeared (MediacenterWohnzimmer)
2017.08.08 17:33:38 3: FHEM2FHEM device opened (FernseherWohnzimmerLog)
2017.08.08 17:33:38 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:33:38 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:34:27 1: wohnzimmer:9090 reappeared (MediacenterWohnzimmer)
2017.08.08 17:34:27 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:34:27 1: wohnzimmer:19444 reappeared (FernseherAmbilightWohnzimmer)
2017.08.08 17:34:27 3: FHEM2FHEM device opened (FernseherWohnzimmerLog)


Und Eventmonitor:
2017-08-08 17:53:01 Hyperion FernseherAmbilightWohnzimmer priority:
2017-08-08 17:53:01 Hyperion FernseherAmbilightWohnzimmer mode: off
2017-08-08 17:53:01 Hyperion FernseherAmbilightWohnzimmer off
2017-08-08 17:53:41 Hyperion FernseherAmbilightWohnzimmer priority: 900
2017-08-08 17:53:41 Hyperion FernseherAmbilightWohnzimmer mode: clearall
2017-08-08 17:53:41 Hyperion FernseherAmbilightWohnzimmer clearall
2017-08-08 17:53:54 Hyperion FernseherAmbilightWohnzimmer priority:
2017-08-08 17:53:54 Hyperion FernseherAmbilightWohnzimmer mode: off
2017-08-08 17:53:54 Hyperion FernseherAmbilightWohnzimmer off
2017-08-08 17:54:04 Hyperion FernseherAmbilightWohnzimmer duration: 1
2017-08-08 17:54:04 Hyperion FernseherAmbilightWohnzimmer priority: 900
2017-08-08 17:54:04 Hyperion FernseherAmbilightWohnzimmer mode: clearall
2017-08-08 17:54:04 Hyperion FernseherAmbilightWohnzimmer clearall
2017-08-08 17:54:14 Hyperion FernseherAmbilightWohnzimmer duration: infinite
2017-08-08 17:54:14 Hyperion FernseherAmbilightWohnzimmer priority:
2017-08-08 17:54:14 Hyperion FernseherAmbilightWohnzimmer mode: off
2017-08-08 17:54:14 Hyperion FernseherAmbilightWohnzimmer off
2017-08-08 17:54:24 Hyperion FernseherAmbilightWohnzimmer priority: 900
2017-08-08 17:54:24 Hyperion FernseherAmbilightWohnzimmer mode: clearall
2017-08-08 17:54:24 Hyperion FernseherAmbilightWohnzimmer clearall
2017-08-08 17:55:17 Hyperion FernseherAmbilightWohnzimmer priority:
2017-08-08 17:55:17 Hyperion FernseherAmbilightWohnzimmer mode: off
2017-08-08 17:55:17 Hyperion FernseherAmbilightWohnzimmer off
2017-08-08 17:55:27 Hyperion FernseherAmbilightWohnzimmer priority: 900
2017-08-08 17:55:27 Hyperion FernseherAmbilightWohnzimmer mode: clearall
2017-08-08 17:55:27 Hyperion FernseherAmbilightWohnzimmer clearall
2017-08-08 17:56:30 Hyperion FernseherAmbilightWohnzimmer priority:
2017-08-08 17:56:30 Hyperion FernseherAmbilightWohnzimmer mode: off
2017-08-08 17:56:30 Hyperion FernseherAmbilightWohnzimmer off
2017-08-08 17:56:40 Hyperion FernseherAmbilightWohnzimmer priority: 900
2017-08-08 17:56:40 Hyperion FernseherAmbilightWohnzimmer mode: clearall
2017-08-08 17:56:40 Hyperion FernseherAmbilightWohnzimmer clearall
2017-08-08 17:57:13 Hyperion FernseherAmbilightWohnzimmer priority:
2017-08-08 17:57:13 Hyperion FernseherAmbilightWohnzimmer mode: off
2017-08-08 17:57:13 Hyperion FernseherAmbilightWohnzimmer off


Ich habe jeweils nur die relevanten Einträge gefiltert.

Hat Jemand eine Idee?

Danke

Otto123

Hi,

was hast Du für einen Router? Fritzbox?

Ich hatte ähnliches Verhalten mit einem ESP. Seit dem der an einem extra AP hängt ist alles gut.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

DeeSPe

Ich würde generell davon abraten das wichtigste Glied der Kette, den FHEM Server, per WLAN zu betreiben.

Gruß
Dan

P.S. Das Thema gehört wegen Hyperion eigentlich unter Beleuchtung und nicht Automation.
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

Grinsekatze

Jupp ich habe eine 7390 hier im Einsatz.
Der Server ist Mittels WLAN am Netz, da ich an der LAN-Schnittstelle den HM-CFG-LAN hatte. Mir war es wichtiger, diesen nicht potentiell dem ganzen Netz zur Verfügung zu stellen. Seit ein paar Wochen habe ich nun jedoch auch ein HMUART. Daher spiele ich mit dem Gedanken, den HMLAN auszumustern.

Gibt es ein Beleuchtungs-(unter-)Forum?

DeeSPe

Zitat von: Grinsekatze am 08 August 2017, 20:18:15
Gibt es ein Beleuchtungs-(unter-)Forum?

Zitat von: MAINTAINER.txtFHEM/98_Hyperion.pm          DeeSPe               http://forum.fhem.de Beleuchtung

FHEM Forum » FHEM - Anwendungen » Beleuchtung

Aber eigentlich denke ich geht es eher primär um Netzwerkprobleme als um Hyperion selbst.

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

Otto123

Nur eine Idee, ich habe es selbst noch nicht näher untersucht:
Schalte mal die Kanalautomatik auf der FB beim Wlan aus. Also such Dir einen freien Kanal und definiere den als festen Kanal.

ZitatDer FHEM-Server ist mittels WLAN und der 2. Pi (Wohnzimmer) mittels LAN im Netzwerk. Wobei der FEHM-Server im selben Raum, wie der Router steht.
Das habe ich nicht ganz verstanden, aber schließ doch alles am Router über LAN an? Also Pi an Router, HMLAN an Router

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

DeeSPe

Zitat von: Grinsekatze am 08 August 2017, 18:17:14
define NotifyFernseherAmbilightWohnzimmer notify FernseherWohnzimmer:(state|input).* {\
if (ReadingsVal("FernseherWohnzimmer", "state", "undefined") eq "on") {\
if (ReadingsVal("FernseherWohnzimmer", "input", "undefined") eq "digitalTV") {\
fhem("set FernseherAmbilightWohnzimmer configFile hyperion.tv");;\
}\
elsif (ReadingsVal("FernseherWohnzimmer", "input", "undefined") eq "hdmi1") {\
fhem("set FernseherAmbilightWohnzimmer configFile hyperion.kodi");;\
}\
elsif (ReadingsVal("FernseherWohnzimmer", "input", "undefined") eq "hdmi2") {\
fhem("set FernseherAmbilightWohnzimmer configFile hyperion.hdmi");;\
}\
fhem("set FernseherAmbilightWohnzimmer clearall");;\
} else {\
fhem("set FernseherAmbilightWohnzimmer mode off");;\
}\
}


Ich denke der Code ist auch nicht ganz sauber und auch daher könnten Probleme kommen.
Zumindest würde ich mal einen FILTER setzen.

Wie sieht denn ein list von FernseherWohnzimmer aus?

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

Grinsekatze

Um meinen Aufbau etwas zu konkretisieren:

Ich verwende den 2. Pi (Wohnzimmer), um meinen TV per CEC einschalten zu können - da der FHEM-Server nicht in der Nähe des TV steht (darum ist dieser u.a. auch in der Vergangenheit per WLAN angebunden gewesen: In dem Raum befindet sich kein LAN).

Auf dem FHEM-Server habe ich dann Mittels FHEM2FHEM und einem Dummy die TV-Definition gespiegelt.

list FernseherWohnzimmer (vom Pi Wohnzimmer):
Internals:
   CHANGED
   DEF        /dev/ttyUSB0
   DeviceName /dev/ttyUSB0@9600
   FD         11
   NAME       FernseherWohnzimmer
   NR         41
   STATE      off
   TYPE       LGTV_RS232
   Readings:
     2017-08-08 21:08:24   CommandAccepted yes
     2017-08-08 21:08:24   aspectRatio     wide
     2017-08-08 21:08:24   input           digitalTV
     2017-08-08 21:08:24   power           on
     2017-08-09 08:41:07   presence        absent
     2017-08-08 21:08:24   screenMute      off
     2017-08-09 08:41:07   state           off
     2017-08-08 21:08:24   videoOutMute    off
     2017-08-08 21:08:24   volume          13 %
     2017-08-08 21:08:24   volumeMute      off
   Helper:
     RECEIVE_BUFFER
Attributes:
   comment    LG 55 Zoll TV im Wohnzimmer
   event-on-change-reading .*
   room       Wohnzimmer
   webCmd     power


list FernseherWohnzimmer (von Pi FHEM-Server):
Internals:
   NAME       FernseherWohnzimmer
   NR         839
   STATE      off
   TYPE       dummy
   Readings:
     2017-08-07 17:19:58   CommandAccepted yes
     2017-08-08 17:36:30   aspectRatio     wide
     2017-08-08 17:36:29   input           digitalTV
     2017-07-28 01:11:38   power           on
     2017-08-08 21:08:41   presence        absent
     2017-08-08 21:08:41   state           off
     2017-08-08 00:42:28   volume          13 %
     2017-07-27 20:04:45   volumeMute      off
Attributes:
   alias      Fernseher
   comment    Dummy für LG 55 Zoll TV im Wohnzimmer
   devStateIcon .*on:ios-on-green .*off:ios-off .*:ios-NACK
   event-on-change-reading .*
   group      Multimedia
   icon       it_television
   readingList CommandAccepted aspectRatio input power presence screenMute state videoOutMute volume volumeMute
   room       Wohnzimmer


Noch ein Hinweis zum LGTV_RS232-Modul:
Der TV kann per Fernbedienung vom TV geschaltet werden und per Device auf "Wohnzimmer" - später auch mal wieder über den FHEM-Server selbst. Das habe ich zzt. nur deaktiviert.
Am Device ist dafür power on|off zuständig.
Wenn man den TV mit der Fernbedienung ausstellt, dann bleibt power jedoch on. Das Device wechselt dann nur den state (von on auf off) und presence (von present auf absent). Darum prüfe ich mit dem Notify auch auf state (ich könnte alternativ auch presence nehmen).

@DeeSPe: Wie kommst Du zu dem Gedanken, dass der Notify nicht ganz sauber ist? Ich dachte eigentlich dass der absolut eindeutig ist?? Ich lerne hier gerne dazu, um Fehler in der Zukunft zu vermeiden. Normalerweise arbeite ich immer mit einem FILTER im Eventlog - schon, damit nicht die Events der ganzen anderen Devices mich ablenken. Daher verstehe ich nicht so ganz was Du mit "Zumindest würde ich mal einen FILTER setzen" meinst.

@Otto: Den Kanal werde ich mal fix setzen und berichten. Jedoch scheint sich über Nacht Hyperion beruhigt zu haben. Es bleibt nun konstant aus. Der letzte Fehler (Nichterreichbarkeit) wurde auch um 6:46 festgestellt.


Ich habe den Notify einmal neu geschrieben:
define NotifyFernseherAmbilightWohnzimmer notify FernseherWohnzimmer IF ([FernseherWohnzimmer:presence] eq "present") (IF ([FernseherWohnzimmer:input] eq "digitalTV") (set FernseherAmbilightWohnzimmer configFile hyperion.tv),,IF ([FernseherWohnzimmer:input] eq "hdmi1") (set FernseherAmbilightWohnzimmer configFile hyperion.kodi),,IF ([FernseherWohnzimmer:input] eq "hdmi2") (set FernseherAmbilightWohnzimmer configFile hyperion.hdmi),,set FernseherAmbilightWohnzimmer mode clearall) ELSE (set FernseherAmbilightWohnzimmer mode off)

Nachdem ich danach den TV mit der Fernbedienung angemacht habe gab mir das Eventlog (mit dem Filter Fernseher.*) folgendes aus:
2017-08-09 09:11:54 Hyperion FernseherAmbilightWohnzimmer off
2017-08-09 09:11:54 dummy FernseherWohnzimmer on
2017-08-09 09:11:56 Hyperion FernseherAmbilightWohnzimmer clearall
2017-08-09 09:11:56 dummy FernseherWohnzimmer presence: present
2017-08-09 09:11:56 Hyperion FernseherAmbilightWohnzimmer DISCONNECTED
2017-08-09 09:12:04 Hyperion FernseherAmbilightWohnzimmer CONNECTED
2017-08-09 09:12:10 Hyperion FernseherAmbilightWohnzimmer priority: 900
2017-08-09 09:12:10 Hyperion FernseherAmbilightWohnzimmer mode: clearall
2017-08-09 09:12:10 Hyperion FernseherAmbilightWohnzimmer clearall
2017-08-09 09:30:54 Hyperion FernseherAmbilightWohnzimmer duration: 1
2017-08-09 09:31:04 Hyperion FernseherAmbilightWohnzimmer duration: infinite
2017-08-09 09:32:24 Hyperion FernseherAmbilightWohnzimmer off
2017-08-09 09:32:24 dummy FernseherWohnzimmer presence: absent
2017-08-09 09:32:24 Hyperion FernseherAmbilightWohnzimmer off
2017-08-09 09:32:24 dummy FernseherWohnzimmer off
2017-08-09 09:32:27 Hyperion FernseherAmbilightWohnzimmer serverResponse: ERROR
2017-08-09 09:32:27 Hyperion FernseherAmbilightWohnzimmer ERROR
2017-08-09 09:32:37 Hyperion FernseherAmbilightWohnzimmer priority: 0
2017-08-09 09:32:37 Hyperion FernseherAmbilightWohnzimmer mode: off
2017-08-09 09:32:37 Hyperion FernseherAmbilightWohnzimmer off
2017-08-09 09:32:37 Hyperion FernseherAmbilightWohnzimmer serverResponse: success


Zzt. ists also ruhig (und funktioniert).

DeeSPe

#8
Ich hätte das notify in etwa so gestaltet:

define NotifyFernseherAmbilightWohnzimmer notify FernseherWohnzimmer:(on|off) {\
        my $input = ReadingsVal($NAME,"input",0);;\
        my $config = "hyperion.tv";;\
        my $mode = "clearall";;\
if ($EVENT eq "on") {\
$config = "hyperion.kodi" if ($input eq "hdmi1");;\
$config = "hyperion.hdmi" if ($input eq "hdmi2");;\
fhem "set FernseherAmbilightWohnzimmer:FILTER=configFile!=$config configFile $config";;\
} else {\
                $mode = "off";;\
}\
fhem "set FernseherAmbilightWohnzimmer:FILTER=mode!=$mode mode $mode";;\
}

Das "input" kannst Du ganz als Trigger weglassen, da Du ja nur zwischen clearall/off umschaltest beim Ein- und Ausschalten des TVs.

Damit sollte Hyperion nur Befehle erhalten wenn sie sich gegenüber dem jetzigen Zustand unterscheiden.

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

Grinsekatze

Aber ist damit auch abgedeckt, dass ich, nachdem ich den TV eingeschaltet habe, den Input wechsle - z.B. zunächst TV geguckt habe und dann die Konsole an mache zum spielen (also von digitalTV auf hdmi2 wechsle)? Wenn der Notify den Input-Wechsel nicht triggert müsste FHEM das doch übersehen?

Das ich auch einen Filter setzen kann, wenn ich Befehle absetze wusste ich noch nicht. Das ist interessant, sodass ich mich damit mal näher befassen muss (auch für andere Dinge).

DeeSPe

#10
Zitat von: Grinsekatze am 09 August 2017, 10:35:45
Aber ist damit auch abgedeckt, dass ich, nachdem ich den TV eingeschaltet habe, den Input wechsle - z.B. zunächst TV geguckt habe und dann die Konsole an mache zum spielen (also von digitalTV auf hdmi2 wechsle)? Wenn der Notify den Input-Wechsel nicht triggert müsste FHEM das doch übersehen?

Ich würde dafür ein zweites notify machen:
define NotifyFernseherAmbilightWohnzimmer_input notify FernseherWohnzimmer:input:.* {\
        my $config = "hyperion.tv";;\
$config = "hyperion.kodi" if ($EVTPART1 eq "hdmi1");;\
$config = "hyperion.hdmi" if ($EVTPART1 eq "hdmi2");;\
fhem "set FernseherAmbilightWohnzimmer:FILTER=configFile!=$config configFile $config";;\
}


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

#11
Oder beides in einem notify zusammen:
define NotifyFernseherAmbilightWohnzimmer notify FernseherWohnzimmer:(on|off|input).* {\
        my $config;;\
        my $mode;;\
if ($EVENT eq "on") {\
                my $input = ReadingsVal($NAME,"input",0);;\
                $mode = "clearall";;\
                $config = "hyperion.tv" if ($input eq "digitalTV");;\
$config = "hyperion.kodi" if ($input eq "hdmi1");;\
$config = "hyperion.hdmi" if ($input eq "hdmi2");;\
} elsif ($EVENT eq "off") {\
                $mode = "off";;\
} elsif ($EVENT =~ /^input/) {\
                $config = "hyperion.tv" if ($EVENT =~ /digitalTV$/);;\
$config = "hyperion.kodi" if ($EVENT =~ /hdmi1$/);;\
$config = "hyperion.hdmi" if ($EVENT =~ /hdmi2$/);;\
        }\
fhem "set FernseherAmbilightWohnzimmer:FILTER=mode!=$mode mode $mode" if ($mode);;\
fhem "set FernseherAmbilightWohnzimmer:FILTER=configFile!=$config configFile $config" if ($config);;\
}


Ist ungetestet, sollte aber klappen.
EDIT2: Getestet und klappt bei mir mit einem dummy.

Gruß
Dan

EDIT: Hatte noch einen \ vergessen.
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

Grinsekatze

Danke für die Mühe. Der Notify sieht gut aus. Doch er löst bei mir nicht aus. Wenn ich den TV an mache oder danach die Quelle ändere wird er nicht getriggert.

DeeSPe

Zitat von: Grinsekatze am 09 August 2017, 16:57:34
Danke für die Mühe. Der Notify sieht gut aus. Doch er löst bei mir nicht aus. Wenn ich den TV an mache oder danach die Quelle ändere wird er nicht getriggert.

Wird es wirklich nicht getriggert oder macht es einfach nichts?

Wie sieht denn z.B. der on/off Trigger im Event Monitor aus wenn Du das TV ein-/ausschaltest?

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

Habe das notify soeben selbst mal bei mir mit einem dummy getestet und es kam zu Fehlermeldungen.

Darum habe ich meinen Vorschlag aus #11 noch einmal überarbeitet und anhand eines dummy getestet.
Bei mir klappt das so jetzt einwandfrei.

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