[82_LGTV_WebOS.pm] Modul für LG TV's mit WebOS

Begonnen von CoolTux, 08 Februar 2017, 00:02:58

Vorheriges Thema - Nächstes Thema

Depechem

#300
Hallo ich wollte gern ein notify für den LG TV bauen.
Irgendwie habe ich da einen Fehler, das das notify nicht auslößt.
Könnt ihr mal bitte schauen.

Irgendwie lößt er beim Channelwechsel nicht aus.

define notify_Channel_1 notify LG_TV_Wohnzimmer:channel:1.* setreading LGTV_Wohnzimmer_IMG_dummy now_playing_img ./images/TVSender/ARD-HD.png
attr notify_Channel_1 group IMG
attr notify_Channel_1 room Multimedia


Wenn ich aus einem LG_TV_Wohnzimmer:channel:1.* ein Buero:on (einfacher HM Schalter) mache funktioniert der notify.

hier noch ein list vom LG-Modul
Internals:
   CHANGED
   DEF        192.168.2.129
   FD         77
   HOST       192.168.2.129
   NAME       LG_TV_Wohnzimmer
   NR         945
   STATE      on
   TYPE       LGTV_WebOS
   VERSION    0.2.0
   Readings:
     2017-03-17 13:15:43   3D              off
     2017-03-17 13:15:43   3DMode          2d
     2017-03-17 13:15:39   channel         1
     2017-03-17 12:50:48   channelCurrentEndTime -
     2017-03-17 12:50:48   channelCurrentStartTime -
     2017-03-17 12:50:48   channelCurrentTitle -
     2017-03-17 13:15:39   channelMedia    Cable Digital TV
     2017-03-17 13:15:39   channelName     Das Erste HD
     2017-03-17 12:50:48   channelNextEndTime -
     2017-03-17 12:50:48   channelNextStartTime -
     2017-03-17 12:50:48   channelNextTitle -
     2017-03-17 13:15:45   extInput_AV     connect_false
     2017-03-17 13:15:45   extInput_HDMI-1 connect_false
     2017-03-17 13:15:45   extInput_HDMI-3 connect_false
     2017-03-17 13:15:45   extInput_Komponente connect_false
     2017-03-17 13:15:45   extInput_Spielkonsole connect_true
     2017-03-17 13:15:41   input           -
     2017-03-17 13:15:47   lastResponse    ok
     2017-03-17 13:15:41   launchApp       TV
     2017-03-17 12:50:49   lgKey           efa2c46cbc16e9e9194b
     2017-03-17 13:15:47   mute            off
     2017-03-17 13:15:47   pairing         paired
     2017-03-17 13:15:47   presence        present
     2017-03-11 05:19:45   service_api     v.1
     2017-03-11 05:19:45   service_audio   v.1
     2017-03-11 05:19:45   service_config  v.1
     2017-03-11 05:19:45   service_media.controls v.1
     2017-03-11 05:19:45   service_media.viewer v.1
     2017-03-11 05:19:45   service_pairing v.1
     2017-03-11 05:19:45   service_settings v.1
     2017-03-11 05:19:45   service_system  v.1
     2017-03-11 05:19:45   service_system.launcher v.1
     2017-03-11 05:19:45   service_system.notifications v.1
     2017-03-11 05:19:45   service_timer   v.1
     2017-03-11 05:19:45   service_tv      v.1
     2017-03-11 05:19:45   service_user    v.1
     2017-03-11 05:19:45   service_webapp  v.2
     2017-03-17 13:15:47   state           on
     2017-03-17 13:15:47   volume          0
   Helper:
     wsKey      MTQ4OTc1MTQg=

     Device:
       registered 1
       runsetcmd  0
       Channelguide:
         counter    149
       Inputapps:
         com.webos.app.externalinput.av1 AV
         com.webos.app.externalinput.component Komponente
         com.webos.app.hdmi1 HDMI-1
         com.webos.app.hdmi2 Spielkonsole
         com.webos.app.hdmi3 HDMI-3
       Inputs:
         AV         com.webos.app.externalinput.av1
         HDMI-1     com.webos.app.hdmi1
         HDMI-3     com.webos.app.hdmi3
         Komponente com.webos.app.externalinput.component
         Spielkonsole com.webos.app.hdmi2
Attributes:
   devStateIcon on:10px-kreis-gruen:off off:10px-kreis-rot:on
   event-on-change-reading state
   fhem_widget_command {  "order" : 1,  "color" : "#31B404",  "controlled_attribute" : "state",  "allowed_values" : [  ],  "prefix" : "TV  ",  "locations" : [    "APP"  ],  "alias" : "Status TV"}
   fhem_widget_command_2 {  "order" : 1,  "color" : "#31B404",  "controlled_attribute" : "channelName",  "allowed_values" : [  ],  "prefix" : "Sender: ",  "locations" : [    "APP"  ],  "alias" : "Status TV"}
   fhem_widget_command_3 {  "alias" : "TV Sender",  "locations" : [    "APP"  ],  "controlled_attribute" : "channel",  "order" : 2,  "allowed_values" : [    "1",    "2",    "3",    "4",    "5",    "6",    "7",    "8",    "9",    "10",    "11",    "12",    "13",    "14",    "15",    "16",    "17",    "18",    "19",    "20"  ]}
   group      LG-TV
   icon       it_television
   room       FHEM-Widget,Multimedia
   webCmd     off:mute


