[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

the ratman

Zitat von: CoolTux am 11 Februar 2017, 12:10:32Das liegt wohl am WLan. Ist bei mir auch so. Mal geht es mega schnell mal braucht der TV sogar 5 Min bis das WLan steht und mal geht es gar nicht dann muß ich den WLan Connect von Hand an stoßen.
hmm, ich hab nur lan ... sollte also eig. sogar schneller gehen. den connect stoss ich ab nu mit an, wenn tv on geht.
ich brauch eh ne bessere soundbar - diesmal vom tivi steuerbar, dann is es wurscht *g*
→do↑p!dnʇs↓shit←

vitolinker

Du könntest mit Presence einen Event erzeugen, wenn der TV an ist. Könnte schneller gehen und dann einen Connect triggern über WebOS Modul.
Ich verwende Presence von früher noch mit:

define LGPresence PRESENCE shellscript "/home/lgtv/presencecheck 192.168.180.36 3000"
attr LGPresence devStateIcon absent:general_aus present:general_an
attr LGPresence disable 1
attr LGPresence icon it_television
attr LGPresence room hidden

Script presencecheck (chmod 777):
#!/bin/bash
#usage: presencecheck [IP] [Port], if present returns 1 else 0
#if ["$1"=="" ||"$2"==""||"$1"=="-h"]
#  then
#    echo "usage: presencecheck [IP] [Port]"
#  else
    /usr/bin/nmap -T4 -p$2 $1|/bin/grep "Host is up">>/dev/null && echo 1 && exit 0
    echo 0
#fi
exit 0

Enjoy!

EDIT: Wenn nmap nicht installiert ist:
sudo apt-get update && apt-get install nmap



the ratman

uij, bei zu schnellem umschalen von apps zerlegts fhem total
somit leider kein log

und dann noch gefundenl2017.02.11 13:42:37 1: Logfile gelöscht
'"' expected, at character offset 1 (before "{"type":"response","...") at ./FHEM/82_LGTV_WebOS.pm line 614.


@vitolinker
presence war mir schon zu langsam *g*
→do↑p!dnʇs↓shit←

CoolTux

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

vitolinker

@ratman
Wie reproduziert man dein zu schnelles Umschalten?

Wenn dein Presence zu langsam ist mit konfigurierbarer Frequenz des Abfragens ist es Dein Netz, Router oder Fernseher. Probiere es mal mit fester IP. Da gewinnst du auch nochmal Zeit bei der Anmeldung.

the ratman

tjo - reproduzieren is eh lustig
2 mal is es bis jetzt passiert - wenns hilft: am floorplan.
nehm ich den app dropdown raus, stürzt fhem nicht ab.
jojo, sicher kein supertest, aber das kann ich zumindest drüber sagen ...

du, ich mach den status ja derzeit per ping.
allerdings will ich ned so oft pingen, wie ich gern den status aktualisiert hätte.

nachtrag
absturz auch beim umschalten von apps per fernbedienung. liegt also eher nicht am floorplan
wieder'"' expected, at character offset 1 (before "{"type":"response","...") at ./FHEM/82_LGTV_WebOS.pm line 614.

nachtrag2
war wohl eher zufall. fhem stürzt auch mal ohne app-schalten ab
hab jetzt mal das modul deaktiviert und "hoff", dass es dieses modul is.
→do↑p!dnʇs↓shit←

ToM_ToM

Hey, anbei das, was nach dem letzten Absturtz im Log stand.

unexpected end of string while parsing JSON string, at character offset 2 (before ""type":"response","i...") at /opt/fhem/FHEM/82_LGTV_WebOS.pm line 614.
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master/yowsup/demos/cli/cli.py", line 153, in startInputThread
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
EOFError: EOF when reading a line


Ich weiß nicht genau ob nur die erste Zeile zum Modul gehört und der Rest zum yowsup - Modul. Daher habe ich mal alles gepostet.

Hoffe, du kannst damit was anfangen. Ansonsten kann ich die Tage auch nochmal einen Intensivtest durchführen.

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

CoolTux

Version 0.0.50 ist raus.
Ratman, schau mal bitte wegen Deiner fehlenden Readings. Die sollten nun kommen.
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

CoolTux

Bitte die Version nicht runter laden. Es gibt da Probleme mit den Readings.


Ich teste jetzt erstmal ausgiebig und melde mich dann wieder
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

vitolinker

Hallo Zusammen,

Jetzt machen wir es uns gemütlich:
Die Folgenden Attribute lassen das Device Fernseher nützlich und hübsch aussehen:
attr Fernseher cmdIcon on:general_an off:general_aus rewind:rc_REW pause:rc_PAUSE stop:rc_STOP play:rc_PLAY fastForward:rc_FF
attr Fernseher devStateIcon off:general_aus on:general_an
attr Fernseher event-on-change-reading state
attr Fernseher icon it_television
attr Fernseher webCmd on:off:rewind:pause:stop:play:fastForward

Damit wir den Anruf der Liebsten nicht verpassen und dabei auch die Tagesschau beim LiveTV anhält gibts das folgende notify (kopiert aus der fhem.cfg.
Hier sei
Fernseher das Device für WebOS
Anrufliste ein FBCallmonitor der Fritzbox (siehe commandref für Details)
Beide mit entsprechendem event-on-change auf dem Reading.

define AnrufsignalisierungToast notify Anrufliste:.*ring { \
  my $anruf = ReadingsVal('Anrufliste','event',"");;;; \
  my $tvan = ReadingsVal('Fernseher','state',"");;;; \
  my $caller = ReadingsVal('Anrufliste','external_number',"");;;; \
  my $callername = ReadingsVal('Anrufliste','external_name',"");;;; \
  if ($anruf eq "ring" && $tvan eq "on") \
  {\
    fhem ("set Fernseher pause; sleep 1; set Fernseher screenMsg Anruf: $caller $callername")}\
;;;;}
attr AnrufsignalisierungToast icon phone_ring


Hier wird bei einem ankommenden Anruf (*ring) UND wenn der Fernseher an ist, eine Toast Message generiert, die über den Anruf informiert, nachdem das Programm angehalten wird. Eine Verzögerung finde ich schick, damit wir das lahme WebOS nicht überfordern.

Wer überflüssige ";" findet, der darf sie behalten. Es funktioniert und das zählt... Never change a running..., aber Ihr kennt das ja!

Kommentare und Verbesserungen sind herzlich willkommen.

*grinst breit über das tolle Modul*

CoolTux

Vielen Dank Vitolinker,

Auch wenn das Modul gerade etwas streikt. Also bitte erstmal nicht mehr testen. Ich baue gerade um.
Kleine Anmerkung zu Deinem Code


{\
    fhem ("set Fernseher pause");;;; \
    sleep 1;;;; \
    fhem ("set Fernseher screenMsg Anruf: $caller $callername")}\
;;;;}


Das Perl sleep blockiert FHEM, das wollen wir aber nicht.


{\
    fhem ("set Fernseher pause; sleep 1; set Fernseher screenMsg Anruf: $caller $callername");;;; \
;;;;}


Das FHEM sleep blockiert FHEM nicht.
Bitte noch berichtigen bei Dir



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

vitolinker

Oh, super, danke. FHEM blockieren wollen wir nicht, das stimmt! Editiere im post oben.

the ratman

gehört zum problem der 0.50 auch, dass ich neu verbinden soll, was aber ohne meldung ignoriert wird?
sprich: kein pairing mehr
→do↑p!dnʇs↓shit←

CoolTux

Jepp!

Ich habe soeben Version 0.0.53 in Git geladen. Damit sind erstmal viele Dinge wieder gerade. Auch die Channel Aktualisierung sowie einige FHEM Abstürze. Es gibt dafür aber erstmal keine Input Informationen. Daran arbeite ich.


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

the ratman

kackt leider immer noch ab, wie du ja andeutest'"' expected, at character offset 1 (before "{"type":"response","...") at ./FHEM/82_LGTV_WebOS.pm line 714.
→do↑p!dnʇs↓shit←