Aller au contenu

HadesCH

Membres confirmés
  • Compteur de contenus

    12
  • Inscription

  • Dernière visite

Réputation sur la communauté

0 Neutral

À propos de HadesCH

  • Rang
    Nouveau

Profile Information

  • Sexe :
    Homme
  • Ville :
    Sion
  • Intéret :
    HC3
  • Box
    Autre
  • Version
    5.050.13

Visiteurs récents du profil

528 visualisations du profil
  1. HadesCH

    Fibaro Intercom

    Hello Excellente question :-D En fait, lors de la construction, j'avais regardé les recommandations d'installation du fibaro intercom et cest marque de mettre à 1m60 de hauteur afin d'avoir une vision optimale. Et j'avais posé la question à un revendeur agréé fibaro qui m'avait dit que je pourrais créer un scénario. Alors j'ai pu créer un pseudo scénario avwc un détecteur de mouvement, en dessous de la boîte aux lettres, qui allume la lumière et qui m'envoie un mail quand qqun est proche de la porte. Mais impossible de déclencher un événement qui simule qqun qui appuie sur le bouton (d'ailleurs pas visible du tout ce bouton)
  2. HadesCH

    QuickApp - Remote Denon

    Alors, j'ai trouvé le problème et il provenait du code. En fait, la variable self.port ne doit pas être entouré de "", car dans le code initial: self.port = tonumber(self:getVariable("port")) On lui indique de faire un cast d'une variable de type texte (string) en nombre, du coup j'ai mis directement mon chiffre et c'est ok self.ip = "172.22.22.26" self.port = 23 [20.11.2020] [07:23:09] [TRACE] [QA_434MARANTZ]: DEBUT ======================================================== [20.11.2020] [07:23:09] [TRACE] [QA_434MARANTZ]: connected [20.11.2020] [07:24:09] [TRACE] [QA_434MARANTZ]: Mode Surround: MCH STEREO [20.11.2020] [07:25:09] [TRACE] [QA_434MARANTZ]: Mode Surround: MCH STEREO [20.11.2020] [07:25:09] [TRACE] [QA_434MARANTZ]: Appareil connecté: SAT/CBL [20.11.2020] [07:25:09] [TRACE] [QA_434MARANTZ]: FIN ======================================================== Voilou, du coup j'espère que ça pourrait aider qqun qui passe par là et qui voudrait récupérer cette quick app
  3. HadesCH

    QuickApp - Remote Denon

    J'ai trouvé ça dans les paramètres: Commande réseau Toujours actif Mais c'est ok, car avev putty, je peux directement envoyer mes commandes sur l'ampli et ca fonctionne.
  4. HadesCH

    QuickApp - Remote Denon

    Alors, j'ai testé abec Putty les commandes qui sont dans le fichier excel et cela fonctionne parfaitement. Donc du côté réseau et ampli tout est ok.
  5. HadesCH

    QuickApp - Remote Denon

    Alors j'ai contrôlé depuis un pc branché sur le même réseau pour savoir si le port 23 est bien ouvert et en mode écoute C:\PortQryV2>portqry -n 172.22.22.26 -e 23 Querying target system called: 172.22.22.26 Attempting to resolve IP address to a name... Failed to resolve IP address to name querying... TCP port 23 (telnet service): LISTENING Tout semble ok, est-ce que je dois trouver une option dans mon ampli pour lui autoriser de recevoir des commandes par telnet? J'ai également été voir sur le doc officiel de fibaro pour voir si la méthode employé dans le code ci-dessus est toujours d'actualité et la réponse c'est oui: https://manuals.fibaro.com/home-center-3-quick-apps/ 3 4 5 6 7 8 9 10 11 12 function QuickApp:onInit() self.sock = net.TCPSocket() self.sock:connect(self.ip, self.port, { success = function() self:debug("connected") end, error = function(message) self:debug("connection error:", message) end, }) end Tout semble être ok mais impossible de faire fonctionner. Je remets le code entier : -------------------------------------------------------------------------------------------------------------------------------------- -- QuickApp Amplificateur Audio-Vidéo DENON AVR-X3200W -- Commutateur binaire -- HISTORIQUE -- Adapté de https://www.domotique-fibaro.fr/topic/3263-telecommande-pour-marantz-sr6008-et-similaires-5008-7008-etc/?tab=comments#comment-46332 -- V3.2 (10/01/2015) Remote Marantz de SebcBien -- HC3 Version: -- V1.0 (14/05/2020) Remote Denon pour Home center 3 par fredokl et Maxime pour le site www.domotique-fibaro.fr -- Utilistaion : -- La connexion à l'amplifivateur Audio-Vidéo se fait par TELNET (port:23 par défaut) -- Créer les variables "ip" & "port" -- Ajouter les commandes que vous souhaitez dans la partie "RÉGLAGES UTILISATEUR" -- Toutes les modifications se font dans la partie "RÉGLAGES UTILISATEUR" -- À l'excepter des noms des appareils que vous utilisez chez vous -- ==> voir QuickApp:onDataReceived(data) -- ==> VOS APPAREILS ICI -- Vous pouvez le modifier et l'améliorer à votre guise. -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- -- PARAMÈTRES UTILISATEUR -- -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- QuickApp._VERSION = "1.0" function QuickApp:onInit() __TAG = "QA_"..plugin.mainDeviceId.."DENON" self:trace("DEBUT ========================================================") self.ip = "172.22.22.26" self.port = "23" self:setVariable("mute", "0") self.sock = net.TCPSocket() -- création d'une instance TCPSocket self.isOn = false self.isconnected = false self:connect() self.pollingTime = 1000*60 -- 1min self:refresh() end -------------------------------------------------------------------------------------------------------------------------------------- -- ON & OFF -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:turnOn() self:debug("Turn On") self:sendCommand("ZMON") self:getinfo() end function QuickApp:uibtnonOnReleased(event) self:turnOn() end function QuickApp:turnOff()self:debug("Turn off") self:sendCommand("ZMOFF") self:getinfo() end function QuickApp:uibtnoffOnReleased(event) self:turnOff() end -------------------------------------------------------------------------------------------------------------------------------------- -- Boutons de volume -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:uibtnvol30OnReleased(event) self:SetVol(30) self:getinfo() end function QuickApp:uibtnvol40OnReleased(event) self:SetVol(40) self:getinfo() end function QuickApp:uibtnvol50OnReleased(event) self:SetVol(50) self:getinfo() end function QuickApp:uibtnvol60OnReleased(event) self:SetVol(60) self:getinfo() end function QuickApp:uibtnmuteOnOff(event) if self:getVariable("mute") == "0" then self:setVariable("mute","1") self:sendCommand("MUON") self:updateProperty("value", true) self:getinfo() elseif self:getVariable("mute") == "1" then self:setVariable("mute", "0") self:sendCommand("MUOFF") self:updateProperty("value", false) self:getinfo() end end -------------------------------------------------------------------------------------------------------------------------------------- -- FORMATS SONORS -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:uiddOnReleased(event) self:debug("Dolby Digital") self:sendCommand("MSDOLBY DIGITAL") self:getinfo() end function QuickApp:uidtsOnReleased(event) self:debug("DTS") self:sendCommand("MSDTS SURROUND") self:getinfo() end function QuickApp:ui7chstOnReleased(event) self:debug("7 Canaux Stereo") self:sendCommand("MSMCH STEREO") self:getinfo() end -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- -- NE RIEN TOUCHER À PARTIR D'ICI -- -------------------------------------------------------------------------------------------------------------------------------------- -- VOLUME & SLIDER -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:SetVol(value) if value < 10 then value = "0" ..value end self:sendCommand("MV" ..tostring(value)) self:trace("Volume", value) end function QuickApp:uivolumeOnChanged(event) local value = event.values[1] self:SetVol(value) self:getinfo() end -------------------------------------------------------------------------------------------------------------------------------------- -- REQUÊTE HTTP -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:getinfo() self:sendCommand("PW?") -- Power self:sendCommand("SI?") -- source self:sendCommand("MS?") -- format sono self:sendCommand("MV?") -- volume end function QuickApp:uigetinfo() self:getinfo() end function QuickApp:sendCommand(strToSend) local command = strToSend .."\r" self.sock:write(command, { success = function() -- fonction qui sera déclenchée lorsque les données seront correctement envoyées --self:trace("data sent" ..command) end, error = function(err) -- fonction qui sera déclenchée en cas d'erreur de transmission de données self:trace("error while sending data") end }) end -- méthode pour lire les données du socket -- puisque la méthode elle-même a été bouclée, elle ne doit pas être appelée depuis un autre emplacement que QuickApp:connect() function QuickApp:waitForResponseFunction() self.sock:read({ -- lire un paquet de données depuis le socket success = function(data) self:onDataReceived(data) -- traitement des données reçues self:waitForResponseFunction() -- lecture en boucle des données end, error = function() -- une fonction qui sera appelée en cas d'erreur lors de la tentative de réception de données, par ex. déconnexion d'un socket self:trace("response error") self.sock:close() -- socket fermé fibaro.setTimeout(5000, function() self:connect() end) -- tentative de reconnexion (toutes les 5 secondes) end }) end -- méthode pour ouvrir une connexion TCP. -- si la connexion réussit, la boucle de lecture des données sera appelée QuickApp:waitForResponseFunction () function QuickApp:connect() self.sock:connect(self.ip, self.port, { -- connexion à l'appareil avec l'adresse IP et le port spécifiés success = function() -- la fonction sera déclenchée si la connexion est correcte self:trace("connected") self.isconnected = true self:waitForResponseFunction() -- lancement d'une "boucle" de lecture de données end, error = function(err) -- une fonction qui sera déclenchée en cas de connexion incorrecte, par ex. timeout self.sock:close() -- fermeture du socket self:warning("connection error") self:updateView("lblSource", "text", "Source: N/A") self:updateView("lblSur", "text", "Format Sonor: N/A") self:updateView("lblVolStat", "text", "Volume: N/A") self:updateView("Slidervolume", "value", "0") fibaro.setTimeout(5000, function() self:connect() end) -- tentative de reconnexion (toutes les 5 secondes) end, }) end -- fonction de gestion des données lues -- normalement c'est là que les données rapportées par l'appareil seront traitées function QuickApp:onDataReceived(data) --self:trace("onDataReceived", data) power = string.find(data, "PW.") volume = string.find(data, "MV%d") formatsonor = string.find(data, "MS.") source = string.find(data, "SI.") if power then if string.sub(data, 3, #data - 1) == "STANDBY" then self.isOn = false self:updateView("lblSource", "text", "Source: N/A") self:updateView("lblSur", "text", "Format Sonor: N/A") self:updateView("lblVolStat", "text", "Volume: N/A") self:updateView("Slidervolume", "value", "0") self:updateProperty("value", false) else self.isOn = true self:updateProperty("value", true) end end if self.isOn then if volume then local statSliderVol = string.sub(data, 3, #data-1) if string.len(statSliderVol) == 3 then statSliderVol = string.sub(statSliderVol, 1, 2) end self:updateView("lblVolStat", "text", "Volume: " ..statSliderVol .." %") self:updateView("Slidervolume", "value", statSliderVol) -- updating the text for 'Slidervolume'. end if formatsonor then self:updateView("lblSur", "text", "Mode Surround: " ..string.sub(data, formatsonor + 2)) self:trace("Mode Surround: " ..string.sub(data, formatsonor + 2)) end end end -------------------------------------------------------------------------------------------------------------------------------------- -- REFRESH -------------------------------------------------------------------------------------------------------------------------------------- -- fonction refresh du QA function QuickApp:refresh() if self.isconnected then self:getinfo() end fibaro.setTimeout(self.pollingTime, function() self:refresh() end) -- looping part end -------------------------------------------------------------------------------------------------------------------------------------- -- FIN DU CODE -- -------------------------------------------------------------------------------------------------------------------------------------- Je vous remercie d'avance pour vos réponses
  6. HadesCH

    QuickApp - Remote Denon

    Oui, c'est changé mais je l'avais changé directement dans l'initation de connexion à travers le socket self.sock:connect("172.22.22.26", "23", { mais j'ai remis comme de base et j'ai mis directement les varaibles: self.ip = "172.22.22.26" self.port = "23" Malheureusement: [19.11.2020] [09:16:03] [TRACE] [QA_432_C'EST_PAS_MARANTZ]: DEBUT ======================================================== [19.11.2020] [09:16:03] [ERROR] [QUICKAPP432]: QuickApp crashed [19.11.2020] [09:16:03] [ERROR] [QUICKAPP432]: Unknown error occurred: void connect(TCPSocket&,std::string const&,int) Bon j'ai essayé de supprimer tous les label et boutons pour voir si cela pouvait empêcher la connexion à cause d'une éventuelle erreur dans le code mais il reste tjs bloqué void connect(TCPSocket&,std::string const&,int) J'ai même tenté plusieurs autre port mais rien à faire à savoir: 80, 8080 1255 mais rien à faire. Si seulement j'arrivai à faire fonctionner au moins la connexion, après je pourrai tester les différentes commandes. Le problème de l'application officiel de la remote du marantz c'est qu'elle bouffe toute la batterie et que 1x sur 15 elle fonctionne sans que j'ai besoin d'arrêter le processus sur mon samsung S10+ Vous avez un lien vers de la documentation sur ces quick:app ?
  7. HadesCH

    QuickApp - Remote Denon

    Voici le logs d'erreur au complet: [18.11.2020] [16:49:00] [TRACE] [QA_432MARANTZ]: DEBUT ======================================================== [18.11.2020] [16:49:00] [WARNING] [QA_432MARANTZ]: Variable 172.22.22.26 not found [18.11.2020] [16:49:00] [WARNING] [QA_432MARANTZ]: Variable 23 not found [18.11.2020] [16:49:00] [ERROR] [QUICKAPP432]: QuickApp crashed [18.11.2020] [16:49:00] [ERROR] [QUICKAPP432]: Unknown error occurred: void connect(TCPSocket&,std::string const&,int)
  8. HadesCH

    QuickApp - Remote Denon

    J'ai trouvé les codes que je devrai mettre : https://www.us.marantz.com/-/media/Files/DocumentMaster/MarantzNA/US/Marantz_FY18_AV_SR_NR_PROTOCOL_V02-02072018.xls Mais toujours pas de connexion avec mon ampli
  9. HadesCH

    QuickApp - Remote Denon

    Hello, Je te remercie d'avoir crée ce tuto :-) J'aurai quelques questions: Je possède un ampli Marantz (SR5013) avec une HC3 et quand j'essaie d'implémenter le code j'obtiens ce message d'erreur: [17.11.2020] [11:01:01] [ERROR] [QUICKAPP432]: QuickApp crashed[17.11.2020] [11:01:01] [ERROR] [QUICKAPP432]: Unknown error occurred: void connect(TCPSocket&,std::string const&,int) Je pense qu'il n'arrive pas à créer le socket de connexion directement sur mon ampli Voici la partie de code dont j'ai modifié: -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- -- PARAMÈTRES UTILISATEUR -- -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- QuickApp._VERSION = "1.0" function QuickApp:onInit() __TAG = "QA_"..plugin.mainDeviceId.."Marantz" self:trace("DEBUT ========================================================") self.ip = self:getVariable("172.22.22.26") self.port = tonumber(self:getVariable("23")) self:setVariable("mute", "0") self.sock = net.TCPSocket() -- création d'une instance TCPSocket self.isOn = false self.isconnected = false self:connect() self.pollingTime = 1000*60 -- 1min self:refresh() end J'ai essayé le port 5'000 et le port 10443 (port du http) mais rien à faire, impossible d'établir la connexion. Et ma 2ème question: je dois mettre quoi comme nom ID, onReleased lorsque je créer mon bouton, ou barre de son? Désolé, mais c'est ma 1er QA et j'ai essayé de comprendre un maximum sur le forum, mais je ne possède que des bout de réponse par-ci par-là. Un tout grand merci d'avance pour vos réponses
  10. HadesCH

    Fibaro Intercom

    Hello tout le monde, Je sollicite votre aide, car je tente désespérément rendre ma sonnette connectée. Je possède un fibaro intercom à 1m50 du sol et une sonnette traditionnelle encastrée dans le mur à 1m20. Mes objectifs (sous forme de scénario): 1. Dès que quelqu'un sonne à ma porte sur la sonnette traditionnelle, que je reçoive un appel entrant, comme si les visiteurs auraient appuyé sur le bouton de la sonnette de l'intercom. 2. Faire en sorte que dès qu'on sonne sur la sonnette traditionnel, que cela ne sonne pas dans la maison. (une espèce de mode "Ne pas déranger") Appareils z-wave 1. Sous ma boîte aux lettres (qui est juste à côté de ma porte d'entrée) il y a un fibaro sensor, donc je peux créer un déclencheur dès qu'on s'approche de la porte d'entrée. Problématique: 1. Ma sonnette possède que phase et retour de lampe (donc pas de neutre pour y mettre un boitier Je suis tombé sur ce super tuto: J'ai essayé de l'implémenter: DÉCLARATIONS (Conditions/Déclencheurs) { operator = "any", conditions = { -- buttonOneIsPressed { id = 397, ====> c'est l'id de mon fibaro intercom isTrigger = true, operator = "anyValue", property = "buttonOneIsPressed", type = "device" }, -- buttonTwoIsPressed { id = 397, isTrigger = true, operator = "anyValue", property = "buttonTwoIsPressed", type = "device" }, -- buttonThreeIsPressed { id = 397, isTrigger = true, operator = "anyValue", property = "buttonThreeIsPressed", type = "device" } } } ACTIONS local trigger = sourceTrigger print("property:"..trigger.property) print("id:"..trigger.id) print("type:"..trigger.type) print("value:"..tostring(trigger.value)) print("bouton numéro 1:"..tostring(trigger.buttonOneIsPressed)) print("bouton numéro 2:"..tostring(trigger.buttonTwoIsPressed)) print("bouton numéro 3:"..tostring(trigger.buttonThreeIsPressed)) fibaro.call(397, 'trigger.buttonOneIsPressed') fibaro.call(397, 'trigger.buttonTwoIsPressed') fibaro.call(397, 'trigger.buttonThreeIsPressed') Résultat du mode debug: [10.11.2020] [16:14:54] [DEBUG] [SCENE238]: property:execute [10.11.2020] [16:14:54] [DEBUG] [SCENE238]: id:2 [10.11.2020] [16:14:54] [DEBUG] [SCENE238]: type:user [10.11.2020] [16:14:54] [DEBUG] [SCENE238]: value:nil [10.11.2020] [16:14:54] [DEBUG] [SCENE238]: bouton numéro 1:nil [10.11.2020] [16:14:54] [DEBUG] [SCENE238]: bouton numéro 2:nil [10.11.2020] [16:14:54] [DEBUG] [SCENE238]: bouton numéro 3:nil J'ai parcouru toutes les documentations ainsi que ce forum, mais sans succès. Si une âme charitable arriverait à m'aider, je l'en lui serait très reconnaissant Un tout grand merci d'avance Nicolas
  11. HadesCH

    Présentation

    Merci beaucoup
  12. HadesCH

    Présentation

    Hello tout le monde, Comme, c'est un champs obligatoire pour créer un nouveau sujet, y a pas le choix, je me présente :-P Pour faire simple, je suis l'heureux papa d'un HC3 avec à peu plus d'une centaines d'enfants mesh. Je ne connaissais pas du tout ce (très vaste) univers de la domotique mais ayant construit une maison, j'ai décidé de sauter le pas avec, selon moi, le meilleur rapport qualité prix du marché. Concernant mon parcours, je suis ingénieur système et j'ai également un diplôme d'électricien. Voilou, j'espère vous connaitre prochainement :) Bonne journée Nicolas
×