Was ich auch nicht verstehe warum mir der "LG_TV_Wohnzimmer" in der "addRegexpPart" 2x angezeigt wird!? (Siehe Bilder im Anhang) Die beiden verschiedenen Devicees mit gleichem Namen haben verschiedene Readings zur Auswahl.
Wenn direkt über das FHEM Menü das notify zusammenklicke LG_TV_Wohnzimmer:channel.* ändert sich das notify auch. wenn ich es händisch im "DEF" ändere funktioniert es nicht. Sobald ich das funktionierende von LG_TV_Wohnzimmer:channel.* in LG_TV_Wohnzimmer:channel:1.* ändere geht es wieder nicht
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

ToM_ToM

Hallo Depechem,

hast du bei deinem TV das Attribut event-on-change-reading .* gesetzt?

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

CoolTux

Du willst anscheinend das Dein Notify auf ein set Event reagiert. Korrekt?
Dann mach mal den Eventmonitor auf und mache ein set channel nummer und schaue was im Eventmonitor an kommt.
Wird wohl eher sowas wie

define notify_Channel_1 notify LG_TV_Wohnzimmer.channel.1.* setreading...

passen
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Otto123

#303
Hallo depechem,
damit es beim nächsten mal einfacher wird, studiere genau die Doku zu notify -> https://fhem.de/commandref_DE.html#notify
ZitatHinweise:
<Suchmuster> ist entweder der Name des auslösenden ("triggernden") Gerätes oder die Kombination aus Gerät und auslösendem Ereignis (Event) Gerätename:Event.
Das <Suchmuster> muss exakt (!) entweder dem Gerätenamen entsprechen oder der Zusammenfügung aus Gerätename:Event. Events lassen sich mit "inform" in Telnet oder durch Beobachtung des "Event-Monitors" in FHEMWEB ermitteln.
Der Doppelpunkt zwischen Gerätename:Event ist ein Trenner, der steht nicht im Event ist also im Eventmonitor nicht sichtbar. Der wird eingefügt.
Beliebige Zeichen kann man einfach durch einen Punkt ersetzen, dass wird besonders gern im Event gemacht.
Wenn ein Doppelpunkt im Event vorkommt muss der auch ins regEx, wenn da keiner ist darf er auch nicht als neuer "Trenner" verwendet werden.
Also channel:1.* ist falsch wenn der Event eigentlich so aussieht channel 1
channel.1 wäre richtig.
channel.1.* triggert dann auf alles was mit eins anfängt. Also 1 10-19 100-199 usw.

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

Depechem

#304
Zitat von: CoolTux am 17 März 2017, 13:41:13
Du willst anscheinend das Dein Notify auf ein set Event reagiert. Korrekt?
Dann mach mal den Eventmonitor auf und mache ein set channel nummer und schaue was im Eventmonitor an kommt.
Wird wohl eher sowas wie

define notify_Channel_1 notify LG_TV_Wohnzimmer.channel.1.* setreading...

passen

wenn ich das setze
define notify_Channel_1 notify LG_TV_Wohnzimmer.channel.1.* setreading...
klappt es beim set Befehl, ich möchte aber auf`s Reading setzen. Da wenn mit der LG Fernbedienung umgeschalten wird ja auch das icon geändert werden muss.

wenn ich an der Fernbedienung oder im Modul den Sender wechsel kommt folgendes im Eventmonitor:
[code]2017-03-17 13:55:01.510 LGTV_WebOS LG_TV_Wohnzimmer channel 1
2017-03-17 13:55:06.825 LGTV_WebOS LG_TV_Wohnzimmer channel: 1
[/code]

durch Ottos Erklärung habe ich es hinbekommen:
LG_TV_Wohnzimmer:channel:.1.* setreading LGTV_Wohnzimmer_IMG_dummy now_playing_img ./images/TVSender/ARD-HD.png

ich danke euch allen
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

CoolTux

Kannst Du mal bitte probieren


LG_TV_Wohnzimmer.channel:.1.* setreading LGTV_Wohnzimmer_IMG_dummy now_playing_img ./images/TVSender/ARD-HD.png


So sollte das eigentlich aussehen. Zwischen Gerät und Readingname gibt es ein Leerzeichen kein : daher der . als ein Zeichen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Depechem

Zitat von: CoolTux am 17 März 2017, 16:20:30
Kannst Du mal bitte probieren


LG_TV_Wohnzimmer.channel:.1.* setreading LGTV_Wohnzimmer_IMG_dummy now_playing_img ./images/TVSender/ARD-HD.png


So sollte das eigentlich aussehen. Zwischen Gerät und Readingname gibt es ein Leerzeichen kein : daher der . als ein Zeichen.

Das ist der set Befehl, um das Reading zu nutzen (damit es auch beim ändern an der Fernbedienung angezeigt wird) muss mein Code verwendet werden
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

Otto123

Zitat von: CoolTux am 17 März 2017, 16:20:30
Kannst Du mal bitte probieren


LG_TV_Wohnzimmer.channel:.1.* setreading LGTV_Wohnzimmer_IMG_dummy now_playing_img ./images/TVSender/ARD-HD.png


So sollte das eigentlich aussehen. Zwischen Gerät und Readingname gibt es ein Leerzeichen kein : daher der . als ein Zeichen.
Also ich lass mich gern überzeugen, aber zwischen Gerät und Event fügt man doch laut commandref ein : ein?

Interessant ist, dass er zwei Events hat einmal mit channel: 1 und einmal ohne channel 1.

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

CoolTux

#308
Zitat von: Otto123 am 17 März 2017, 18:03:50
Also ich lass mich gern überzeugen, aber zwischen Gerät und Event fügt man doch laut commandref ein : ein?

Interessant ist, dass er zwei Events hat einmal mit channel: 1 und einmal ohne channel 1.

Gruß Otto

Ich kann nur wiedergeben was der Eventmonitor an zeigt. Und da ist immer ein Leerzeichen zwischen Device und Readingname und ein : zwischen Readingname und Readingvalue.

Das mit den 2 Events ist auch korrekt. Der erste Event ohne : ist der abgesetzte set Befehl. Der zweite Event mit : ist von der DoTrigger Funktion nach dem setzen des Readings. DoTrigger wir automatisch von der readingsEndUpdate Funktion gestartet.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Otto123

Ich weiß Du machst das gerne mit Punkt zwischen Gerät und Event, ich glaube das funktioniert auch.
Aber eigentlich ist es doch so wie es der Eventmonitor neuerdings sogar direkt definiert->

Event:
2017-03-17 22:06:59 dummy Aktor2 on
Define:
define Aktor2_notify_1 notify Aktor2:on {}

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

CoolTux

Interessant, also wenn der Eventmonitor das selber schon so macht, dann wird da wohl was dran sein.
Werde mich aber mal Kund tun wieso das da so ist. Interessiert mich.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Depechem

Ich mal wieder. Wenn am TV eine Aufnahme gestartet ist(wenn Bildschirm aus) wird im Modul der State "on" angezeigt. Als Channel wird der TV Kanal angezeigt der aufgenommen wird. Bei "launchApp" wird auch TV angezeigt.
Gibt es eine Möglichkeit(Reading zu definieren) das man den Unterschied zwischen "aktuell TV schauen" und "Aufnahme bei ausgeschalteten TV" im Modul erkennen kann?

@Otto
Für das Einschalten des TV nutze ich deine Idee des WOL Moduls (dies funktioniert super).
Wenn nun aber eine Aufnahme am TV läuft (TV aber ausgeschalten ist) wird der TV im WOL-Modul natürlich auch auf "on" angezeigt. Das hat zur Folge das man den TV im laufenden Aufnahmemodus(Bildschirm aus) nicht über FHEM starten kann.

Habt ihr dazu Ideen?
Viele Grüße Thomas
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

CoolTux

Zitat von: Depechem am 18 März 2017, 10:21:40
Ich mal wieder. Wenn am TV eine Aufnahme gestartet ist(wenn Bildschirm aus) wird im Modul der State "on" angezeigt. Als Channel wird der TV Kanal angezeigt der aufgenommen wird. Bei "launchApp" wird auch TV angezeigt.
Gibt es eine Möglichkeit(Reading zu definieren) das man den Unterschied zwischen "aktuell TV schauen" und "Aufnahme bei ausgeschalteten TV" im Modul erkennen kann?

Das Versuche ich auch heraus zu finden. Habe bisher noch keinen Ansatz finden können.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

duke

Hallo!

Erstmal wollte ich sagen, dass ihr da ein super Modul geschaffen habt.

Jetzt aber zu meinem Problem. Nach dem define des Fernsehers in FHEM, läuft das Ganze gut. Nach ein paar Tagen verbindet er sich nicht mehr automatisch mit dem Fernseher (Fernseher war zwischenzeitlich auch über eine Schaltsteckdose komplett ausgeschaltet). Da hilft auch kein set LGTV connect. Über delete des Moduls und neu Definition erhalte ich auch nicht mehr den Dialog auf dem Fernseher zur Freigabe der Verbindung.

Gibt es evtl Tipps woran es liegen könnte?

Viele Grüße

Duke

CoolTux

Da hilft nach meiner Erfahrung nur Fernsehr aus, wieder an und dann FHEM neustart.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net