Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'DENON'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Bienvenue
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Annonces et suggestions
  • La Home Center et ses périphériques
    • La Home Center pour les nuls
    • HC 2 & Lite
    • HC 3
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Quick App
    • Multimédia (audio, vidéo ...)
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets, piscines, ...)
    • Eclairage
    • Applications Smartphones et Tablettes
  • Autres solutions domotiques
    • Box / Logiciel
    • Modules Nice (433 & 866 MHz)
    • Modules Zigbee
    • GCE Electronics
    • Modules Bluetooth Low Energy
  • Objets connectés
    • Les Assistants Vocaux
    • Netatmo
    • Philips Hue
    • DIY (Do It Yoursel)
  • Sécurité
    • Alarmes
    • Caméras
    • Portiers
    • Serrures
  • Informatique / Réseau
    • Tutoriels
    • Matériels Réseaux
    • Matériels Informatique
    • NAS
    • Virtualisation
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Jabber


Skype


Ville :


Intéret :


Version

2 résultats trouvés

  1. fredokl

    QuickApp - Remote Denon

    Quick App - Remote Denon Voici un QA pour piloter un amplificateur Audio-Vidéo de la Marque DENON. Il est calibré selon mes besoins mais vous pouvez ajouter facilement les fonctions que vous souhaitez sur votre amplificateur. Avec mon neveu (et oui encore lui) nous sommes parti du Vd réalisé par @sebcbien sur le forum pour les amplificateur MARANTZ qui est une filiale de DENON. Les codes sont presque tous les mêmes. Les commandes passent par Telnet (port 23 par défaut). Le QA n'est peut-être pas parfait mais je n'ai pas eu de bugs. Vous pouvez le modifier et l'améliorer à votre convenance. Pour le paramètrage, tout est expliqué dans le header. Code: -------------------------------------------------------------------------------------------------------------------------------------- -- 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 = self:getVariable("ip") self.port = tonumber(self:getVariable("port")) 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("PWON") self:getinfo() end function QuickApp:uibtnonOnReleased(event) self:turnOn() end function QuickApp:turnOff()self:debug("Turn off") self:sendCommand("PWSTANDBY") 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 if source then source = string.sub(data, source + 2) sourcetable = { -- VOS APPAREILS ICI ------------------------------------------- MPLAY = "APPLE TV4", --SAT/CBL = "FREEBOX", --A VERIFIER SUR AMPLI ET PC BD = "PS4", TV = "TV SONY" -- VOS APPAREILS ICI ------------------------------------------- } translatesource = sourcetable[string.sub(source, 1, #source -1)] if translatesource == nil then translatesource = source end self:updateView("lblSource", "text", "Appareil connecté: " ..translatesource) self:trace("Appareil connecté: " ..translatesource) self:trace("FIN ========================================================") 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 -- -------------------------------------------------------------------------------------------------------------------------------------- QuickApp: QA-DENON.fqa Icônes On & Off:
  2. Je vous propose un module virtuel pour les amplificateurs audio/video de la marque DENON, en attendant la v4 et des bons plugins. Comme j'ai eu du mal à le créer, à trouver la façon de communiquer par IP (DENON ne dit rien nulle part à propos de ça) et qu'ici on aime partager... Basé sur le sujet suivant, du forum officiel de Fibaro (merci à boerremk pour la création du sujet et à ROBBshop pour le code plus léger): http://forum.fibaro.com/viewtopic.php?t=1755&postdays=0&postorder=asc&start=0 Les fonctions peuvent être utilisées pour d'autres modèles d'ampli. Les commandes spécifiques par modèles au lien suivant: http://www.denon.fr/fr/pages/home.aspx Chercher l'ampli par son nom, puis onglet telechargement et notice, puis protocole RS232. Consignes: Avant tout il faut permettre à l'ampli d'être contrôlé par IP (voir vos paramètres) 1) Importer le module virtuel au format vfib 2) Le nommer, lui assigner une pièce, indiquer son adresse IP sur votre réseau (ex 192.168.1.10) et le port d'ouverture de votre routeur (ex 80 pour la freebox v6) 3) Changer l'icône principale 4) Le port d'ouverture par défaut de l'ampli est 23, si le votre est différent il faudra le changer ligne 3 de chaque bouton 5) Vous pouvez renommer les labels ZONE1, ZONE2, Source ZONE 1 et Source ZONE 2 mais ne modifiez pas les ID des labels 6) Vous pouvez modifier les noms des boutons ⎋ ZONE 1 et ⎋ ZONE 2 ainsi que dans les lignes 23 et 31 du code correspondant Ces boutons sont pour mettre ON ou OFF chaque ZONE en fonction de l'état en cours. Cependant il n'est pas nécessaire d'allumer l'ampli avant de choisir une source, la sélection de la source d'entrée met automatiquement l'ampli en marche 7) Vous pouvez modifier les noms des boutons des sources sous les labels Source ZONE 1 et Source ZONE 2, pour indiquer ce que vous avez branché sur les entrées correspondantes ainsi que dans les lignes 22 et 23 du code correspondant 8) Vous pouvez modifier les noms des boutons 1 à 3 sous le label des stations favorites pour indiquer le nom de vos stations enregistrées ainsi que dans les lignes 22 et 23 du code correspondant 9) Vous pouvez modifier dans le code suivant, le nom des sources pour indiquer ce que vous avez branché sur les entrées correspondantes, aux lignes 73,75,77,79,87,95 et 97. Vous pouvez évidemment ajouter ou retirer des boutons. Attention toutefois si vous en retirez à modifier le main loop en conséquence. Par exemple il peut être intéressant d'enregistrer les réglages en cours (source d'entrée, volume, mode son...) quand vous regardez/écoutez la source branchée sur l'entrée MEDIA PLAYER de votre ampli, via le bouton QUICKMEMORY1, puis de remplacer dans les codes du boutons de sélection de la source MEDIA PLAYER, la commande SIMPLAY ligne 20, par la commande MSQUICK1. Quand vous appuierez sur ce bouton plus tard, vous retrouverez les réglages que vous aviez lorsque vous avez enregistré. --Virtual Device --v0.1 du 02/11/2014 --v0.2 du 05/11/2014 Erreur modifiée dans les boutons quickmemory DENON_AVR-X3000.v0.2.vfib
×