Souci avec le WOL TvDomSamsung

Bonjour,

  • Télévision : UE65NU8005.
  • TvDomSamsung à jour en version stable.
  • Jeedom : Version 4.0.61

Problème :

J’arrive a contrôler la télévision mais j’ai un souci avec le WOL.

Quand je souhaite allumer la TV qui est éteinte depuis un petit moment (mais c’est pareil si elle est éteinte depuis 1 ou 2 minutes seulement), impossible de l’allumer. Mais si elle vient de s’éteindre, je peux l’allumer par le plugin.
De ce que je vois dans les logs, la différence c’est que dans le premier cas il passe vraiment par le WOL et dans le second il passe par une requête WSS.

Exemple :

  • Je lance un allumage alors que la TV est éteinte depuis 2/3 minutes (il passe par le WoL) mais la TV s’allume pas.
[2020-11-04 11:49:07][DEBUG] : Exec commande  OnOff
[2020-11-04 11:49:07][DEBUG] : eqLogic.cmd -> fn sendKey ( 1 touche) ->  KEY_POWER
[2020-11-04 11:49:07][DEBUG] : TvConnector::getInstance() -> class ConnectorImpl_Tizen_Modeles_K
[2020-11-04 11:49:07][DEBUG] : creation connector modele -> ConnectorImpl
[2020-11-04 11:49:07][DEBUG] : before send   [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:49:07][DEBUG] : websocket delai 500000
[2020-11-04 11:49:12][DEBUG] : $_status avant affect erreur [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:49:12][DEBUG] : websocket  Could not connect to : wss://192.168.60.102:8002/api/v2/channels/samsung.remote.control?name=amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n&token=10963546 error: Timed out after 5 seconds
[2020-11-04 11:49:12][DEBUG] : $_status apres affect erreur [status : 1 reception-Timed out after 5 seconds] code_err socket : 0 -  -  - 0]
[2020-11-04 11:49:12][DEBUG] : retour $_status  [status : 1 reception-Timed out after 5 seconds] code_err socket : 0 -  -  - 0]
[2020-11-04 11:49:12][DEBUG] : commStatus after send   [status : 1 reception-Timed out after 5 seconds] code_err socket : 0 -  -  - 0]
[2020-11-04 11:49:12][DEBUG] : canWake - wol : [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:49:12][DEBUG] : test avec KEY_POWER Comm.status =  '1' canWakeOnLan = 'true'
[2020-11-04 11:49:12][DEBUG] : canWake - wol : [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:49:12][DEBUG] : Tv en erreur et WOL on ==> activation WOL
[2020-11-04 11:49:12][DEBUG] : WOL  IP  '192.168.60.255'
[2020-11-04 11:49:12][DEBUG] : WOL  MAC  'c0:48:e6:22:9d:1b'
[2020-11-04 11:49:12][DEBUG] : retour WOL   success
[2020-11-04 11:49:12][DEBUG] : sendToTv.$communicationStatus: [status : 0 wol-success] code_err socket : 0 -  -  - 0]
  • Par contre, si je lance une commande WOL en CLI avec le binaire wakeonlan, ca marche la TV s’allume.

image

  • J’éteins la TV avec le plugin ca marche
[2020-11-04 11:51:33][DEBUG] : Exec commande  OnOff
[2020-11-04 11:51:33][DEBUG] : eqLogic.cmd -> fn sendKey ( 1 touche) ->  KEY_POWER
[2020-11-04 11:51:33][DEBUG] : TvConnector::getInstance() -> class ConnectorImpl_Tizen_Modeles_K
[2020-11-04 11:51:33][DEBUG] : creation connector modele -> ConnectorImpl
[2020-11-04 11:51:33][DEBUG] : before send   [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:51:33][DEBUG] : websocket delai 500000
[2020-11-04 11:51:33][DEBUG] : websocket  msg reçu -> {"data":{"clients":[{"attributes":{"name":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","token":"10963546"},"connectTime":1604487093170,"deviceName":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","id":"4cf1fdba-6678-41b3-946b-ea791e232edd","isHost":false}],"id":"4cf1fdba-6678-41b3-946b-ea791e232edd"},"event":"ms.channel.connect"}
[2020-11-04 11:51:33][DEBUG] : websocket  event -> ms.channel.connect
[2020-11-04 11:51:33][DEBUG] : websocket  send data to Tv -> { "method": "ms.remote.control","params": { "Cmd": "Click", "DataOfCmd": "KEY_POWER", "Option": "false", "TypeOfRemote": "SendRemoteKey"}}
[2020-11-04 11:51:34][DEBUG] : websocket  exec sleep + client->close()
[2020-11-04 11:51:34][DEBUG] : websocket  Connection closed (code:1000 - raison:)
[2020-11-04 11:51:34][DEBUG] : retour $_status  [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:51:34][DEBUG] : commStatus after send   [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:51:34][DEBUG] : canWake - wol : [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:51:34][DEBUG] : test avec KEY_POWER Comm.status =  '0' canWakeOnLan = 'true'
[2020-11-04 11:51:34][DEBUG] : websocket delai 500000
[2020-11-04 11:51:34][DEBUG] : websocket  msg reçu -> {"data":{"clients":[{"attributes":{"name":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","token":"10963546"},"connectTime":1604487093767,"deviceName":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","id":"1f6afceb-265a-4d76-a338-db963e4d9f6e","isHost":false}],"id":"1f6afceb-265a-4d76-a338-db963e4d9f6e"},"event":"ms.channel.connect"}
[2020-11-04 11:51:34][DEBUG] : websocket  event -> ms.channel.connect
[2020-11-04 11:51:34][DEBUG] : websocket  send data to Tv -> { "method": "ms.remote.control","params": { "Cmd": "Click", "DataOfCmd": "KEY_POWEROFF", "Option": "false", "TypeOfRemote": "SendRemoteKey"}}
[2020-11-04 11:51:34][DEBUG] : websocket  exec sleep + client->close()
[2020-11-04 11:51:34][DEBUG] : websocket  Connection closed (code:1000 - raison:)
[2020-11-04 11:51:34][DEBUG] : retour $_status  [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:51:34][DEBUG] : sendToTv.$communicationStatus: [status : 0 reception-] code_err socket : 0 -  -  - 0]
  • Je la démarre avec le plugin, ca marche. Et je la ré-éteint
[2020-11-04 11:52:23][DEBUG] : Exec commande  OnOff
[2020-11-04 11:52:23][DEBUG] : eqLogic.cmd -> fn sendKey ( 1 touche) ->  KEY_POWER
[2020-11-04 11:52:23][DEBUG] : TvConnector::getInstance() -> class ConnectorImpl_Tizen_Modeles_K
[2020-11-04 11:52:23][DEBUG] : creation connector modele -> ConnectorImpl
[2020-11-04 11:52:23][DEBUG] : before send   [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:52:23][DEBUG] : websocket delai 500000
[2020-11-04 11:52:23][DEBUG] : websocket  msg reçu -> {"data":{"clients":[{"attributes":{"name":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","token":"10963546"},"connectTime":1604487143422,"deviceName":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","id":"8cb9327d-b69a-48bd-af23-d4623adf1773","isHost":false}],"id":"8cb9327d-b69a-48bd-af23-d4623adf1773"},"event":"ms.channel.connect"}
[2020-11-04 11:52:23][DEBUG] : websocket  event -> ms.channel.connect
[2020-11-04 11:52:23][DEBUG] : websocket  send data to Tv -> { "method": "ms.remote.control","params": { "Cmd": "Click", "DataOfCmd": "KEY_POWER", "Option": "false", "TypeOfRemote": "SendRemoteKey"}}
[2020-11-04 11:52:24][DEBUG] : websocket  exec sleep + client->close()
[2020-11-04 11:52:24][DEBUG] : websocket  Connection closed (code:1000 - raison:)
[2020-11-04 11:52:24][DEBUG] : retour $_status  [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:52:24][DEBUG] : commStatus after send   [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:52:24][DEBUG] : canWake - wol : [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:52:24][DEBUG] : test avec KEY_POWER Comm.status =  '0' canWakeOnLan = 'true'
[2020-11-04 11:52:24][DEBUG] : websocket delai 500000
[2020-11-04 11:52:24][DEBUG] : websocket  msg reçu -> {"data":{"clients":[{"attributes":{"name":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","token":"10963546"},"connectTime":1604487144095,"deviceName":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","id":"b1d9fd7e-df87-4ce3-9db5-9343402cd52c","isHost":false}],"id":"b1d9fd7e-df87-4ce3-9db5-9343402cd52c"},"event":"ms.channel.connect"}
[2020-11-04 11:52:24][DEBUG] : websocket  event -> ms.channel.connect
[2020-11-04 11:52:24][DEBUG] : websocket  send data to Tv -> { "method": "ms.remote.control","params": { "Cmd": "Click", "DataOfCmd": "KEY_POWEROFF", "Option": "false", "TypeOfRemote": "SendRemoteKey"}}
[2020-11-04 11:52:24][DEBUG] : websocket  exec sleep + client->close()
[2020-11-04 11:52:24][DEBUG] : websocket  Connection closed (code:1000 - raison:)
[2020-11-04 11:52:24][DEBUG] : retour $_status  [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:52:24][DEBUG] : sendToTv.$communicationStatus: [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:53:07][DEBUG] : Exec commande  OnOff
[2020-11-04 11:53:07][DEBUG] : eqLogic.cmd -> fn sendKey ( 1 touche) ->  KEY_POWER
[2020-11-04 11:53:07][DEBUG] : TvConnector::getInstance() -> class ConnectorImpl_Tizen_Modeles_K
[2020-11-04 11:53:07][DEBUG] : creation connector modele -> ConnectorImpl
[2020-11-04 11:53:07][DEBUG] : before send   [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:53:07][DEBUG] : websocket delai 500000
[2020-11-04 11:53:07][DEBUG] : websocket  msg reçu -> {"data":{"clients":[{"attributes":{"name":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","token":"10963546"},"connectTime":1604487187033,"deviceName":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","id":"124f79e1-c1f7-41e9-b79b-829e5a8318f","isHost":false}],"id":"124f79e1-c1f7-41e9-b79b-829e5a8318f"},"event":"ms.channel.connect"}
[2020-11-04 11:53:07][DEBUG] : websocket  event -> ms.channel.connect
[2020-11-04 11:53:07][DEBUG] : websocket  send data to Tv -> { "method": "ms.remote.control","params": { "Cmd": "Click", "DataOfCmd": "KEY_POWER", "Option": "false", "TypeOfRemote": "SendRemoteKey"}}
[2020-11-04 11:53:08][DEBUG] : websocket  exec sleep + client->close()
[2020-11-04 11:53:08][DEBUG] : websocket  Connection closed (code:1000 - raison:)
[2020-11-04 11:53:08][DEBUG] : retour $_status  [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:53:08][DEBUG] : commStatus after send   [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:53:08][DEBUG] : canWake - wol : [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:53:08][DEBUG] : test avec KEY_POWER Comm.status =  '0' canWakeOnLan = 'true'
[2020-11-04 11:53:08][DEBUG] : websocket delai 500000
[2020-11-04 11:53:08][DEBUG] : websocket  msg reçu -> {"data":{"clients":[{"attributes":{"name":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","token":"10963546"},"connectTime":1604487187886,"deviceName":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","id":"60fe6c32-bb7-4d3-89c6-32fa6738a56d","isHost":false}],"id":"60fe6c32-bb7-4d3-89c6-32fa6738a56d"},"event":"ms.channel.connect"}
[2020-11-04 11:53:08][DEBUG] : websocket  event -> ms.channel.connect
[2020-11-04 11:53:08][DEBUG] : websocket  send data to Tv -> { "method": "ms.remote.control","params": { "Cmd": "Click", "DataOfCmd": "KEY_POWEROFF", "Option": "false", "TypeOfRemote": "SendRemoteKey"}}
[2020-11-04 11:53:08][DEBUG] : websocket  exec sleep + client->close()
[2020-11-04 11:53:08][DEBUG] : websocket  Connection closed (code:1000 - raison:)
[2020-11-04 11:53:08][DEBUG] : retour $_status  [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:53:08][DEBUG] : sendToTv.$communicationStatus: [status : 0 reception-] code_err socket : 0 -  -  - 0]
  • Après quelques minutes, le plugin ne peut plus la rallumer car il repart en WOL
[2020-11-04 11:57:45][DEBUG] : Exec commande  OnOff
[2020-11-04 11:57:45][DEBUG] : eqLogic.cmd -> fn sendKey ( 1 touche) ->  KEY_POWER
[2020-11-04 11:57:45][DEBUG] : TvConnector::getInstance() -> class ConnectorImpl_Tizen_Modeles_K
[2020-11-04 11:57:45][DEBUG] : creation connector modele -> ConnectorImpl
[2020-11-04 11:57:45][DEBUG] : before send   [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:57:45][DEBUG] : websocket delai 500000
[2020-11-04 11:57:45][DEBUG] : websocket  msg reçu -> {"data":{"clients":[{"attributes":{"name":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","token":"10963546"},"connectTime":1604487465626,"deviceName":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","id":"872c4a9e-eb7c-4461-bc17-c16d765b8895","isHost":false}],"id":"872c4a9e-eb7c-4461-bc17-c16d765b8895"},"event":"ms.channel.connect"}
[2020-11-04 11:57:45][DEBUG] : websocket  event -> ms.channel.connect
[2020-11-04 11:57:45][DEBUG] : websocket  send data to Tv -> { "method": "ms.remote.control","params": { "Cmd": "Click", "DataOfCmd": "KEY_POWER", "Option": "false", "TypeOfRemote": "SendRemoteKey"}}
[2020-11-04 11:57:46][DEBUG] : websocket  exec sleep + client->close()
[2020-11-04 11:57:46][DEBUG] : websocket  Connection closed (code:1000 - raison:)
[2020-11-04 11:57:46][DEBUG] : retour $_status  [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:57:46][DEBUG] : commStatus after send   [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:57:46][DEBUG] : canWake - wol : [eqLogicId : 252][remote : 192.168.60.102:8002], [tvApp : jeedom.tizen.app.samsung], [modele_tv : tizen], [sub_modele_tv : 0], [modele_k_delai : 0], [ssl : 1], [wol : 1], [mac tv : c0:48:e6:22:9d:1b], [tokenAuth : 10963546]
[2020-11-04 11:57:46][DEBUG] : test avec KEY_POWER Comm.status =  '0' canWakeOnLan = 'true'
[2020-11-04 11:57:46][DEBUG] : websocket delai 500000
[2020-11-04 11:57:46][DEBUG] : websocket  msg reçu -> {"data":{"clients":[{"attributes":{"name":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","token":"10963546"},"connectTime":1604487466225,"deviceName":"amVlZG9tLnRpemVuLmFwcC5zYW1zdW5n","id":"ca2bd73f-a565-47b-b9f1-80866d81c424","isHost":false}],"id":"ca2bd73f-a565-47b-b9f1-80866d81c424"},"event":"ms.channel.connect"}
[2020-11-04 11:57:46][DEBUG] : websocket  event -> ms.channel.connect
[2020-11-04 11:57:46][DEBUG] : websocket  send data to Tv -> { "method": "ms.remote.control","params": { "Cmd": "Click", "DataOfCmd": "KEY_POWEROFF", "Option": "false", "TypeOfRemote": "SendRemoteKey"}}
[2020-11-04 11:57:46][DEBUG] : websocket  exec sleep + client->close()
[2020-11-04 11:57:46][DEBUG] : websocket  Connection closed (code:1000 - raison:)
[2020-11-04 11:57:46][DEBUG] : retour $_status  [status : 0 reception-] code_err socket : 0 -  -  - 0]
[2020-11-04 11:57:46][DEBUG] : sendToTv.$communicationStatus: [status : 0 reception-] code_err socket : 0 -  -  - 0]

Conclusion :

Le WoL du plugin ne fonctionne pas dans mon cas. Mais le WoL de la TV marche bien car j’arrive a déclenché le WOL autrement que par le plugin.

Questions :

  • Pourquoi le log du WoL me dit success alors qu’il a pas démarré la TV ?
  • Pourquoi une commande wakeonlan arrive a démarrer la TV alors que le plugin non ? J’ai vu que le WOL du plugin s’appuyé sur une librairie tierce.
  • Comment résoudre cela :slight_smile: ?

Merci d’avance pour votre aide.

Bonjour,

Une idée @Bercolly ?

Bonjour,
J’ai commencé à regarder le code du plugin pour le WOL.
Il y a peut-être une erreur.
Si tu peux faire la modification suivante sur le code :
dans class/Telecommande/connectors/TvDomSamsung.TvConnector.class.php

Rechercher la fonction :
private static function WOL($_Ip, $_Mac)
remplacer :
$_result = $_magicPacket->send($_Mac, $_Ip);
par
$_result = $_magicPacket->send($_Mac, $_Ip, « 255.255.255.0 »); // encadré entre quillemets ou quotes.
Sauvegarder. Et refaire les tests.

Concernant la commande POWER. Comme pour la télécommande physique, il n’existe qu’un seul bouton qui sert à allumer ou éteindre la Tv.

La logique est la suivante :
Un appui sur POWER envoie toujours POWER_ON.

Si le plugin détecte une erreur, cela signifie que la Tv est éteinte dans ce cas, si la Tv supporte le WOL( wake on lan), un envoi WOL est réalisé. Ce qui doit allumer la Tv.

Si pas d’erreur sur POWER_ON, cela indique que la Tv est allumée, dans ce cas le plugin envoie POWER_OFF pour éteindre la TV.

A+
Bernard

Le bug WOL provient (sûrement) du fait que l’adresse IP sans masque de sous-réseau correspond au routeur (box) sinon, il faut fournir l’IP du dispositif (Tv) et une adresse de sous réseau.

Tiens-moi au courant.
PS : ma Tv Samsung est un modèle F qui ne supporte pas le WOL. Donc pas facile de tester.

Bonjour,

Merci.
Non pas mieux.
$_result = $_magicPacket->send($_Mac, $_Ip, '255.255.255.0');
Le log indique la meme chose

J’ai aussi testé de remplacer dans le code l’ip par l’adresse de broadcast tels qu’indiqué par la lib utilisé : https://github.com/tomnomnom/phpwol#usage
$_result = $_magicPacket->send($_Mac, '192.168.60.255');
Pareil, aucun résultat et log identique

Bonjour,

C’est bizarre !
Personne d’autre ne signale d’erreur.

Est-ce que tu as un Pc sur lequel on pourrait faire une capture de trame réseau ?

Le plugin networks utilise le même package que moi.
Peux-tu installer ce plugin et tester le WOL avec ?

Oui je peux faire un Wireshark sur le Jeedom pour voir ce qu’il envoi.
Et la meme chose avec le tools qui marche

Je vais essayer ca

Ca marche pas mieux avec le plugin network.
J’ai l’impression que le class que tu utilises n’envoi pas vraiment un wol vers la machine.

Avec la requête php je vois ca :


Rien en wol véritablement mais une requête en broadcast.

Quand je lance avec le tools wakeonlan, j’ai ca :


La aussi je retrouve bien mon FF FF FF FF FF FF dans le packet pour déclencher le wol.

Du coup j’ai testé en mettant mon adresse ip directement (wol direct) dans le wol pour diriger la demande directement sur la mac et non le broadcast.
image

Et ca marche.
Du coup, pourquoi renvoyer vers l’adresse de broadcast plutôt que vers l’adresse cible ? Il y a surement des cas ou c’est utile en broadcast plutôt qu’en direct, peut être dépendant des environnements mais je vois pas.

Du coup, je pense que ce serait interessant de pouvoir ajouter une feature, au niveau WOL, une case a cocher supplémentaire (disable par défaut) appelé « WOL direct call » qui si elle est activé, envoi l’ip au lieu de renvoyer le broadcast.


Qu’en penses-tu ?
En plus un WOL direct permet normalement de passer des routeurs ce qui n’est pas le cas du broadcast de souvenir (mes cours WOL sont loin). Et comme ma prochaine étape, c’est de comprendre comment je peux avoir mon Jeedom et ma tv dans 2 réseaux différents :slight_smile:

Re,

je ne comprends pas car à la base, le plugin envoie bien l’adresse IP de la Tv. Donc, cela doit marcher. Puisque on utilise le même code.

Si je regarde le debug que tu as envoyé au tout début, je constate que l’adresse IP que tu as indiquée est pour un broadcast :

[2020-11-04 11:49:12][DEBUG] : Tv en erreur et WOL on ==> activation WOL
[2020-11-04 11:49:12][DEBUG] : WOL IP '192.168.60.255’
[2020-11-04 11:49:12][DEBUG] : WOL MAC 'c0:48:e6:22:9d:1b’

Normalement, j’utilise l’adresse IP du Tv, comment se fait-il que l’on lance le wol avec cette adresse ? 192.168.60.255

Tu affiches l’IP envoyé en paramètre a la fonction WOL mais tu l’envoi après l’avoir passé dans la fonction getBroadcastIp donc c’est l’ip de broadcast qui est utilisé

RE,

J’ai parlé trop vite !
Je viens de regarder le code et je m’aperçois que j’envoie l’adresse de broadcast et non l’adresse IP.
Pour vérifier et corriger ce point, peux-tu modifier le code suivant :
class/Telecommande/TvDomSamsung.TvParametres.class.php

Remplacer :

public function getBroadcastIp()
{
$_tokens = explode(’.’, $this->remoteIP);
return $_tokens[0] . ‹ . › . $_tokens[1] . ‹ . › . $_tokens[2] . ‹ .255 ›;
}

par
public function getBroadcastIp()
{
return $this->remoteIP;
}

Cela devrait aller mieux.

Pour le fonctionnement sur deux réseaux différents, j’ai peur que cela ne fonctionne pas.

Je peux pas tester les filles sont devant la TV :slight_smile:
Mais c’est sur que ca marchera car quand j’ai mis mon ip statiquement dans l’appel WOL, ca a marchait.

Ok, on parle bien de la même chose.

Je vais intégrer une check box pour traiter soit Ip Tv soit Broadcast.

Pour le traitement sur deux réseaux différents, de mémoire, il me semble que c’est lié aux websockets.

Top merci

Oui mais j’aime bien les challenges alors si je réussi a remettre la TV dans mon réseau lan au lieu du réseau domestique je préfère. On verra sinon tant pis :slight_smile:

OK.

Je vais faire la modif.
Peux-tu installer le plugin corrigé depuis une archive zip ?
A+

Je peux… C’est pour pas le comitter direct ? T’as pas une branche beta ?

Si, j’ai une branche beta, mais ce n’est pas tout le monde qui veut installer un plugin beta.

Est-ce que cela vaut le coup d’inclure l’opton WOL direct ? Ou plus simplement de corriger le bug constaté ?

Pas de souci pour moi d’installer en beta, j’ai tout mes développement qui sont en beta sur ma prod.

Bonne question. D’un coté ca laisse le choix en l’ajoutant, d’un autre qui saura vraiment dans quel cas il faut la cocher. La question est : « est-ce que le multicast est nécessaire dans certains cas ? »
Si non alors tu changes, sinon tu ajoutes.

Bon,
Je prépare cela. Cela devrait être dispo en beta demain.
Je te fais signe dès que la version beta est disponible.
A+
Bonne soirée.
Merci pour l’aide !

1 « J'aime »

Top merci.
Bonne soirée

Bonjour,

J’ai déployé sur la branche beta, la version corrigée du plugin.
J’ai inclus le wol avec option direct ou multicast.
Essaie de tester les deux options, pour les valider.

Au niveau des commandes j’ai ajouté une commande ‹ off › qui force l’extinction du Tv sans tenir compte du wol.

Fais moi signe quand tu auras pu tester.
A+
Bernard