jjacques68 Posté(e) le 17 mars 2020 Signaler Partager Posté(e) le 17 mars 2020 Alors je suis entrain de me casser la tête pour faire le WakeOnLan que l'on connaissait déjà sur la HC2... Un grand merci au(x) personne(s) ayant développée(s) cela sur la HC2... j'ai fait un copié coller un adaptant. Mais je suis confronté au problème de l'adresse de BoradCast... Il semblerait que l'instruction setBroadcast(true) n'existe pas !! Voici le code du QA : (il n'y a pas tout ! juste la fonction principale qui pose problème) ---------------------------------------------------------------------------- function QuickApp:TurnOnPc(MacAdresse) ---------------------------------------------------------------------------- local macAddress = self:convertMacAddress(MacAdresse) -- Create Magic Packet 6 x FF local magicPacket = string.char(0xff, 0xff, 0xff, 0xff, 0xff, 0xff) -- Broadcast Address local broadcastAddress = "255.255.255.255" -- Default port used local wakeOnLanPort = 9 for i = 1, 16 do magicPacket = magicPacket..macAddress end --self.sockOn:setBroadcast(true) self:debug(broadcastAddress) self.sockOn:connect(tostring(broadcastAddress), tonumber(wakeOnLanPort),{ success = function() self:debug("Socket ON - opened") fibaro.sleep(100) self.sockOn:write(magicPacket, { success = function() self:debug("Socket On - Data sended") end, error = function(err) self:debug("Socket On - error sending data : "..err) self:Close_SocketOn() fibaro.setTimeout(3000, function() self:TurnOnPc(MacAdresse) end) end }) end, error = function(err) self:debug("Socket On - error opening : ",err) self:Close_SocketOn() fibaro.setTimeout(3000, function() self:TurnOnPc(MacAdresse) end) end }) end et j'ai l'erreur suivante : Socket On - error opening : Network is unreachable Si quelqu'un à des idées !! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 17 mars 2020 Signaler Partager Posté(e) le 17 mars 2020 Tu as repris le code d'ici ? https://www.domotique-fibaro.fr/topic/107-wake-on-lan-wol-dã©marrer-son-ordinateur-ã -distance/ Net.FUdpSocket() n'est tout juste pas supporté Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 17 mars 2020 Auteur Signaler Partager Posté(e) le 17 mars 2020 oui exacte, mais je le suis dis que je le passais sur une socket TCP... Ben visiblement non... Le broadcast passe pas Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 17 mars 2020 Signaler Partager Posté(e) le 17 mars 2020 Ce n’est pas envisageable de faire de l’UDP sur une connexion TCP. Il faut attendre que Fibaro réintroduise dans une prochaine mise à jour. Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 17 mars 2020 Auteur Signaler Partager Posté(e) le 17 mars 2020 mais attend, le broadcast (en général) peut pas se faire sur une socket TCP ? c'est que pour l'UDP ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 17 mars 2020 Auteur Signaler Partager Posté(e) le 17 mars 2020 du coup, j'allume avec la HC2 et j'éteins avec la HC3 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 17 mars 2020 Signaler Partager Posté(e) le 17 mars 2020 Dans le cas qui nous concerne Braodcast = UDPIls sont fort chez Fibaro: un HC2 pour allumer / un HC3 pour éteindre... Très fort Faut pas qu’ils lisent le sujet ils ne vont jamais réintégrer UDPSocket 1 2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 17 mars 2020 Signaler Partager Posté(e) le 17 mars 2020 Ça risque pas ils sont confirmé aux boulot pour résoudre le "Fibaro migration module" Envoyé de mon BLA-L29 en utilisant Tapatalk 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 17 mars 2020 Signaler Partager Posté(e) le 17 mars 2020 Nous sommes d’accord Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 17 mars 2020 Auteur Signaler Partager Posté(e) le 17 mars 2020 nan mais j’espère qu’ils vont quand même sortir une MAJ prochainement ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 17 mars 2020 Signaler Partager Posté(e) le 17 mars 2020 Moi je ne pense pas toute l'économie va tourner au ralenti pendant 1 ou 2 mois est fibaro à je pense pas mal de monde qui ont des debug suites aux migrations foirés Envoyé de mon BLA-L29 en utilisant Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 17 mars 2020 Auteur Signaler Partager Posté(e) le 17 mars 2020 pourtant j’ai pas l’impression que beaucoup de personnes possèdent une HC3... c’est plutôt calme les sujets... Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 17 mars 2020 Auteur Signaler Partager Posté(e) le 17 mars 2020 (modifié) en même temps, vu l’actualité, les gens ont peut être autre chose à faire Modifié le 17 mars 2020 par jjacques68 Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 17 mars 2020 Signaler Partager Posté(e) le 17 mars 2020 Ils faudrait que la HC3 soit disponibleAprès je pense que quelques uns attendent les premiers retours de gens comme toi qu'ont eu le courage de faire le saut. Ce qui bloque aussi c'est le fait de devoir tout ré inclure sur la HC3 c'est je pense la meilleure solution pour avoir une installation propre. Envoyé de mon BLA-L29 en utilisant Tapatalk 2 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Krikroff Posté(e) le 30 mars 2020 Signaler Partager Posté(e) le 30 mars 2020 @jjacques68, tu as vérifié si il n'y avait un plugin WanOnLan au fait ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 31 mars 2020 Auteur Signaler Partager Posté(e) le 31 mars 2020 ah haaaa ! il y a bien qqch oui, Wake On Lan... un QA, avec un champs MacAdresse, et un bouton search... ainsi un bouton d’action où on sait pas trop ce que sait, mais si tu cliques dessus le PC s’allume... Dans l’API, on peut voir le champs MacAdresse et l’action turnOn... J’en déduis que l’on peut paramétrer l’@Mac à souhait et l’activer quand on le souhaite du coup ! OK j’essaye dans la journée et dépose le code de la fonction pour faire le WOL. En espérant que ce champs @Mac soit dispo en écriture... dommage de ne pas avoir accès au code source du QA... Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 31 mars 2020 Auteur Signaler Partager Posté(e) le 31 mars 2020 alors : print(json.encode(api.put("/devices/456", {macAddress='90:2b:34:9d:e6:d6'}))) fibaro.call(456, "turnOn") donne : [DEBUG] 31.03.2020 08:03:58: /usr/share/lua/5.3/json/util.lua:55: bad argument #1 to 'for iterator' (table expected, got number) ????? Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 31 mars 2020 Auteur Signaler Partager Posté(e) le 31 mars 2020 je me suis dit que peutêtre avec ça, mais non... fibaro.call(456, "turnOn", "90:2b:34:9d:e6:d6") Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 31 mars 2020 Auteur Signaler Partager Posté(e) le 31 mars 2020 je comprends pas, d'après le debug du navigateur, je fais ce qu'il faut non : ça c'est quand j’utilise le QA Wake On Lan : Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 31 mars 2020 Signaler Partager Posté(e) le 31 mars 2020 Et bien, il manque le "properties". Quelque chose dans ce genre là : api.put("/devices/456", {properties={macAddress='90:2b:34:9d:e6:d6'}}) Aux erreurs de syntaxe près, je ne peux pas tester. Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 31 mars 2020 Auteur Signaler Partager Posté(e) le 31 mars 2020 déjà essayé, pareil Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 31 mars 2020 Auteur Signaler Partager Posté(e) le 31 mars 2020 (modifié) pourtant !!! { "id": 456, "name": "Wake on LAN", "roomID": 248, "type": "com.fibaro.wakeOnLan", "baseType": "com.fibaro.multimedia", "enabled": true, "visible": true, "isPlugin": true, "parentId": 0, "viewXml": true, "configXml": true, "interfaces": [], "properties": { "categories": [ "multimedia" ], "dead": false, "deadReason": "", "deviceControlType": 0, "deviceIcon": 28, "emailNotificationID": 0, "emailNotificationType": 0, "icon": { "path": "plugins/com.fibaro.wakeOnLan/img/icon.png", "source": "HC" }, "log": "", "logTemp": "", "macAddress": "90:2b:34:9d:e6:d6", "manufacturer": "", "model": "", "mute": false, "power": false, "pushNotificationID": 0, "pushNotificationType": 0, "saveLogs": true, "smsNotificationID": 0, "smsNotificationType": 0, "state": "", "ui.config.macAddress.caption": "MAC address", "ui.config.macAddress.enabled": true, "ui.config.section1.caption": "Configuration", "ui.config.section1.enabled": true, "userDescription": "", "volume": 0 }, "actions": { "setMute": 1, "setVolume": 1, "turnOff": 0, "turnOn": 0 }, "created": 1585632130, "modified": 1585632130, "sortOrder": 382 } donc même avec ça : ça passe pas... print(json.encode(api.put("/devices/456", {properties={macAddress="90:2b:34:9d:e6:d6"}}))) fibaro.call(456, "turnOn") [DEBUG] 31.03.2020 18:03:35: /usr/share/lua/5.3/json/util.lua:55: bad argument #1 to 'for iterator' (table expected, got number) Modifié le 31 mars 2020 par jjacques68 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 31 mars 2020 Signaler Partager Posté(e) le 31 mars 2020 Mais euh... tu essayes de faire quoi ? api.put il faut l'exécuter tout seul, pas dans un json.encode lui même dans un print, ça n'a aucun sens. Ou alors je n'ai pas compris ce que tu cherches à faire. Lien vers le commentaire Partager sur d’autres sites More sharing options...
jjacques68 Posté(e) le 31 mars 2020 Auteur Signaler Partager Posté(e) le 31 mars 2020 le print et le json.encode c'est pour récupérer le résultat du PUT dans le debug... Si ça se passait bien, il me retournerait toutes les propriété du device... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Lazer Posté(e) le 31 mars 2020 Signaler Partager Posté(e) le 31 mars 2020 Euh, mais ça fonctionne ça ??? Faudrait encore que api.put renvoie un json, et j'ai vraiment des doutes, il a plus de chance de renvoyer un booléen voire un entier Tu devrais récupérer son retour dans une variable, et tester son type avec la fonction type() justement, avant de faire ce genre de suppositions. Mais peut être que sur HC3 la fonction api.put a changé par rapport à la HC2 Euh en fait avant de valider mon message j'ai relu l'erreur, et il te le dit texto : "table expected, got number)" C'est clair pourtant, donc je suis dans le vrai Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés