Samsung Smart TV : python 3.9 (debian 11) - attente retours beta sur Modèle J et autres

Je l’ai installé sur une vm proxmox pour ma prod, et pour les tests en beta sur une vm Hyper-V

Je suis partie de la version Debian 11.7 Officiel (sans interface graphique)

wget https://raw.githubusercontent.com/jeedom/core/master/install/install.sh
chmod +x install.sh
./install.sh

Il n’y a pas plus la commande python par défaut sur les debian 11.x

Je viens de voir qu’il y avait une mise à jour 2023-05-25 02:27:18.
Avec cette version, il n’y a plus de problème avec les dépendances :slight_smile:

Merci

Bonjour,

Ce matin, je viens de mettre à jour la version beta.
Cela comprend :
→ les appels python avec la référence python3 plutôt que python, ( j’ai laissé pip plutôt que pip3)
→ la gestion de daemon : codes états dépendances et lancement.

J’attends pour la placer en stable que des utilisateurs de modèles J me contactent. Pour l’instant je n’ai personne.

A+
Bernard

Merci pour la nouvelle beta, j’ai changé dans le titre pour dire que l’on attends des retours pour le modèle J (ça donnera de la visibilité)

Je profite pour un autre sujet, certaines télécommandes ont des touches avec des raccourcis type Netflix ou autre, sais-tu si c’est implémentable avec la commande SEND_KEY ? Après ma TV n’a pas cette touche mais je me disais qu’il y a peut-être des fonctions cachées.

Bonne journée

Bonjour,

Il serait intéressant pour les tests que tu configures le plugin comme supportant les modèle J et que tu le lances.
Cela permettra de voir que le daemon fonctionne au moins au lancement.

Le lancement d’applications ne fonctionne pas comme cela (SEND_KEY).
Il faut lancer une recherche sur le web.

A+
Bernard

J’ai lancé l’installation, il y a juste une log indiquant que la commande python est manquante :

Pour le moment le démon fonctionne sans erreur.

Bonjour,

Merci pour ce test.

J’ai corrigé l’appel python3.

A+
Bernard

Merci tout est bon pour moi.

Voici les logs d’installation des dépendances :

Requirement already satisfied: websocket-client in /usr/local/lib/python3.9/dist-packages (1.5.2)
Requirement already satisfied: rijndael in /usr/local/lib/python3.9/dist-packages (0.1.1)
Requirement already satisfied: ipaddress in /usr/local/lib/python3.9/dist-packages (1.0.23)
Requirement already satisfied: pycryptodome in /usr/local/lib/python3.9/dist-packages (3.18.0)
Requirement already satisfied: aenum in /usr/local/lib/python3.9/dist-packages (3.1.12)
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (2.25.1)
Listing '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon'...
Listing '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/__init__.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/communicationStatus.py'...
Listing '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/WebSocketConnection.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/__init__.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/configuration.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/connection.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/connectors.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/handlers.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/httpservice.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/identity.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/messages.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/requestUrl.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/connexion/service.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/crypto.py'...
Listing '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/encryption'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/encryption/__init__.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/encryption/aes_decrypt.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/encryption/encryption.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/encryption/keys.py'...
Listing '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/events'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/events/SocketConnectionStatus.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/events/__init__.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/events/event.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/events/observer.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/events/publisher.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/exceptions.py'...
Listing '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/samsung'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/samsung/HttpService.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/samsung/TvProperties.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/samsung/__init__.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/smartcrypto.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/smarterror.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/tcphandler.py'...
Listing '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/utils'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/utils/__init__.py'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/lib/utils/smartJHLogger.py'...
Listing '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/logs'...
Compiling '/var/www/html/plugins/TvDomSamsung/core/class/../../resources/smartJHDaemon/smartJHDaemon.py'...
Everything is successfully installed!

Bonjour,

Impeccable.
Bonne journée,
Cdt
Bernard

Bonjour,

J’ai fait diverses modifications pour passer 4.4 :
→ dimensionnement des images
→ suppression du daemon => plus de support du modèle J (donc plus de dépendances, ni python 3.9)

Je peux préparer un zip que tu pourras télécharger si t le souhaites. Je te vommuniquerai alors une adresse de téléchargement.

Avec Jeedom, tu peux installer un plugi depuis une archive.
A+
Bernard

Bonjour Bernard,

J’étais en congés, je suis de retour et je suis dispo pour faire des tests.
Bon week-end

Merci

Bonjour,

Voici un lien pour télécharger la version ‹ 4.4 ›
.
https://www.dropbox.com/scl/fi/l2d7xyqvdd436t5qvnk2g/TvDomSamsung_Plugin.rar?rlkey=cr8qpokmfvhyvt9lquet9joqp&dl=0

C’est une archive (rar ) que tu peux utiliser au niveau jeedom localement.
Me contacter en cas de problème.
Cordialement,
Bernard

Bonsoir,

j’ai fini par réussir à enregistrer le plugin en passant par un zip.
image
Il y a toujours le bouton Legacy (c’est le modèle J non ?)

J’ai ajouté ma tv (Tizen) sans problème.
En revanche dans la version jeedom mobile je ne la vois pas j’ai un message d’erreur

Dans la version desktop sur mobile, les images sont bien redimentionnées.
Juste des messages d’erreurs quand je clique (mais les commandes fonctionnent bien) :
image

Le plugin n’apparait plus dans la partie santé de jeedom.

Voila pour mes premiers retour rapide de ce soir.

Merci

Bonjour,

Merci pour les tests.

1°) Modèles Legacy

C’est la dénomination pour les modèles avant Tizen , par exemple modèles F, etc. Rien à voir avec les modèles J ou H qui sont des modèles Tizen avec crypto renforcée.

2°) Version mobile

Je n’ai rien fait pour cette version. Je vais regarder.
Comment affiches tu la version mobile ?

3°) Redimensionnement images + click !

OK pour la taille des images.
Click sur bouton avec messages de warning. Je ne sais pas d’où cela vient.
Peut-être des bugs sur la version beta Jeedom ?
Je n’ai pas de doc sur les évolutions de la version. Donc, pour l’instant j’attends que la version 4.4 soit stabilisée.

4°) Santé jeedom

J’ai ôté le démon, donc normal que cela n’apparaisse plus dans la page santé.

La version mobile s’affiche par défaut avec un mobile, sur pc, il faut faire :
image

Dans l’url ça donne : https://IP_ADDRESS/index.php?v=m&p=equipment

Bonjourt,

Pour que cela s’affiche correctement, il suffit, en mode ‹ mobile › de cliquer sur l’icone autre au lieu de ‹ equipement ›, puis dans le sous-menu de cliqer sur version dashboard.

Le choix équipement ne permet que d’afficher un équipement simple mais ne servira à rien pour une télécommande plus complexe.

Désolé.
A+
Bernard

Bonjour

C’est ce que j’ai fais, mais pour moi le seul problème c’est qu’en mode mobile ça n’affiche rien sauf :
image
Il faudrait faire en sorte qu’il n’y ait pas ce message. Si je rend le plugin non visible j’ai plus d’erreur mais je ne l’ai plus dans le dashboard.

Merci

Bonjour,

J’ai fait quelques modifications pour améliorer l’affichage du plugin en version ‹ mobile ›.

Voici le lien de téléchargement : Dropbox - TvDomSamsung_Plugin.zip - Simplify your life

Fais-moi part de tes retours après tests.
Cordialement,
Bernard

P-S : Testé sous Edge.
Sous Firefox cela ne semble pas très bon.
Pas testé sous chrome.

Bonsoir,

Je viens de psoter à nouveau en faisant une correction pour firefox.

Voici le lien de téléchargement:
https://www.dropbox.com/scl/fi/rlb1kgh8sldt4dcess5nm/TvDomSamsung_Plugin.zip?rlkey=0sxm5vh62bz7fxpd6gezkr26f&dl=0

A+
Bernard

Bonjour,

Sous Debian moi aussi, et moi aussi avec Python3, j’ai modifié les scripts.
Ca marche chez moi.
J’ai essayé de les réécrire compatibles python2 ET python3, ce qui est vrai sauf pour le script.php

J’apporte ma petite configuration avec les diff des fichiers modifiés:

========= ./resources/install_apt.sh
35c35,42
< sudo python -m compileall -f "$basename/smartJHDaemon" 
---
> if ! command -v python &> /dev/null
> then
> 	# Python 3
> 	sudo python3 -m compileall -f "$basename/smartJHDaemon"
> else
> 	# Python 2
> 	sudo python -m compileall -f "$basename/smartJHDaemon"
> fi
========= ./resources/smartJHDaemon/lib/encryption/encryption.py
38c38
<   	def encode (self, text):
---
> 	def encode (self, text):
========= ./resources/smartJHDaemon/lib/encryption/aes_decrypt.py
67,74c67,74
<             0L,0L,0L,0L,0L,0L,0L,0L,
<             0L,0L,0L,0L,0L,0L,0L,0L,
<             0L,0L,0L,0L,0L,0L,0L,0L,
<             0L,0L,0L,0L,0L,0L,0L,0L,
<             0L,0L,0L,0L,0L,0L,0L,0L,
<             0L,0L,0L,0L,0L,0L,0L,0L,
<             0L,0L,0L,0L,0L,0L,0L,0L,
<             0L,0L,0L,0L,0L,0L,0L,0L
---
>             0,0,0,0,0,0,0,0,
>             0,0,0,0,0,0,0,0,
>             0,0,0,0,0,0,0,0,
>             0,0,0,0,0,0,0,0,
>             0,0,0,0,0,0,0,0,
>             0,0,0,0,0,0,0,0,
>             0,0,0,0,0,0,0,0,
>             0,0,0,0,0,0,0,0
========= ./resources/smartJHDaemon/smartJHDaemon.py
4c4,9
< import SocketServer as socketserver
---
> # Python 2+3
> try:
>     import SocketServer as socketserver
> except ImportError:
>     import socketserver
> 
========= ./core/class/TvDomSamsung.class.php
37c37
<     const EXEC_PATH             = 'python ' .  __DIR__ . '/../../resources/smartJHDaemon/smartJHDaemon.pyc';
---
>     const EXEC_PATH             = 'python3 ' .  __DIR__ . '/../../resources/smartJHDaemon/smartJHDaemon.pyc';
71c71
<         if (exec('which python | wc -l') != 0) {
---
>         if (exec('which python3 | wc -l') != 0) {
594c594
< ?>
\ Pas de fin de ligne à la fin du fichier
---
> ?>