[Plugin Tiers] webosTV (Téléviseur LG)

Bonjour,

J’ai bcp de difficulté a faire fonctionner le plugin:

  • Je renseigne l’adresse IP de ma TV (l’adresse mac reste vite)
    _ J’appuis sur le sauvegarder et aucun message n’apparait sur ma TV.

J’ai le message d’erreur suivant dans http.error:"
Traceback (most recent call last):
File « /var/www/html/plugins/webosTv/core/config/…/…/3rdparty/LGWebOSRemote/lgtv.py », line 71, in
elif sys.argv[2] == « on »:
IndexError: list index out of range"

Quelques precisions:

  • Je suis en v4 de jeedom.
  • lorsque je lance la commande en ssh python /var/www/html/plugins/webosTv/3rdparty/lgtv.py auth 192.168.1.44 (ip de ma tv), le message apparait bien sur ma tv
  • 192.168.1.44:3000 me donne bien hello world.
  • la commande arp -n 192.168.1.44 me renvoie:
    Adresse TypeMap AdresseMat Indicateurs Iface
    192.168.1.44 (incomplete) eth0

Quelque a t’il une idée ? Merci Bcp

Vincent

Bonjour,
Le plugin fonctionne bien pour ma part, sauf pour la partie « Magic remote » (flèches directionnelles et bouton OK). J’obtiens ce message :

Erreur exécution de la commande [Monitoring][TV][Up] : Erreur sur sudo python /var/www/html/plugins/webosTv/3rdparty/PyWebOSTV/lgtv_remote.py 33 connect_input up 2>&1 valeur retournée : 1. Détails : Traceback (most recent call last): File « /var/www/html/plugins/webosTv/3rdparty/PyWebOSTV/lgtv_remote.py », line 1, in from pywebostv.discovery import * File « /var/www/html/plugins/webosTv/3rdparty/PyWebOSTV/pywebostv/discovery.py », line 4, in import requests ImportError: No module named requests

Seriez vous d’où viens le problème ?
Je suis sur RPI4.
Merci

Finalement aujourd’hui la problème a disparu !!?? Je ne sais pas pourquoi mais je n’ai plus de message d’erreur.

Par contre savez vous comment on peut réorganiser les icones ? Je n’arrive pas à le placer commeje le souhaite sur le widget. Savez vous aussi s’il est possible de changer le fond gris sous les icones ?

Bonjour a tous,
lu plugin est il toujours maintenu ?

quand je veux appairer la télé(webos5, lg connects app activé) avec le plugin j’ai l’erreur suivante :


[2021-11-20 12:53:29][ERROR] : Erreur sur sudo python /var/www/html/plugins/webosTv/3rdparty/LGWebOSRemote/lgtv.py auth 192.168.1.79 2>&1 valeur retournée : 1. Détails : Traceback (most recent call last):   File "/var/www/html/plugins/webosTv/3rdparty/LGWebOSRemote/lgtv.py", line 6, in <module>     from LGTV import LGTVScan, LGTVClient, getCommands   File "/var/www/html/plugins/webosTv/3rdparty/LGWebOSRemote/LGTV/__init__.py", line 2, in <module>     from ws4py.client.threadedclient import WebSocketClient ImportError: No module named ws4py.client.threadedclient

Avez-vous déjà eu le problème ?

merci d’avance

J’ai un Jeedom de test et une LG avec WebOS fraichement aquise.. .

Salut @carl ,

Je n’arrive pas non plus à allumer ma TV de base avec le plugin mais je suis en train de débugger le pb et j’ai quelques pistes.
Je suis en v4.1.27 de jeedom et vesion Beta du plugin (2021-05-31 22:20:51)
Je suis sur 2 subnets differents séparés par un firewall. De plus j’utilise une connexion câblée (pas le WIFI).

Pour ma part l’adresse MAC n’apparait pas dans la configuration. Je suis en train de regarder pourquoi.

J’ai aussi le message d’erreur suivant quand j’essaie de démarrer manuellement la TV en testant la commande « Allumer » dans Base.

Ce que j’ai vu c’est que le plugin fait un wake up on LAN pour démarrer la TV.
Je ne suis pas sûr que le cas de subnets différents est prévu (ce que je suis en train de rergarder). Il y a fort à parier que si l’adresse MAC n’est pas renseignée tu ne pourras pas faire démarrer ta TV. Tu peux essayer déjà simplement de modifier le fichier :/var/www/html/plugins/webosTv/desktop/webosTv.php et supprimer le mot « disable » dans la ligne : « input disabled … {{Adresse MAC Détectée}} »
tu sauvegardes le fichier, tu redémarres le deamon et tu entres la MAC de ta TV manuellement. Est-ce que maintenant le démarrage de la TV fonctionne ?

Pour info, le wake up on LAN fonctionne de deux manières différentes (voir articles sur les célèbres wiki à ce propos):

Sur le même subnet : en envoyant une trame broadcast (mac destination FF:FF:FF:FF:FF:FF et contenu de la trame FFFFFFFFFFFF suivi de 16 fois la MAC de la TV ( d’où l’importance de connaitre la MAC).
Sur un subnet différent : en envoyant un datagramme UDP sur le port UDP 9. Il faut alors donner comme adresse de destination l’IP de la TV. Le datagramme UDP contient également FFFFFFFFFFFF suivi de 16 fois la MAC de la TV. Pour le faire fonctionner à travers un firewall ou routeur il faut autoriser (source:IPjeedom dest:IPdelaTV port:UDP9) et rajouter une ARP statique au niveau du firewall/routeur qui fait le lien entre l’IP de la TV et la MAC de la TV. La raison est que quand la TV est éteinte, l’adaptateur réseau de la TV reste actif pour démarrer la TV lors qu’il reçoit un WoL mais comme il n’envoie pas de pacquets vers le firewall /routeur, ce derrnier ne sait pas comment envoyer le paquet UDP vers la TV. Avec l’ARP statique, il garde toujours ce lien ce qui lui permet de fonctionner même après que la TV soit éteinte depuis longtemps. J’en profite pour répondre à la question de certains : quand la TV est éteinte, l’adaptateur réseau ne répond que au Wake Up On LAN et donc effectivement pas à son IP, d’où la nécessité de mettre l’ARP statique. Ne pas oublier de configurer « l’Activation TV à distance » dans les settings > connexion de votre TV.

Pour ma part, le fichier /usr/local/lib/python2.7/dist-packages/wakeonlan/wol.py semble recevoir un MAC vide en paramètre et donc ça ne fonctionne pas.
Si je change :
BROADCAST_IP = ‹ 255.255.255.255 ›
en BROADCAST_IP = ‹ abc.def.ghi.klm › avec abc.def.ghi.klm = IP de ma TV
et que dans la fonction def create_magic_packet(macaddress):
je mets en dur la MAC:
macaddress=« ab:cd:ef:gh:ij:kl » avec ab:cd:ef:gh:ij:kl = MAC address de ma TV
if len(str(macaddress)) == 12:

pour débugger j’utilise tshark que j’ai installé sur mon jeedom (tshark -i ens3 -w webosdebug.pcap) et je récup le fichier et regarde avec wireshark ce que mon jeedom me sort.

Je commence à comprendre le pb.
Si l’adresse MAC ne s’affiche pas c’est qu’elle n’a pas été trouvée au départ d’après ce que j’ai vu. Il y a 3 choses à faire manuellement pour que l’action Allumer TV fonctionne (Ne pas oublier de configurer « l’Activation TV à distance » dans les settings > connexion de votre TV):
1 :modifier le fichier :/var/www/html/plugins/webosTv/desktop/webosTv.php et supprimer le mot « disable » dans la ligne « input disabled … {{Adresse MAC Détectée}} » puis sauvegarder le fichier, redémarrer le deamon et entrer la MAC de la TV manuellement puis sauvegarder.
2: modifier le fichier /var/www/html/plugins/webosTv/3rdparty/lgtv_xx.json (où xx correspond à l’id de l’eqLogic dans la base de donnée : en principe il y a un fichier par TV configurée : dans ce fichier vous devez trouver quelque chose du genre {« ip »: « xxx.xxx.xxx.xxx », « hostname »: « xxx.xxx.xxx.xxx », « client-key »: « yyyyyyyyyyyyyyyy », « mac-address »: « zz:zz:zz:zz:zz:zz »} où xxx.xxx.xxx.xxx est l’IP de votre TV et zz:zz:zz:zz:zz:zz est sa MAC (quant-à yyyyyyy c’est la clé d’appairage). Il faut donc s’assurer que toutes les valeurs existent notamment pour mon cas changer la valeur de mac-address de « NULL » à la MAC de la TV.
3: Dans /usr/local/lib/python2.7/dist-packages/wakeonlan/wol.py changer BROADCAST_IP = ‹ 255.255.255.255 › avec l’IP de votre TV.

Ne pas oublier de configurer la règle de firewall (ou access list) entre les 2 réseaux:
(source:IPjeedom dest:IPdelaTV port:UDP9) et rajouter une ARP statique au niveau du firewall/routeur qui fait le lien entre l’IP de la TV et la MAC de la TV.
Ensuite ça doit fonctionner.

@ZygOm4t1k serait-il possible de faire changements nécessaires pour gérer ce cas de figure?

Bonjour,

Le plugin ne fonctionne plus, je n’arrive pas à installer les dépendances.
Une solution?

1 « J'aime »

As-tu avancé sur ton problème? J’ai le même :scream: :sob: :scream:

Non toujours pareil

1 « J'aime »

personne pour aider?

1 « J'aime »

Hello, de mon côté, j’ai réussi à contrôler ma TV avec le plugin https://zyg0m4t1k.github.io/webosTv/fr_FR/

c’est celui là pour lequel mes dépendances ne s’installent pas

Chez moi ca s’installe sans pb en v4.1.28 (prod) et en 4.2.14 (dev) et ca fonctionne avec ma LG 55c1 toute neuve sous WebOS6
J’ai juste certaines commandes qui génèrent une erreur et quelques icones manquants, je vais regarder comment corriger ca

Chez moi, ca fonctionne depuis que j’ai corrigé une erreur sur Python.

Peux-tu faire un SSH, taper « pip list » et m’envoyer un screenshot pour voir si tu as le même soucis que j’avais?

oh ce serait génial.
Voilà ce que j’obtiens:

WARNING: Ignoring invalid distribution -akeonlan (/usr/local/lib/python3.7/dist-packages)
Package Version


asn1crypto 0.24.0
blinker 1.4
bluepy 1.1.4
bottle 0.12.18
certifi 2018.8.24
chardet 3.0.4
cloud-init 18.3
configobj 5.0.6
cryptography 2.6.1
distro-info 0.21
entrypoints 0.3
fail2ban 0.10.2
idna 2.6
iotop 0.6
Jinja2 2.10
jsonpatch 1.21
jsonpointer 1.10
jsonschema 2.6.0
keyring 17.1.1
keyrings.alt 3.1.1
MarkupSafe 1.1.0
meross-iot 0.3.4.6
numpy 1.19.0
oauthlib 2.1.0
paho-mqtt 1.5.1
pip 21.3.1
PyBluez 0.23
pycrypto 2.6.1
pycurl 7.43.0.2
PyDispatcher 2.0.5
PyGObject 3.30.4
pyinotify 0.9.6
PyJWT 1.7.0
pyOpenSSL 19.0.0
pyserial 3.4
python-apt 1.8.4.3
pyudev 0.22.0
pyusb 1.0.2
pyxdg 0.25
PyYAML 3.13
requests 2.21.0
retrying 1.3.3
RPi.GPIO 0.6.5
SecretStorage 2.3.1
setuptools 59.4.0
six 1.12.0
systemd-python 234
unattended-upgrades 0.1
urllib3 1.24.1
wakeonlan 0.2.2
wheel 0.32.3
zigate 0.40.11
WARNING: Ignoring invalid distribution -akeonlan (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -akeonlan (/usr/local/lib/python3.7/dist-packages)
WARNING: Ignoring invalid distribution -akeonlan (/usr/local/lib/python3.7/dist-packages)
WARNING: You are using pip version 21.3.1; however, version 22.0.4 is available.
You should consider upgrading via the ‹ /usr/bin/python3 -m pip install --upgrade pip › command.

Tu as la même erreur que moi!
Il faut supprimer le repertoire « akeonlan » qui commence par ‘~’ dans « /usr/local/lib/python3.7/dist-packages ».

Fait un screenshot du répertoire « /usr/local/lib/python3.7/dist-packages » avant.

comment je fait ça depuis jeedom stp?

1 « J'aime »

Non, accès uniquement en SSH :wink:

Voilà. si tu peux me donner la commande pour la suppression du dossier parce que je suis zéro en ssh lol.

image