-
Compteur de contenus
1 647 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Galerie
Calendrier
Tout ce qui a été posté par fredokl
-
Problème réglé avec le QA Netatmo en créant un nouveau RefreshToken. En espérant que ça ne revienne pas souvent.
-
Sur iPhone, un appui long et le push s'ouvre en entier.
-
Pareille rien n'a changé. Netatmo not connected
-
Pareille que @Nico, il semble y a voir un problème. [06.12.2023] [23:42:06] [ERROR] [QA_NETATMO_21]: Wrong status '1' in response! Check credentials.
-
Bienvenue sur le forum!
-
tempo QuickApp - Suivi Abonnement TEMPO (EDF)
fredokl a répondu à un sujet de mprinfo dans Quick App Developpeur
Ben voilà! -
tempo QuickApp - Suivi Abonnement TEMPO (EDF)
fredokl a répondu à un sujet de mprinfo dans Quick App Developpeur
Oui il y a un problème d'actualisation des données. C'est expliqué plus haut et une solution temporaire est donnée en attendant une mise à jour du QA ou la mise à disposition d'un nouveau QA. -
Bienvenue sur le forum!
-
Bienvenue sur le forum!
-
tempo QuickApp - Suivi Abonnement TEMPO (EDF)
fredokl a répondu à un sujet de mprinfo dans Quick App Developpeur
J'ai vu que une journée Tempo se déroule de 6h du matin à 6h le lendemain matin, quelle que soit la couleur du jour : 16 Heures Pleines, de 6h à 22h. 8 Heures Creuses, de 22h à 6h le lendemain. Concrètement si le mercredi 29 novembre est un jour rouge et le jeudi 30 novembre un jour blanc, alors le jeudi 30 novembre entre 0h00 et 6h00 sera considéré en tant que jour rouge (en Heures Creuses toutefois). Mais le QA ne tient pas compte de ça. Y-a-t-il moyen de le prendre en compte? -
QuickApp pour positionner une camera Axis 215
fredokl a répondu à un sujet de gargamel01000 dans Support
Essai avec: self:updateProperty("log", "Ta position ici") -
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:
-
Bienvenu sur le forum!
-
tempo QuickApp - Suivi Abonnement TEMPO (EDF)
fredokl a répondu à un sujet de mprinfo dans Quick App Developpeur
Oui bug, je constate la même chose. Pour demain est en "Non Défini". -
Oui demain rouge! Préparez vos pulls!
-
Bienvenu sur le forum!
-
Bienvenu sur le forum!
-
Nouvelle application mobile pour smartphone Fibaro Home Center / Yubii Home Center
fredokl a répondu à un sujet de fredokl dans Applications Smartphones et Tablettes
Étrange. -
Donc tu pilotes tes quinto FP directement par HA?
-
Topic unique Qubino ZMNHJD1 - Micromodule Fil Pilote 6 Ordres Z-Wave+
fredokl a répondu à un sujet de LyP dans Qubino
OK pour le montage. Pour utiliser le QA, la plus part des radiateurs électriques doivent être mis sur le mode "Confort" par défaut pour pouvoir recevoir les ordres. -
Topic unique Qubino ZMNHJD1 - Micromodule Fil Pilote 6 Ordres Z-Wave+
fredokl a répondu à un sujet de LyP dans Qubino
As-tu bien connecté le module sur ton radiateur? Sur le topic précédent tu as expliqué ton montage mais je n'ai pas compris le "0". -
Nouvelle application mobile pour smartphone Fibaro Home Center / Yubii Home Center
fredokl a répondu à un sujet de fredokl dans Applications Smartphones et Tablettes
OK. Moi version 1.21 sur iPhone. J'ai cherché de partout mais rien trouvé qui s'y rapproche. -
Quick App - Chauffage Fil Pilote Qubino Bonjour, Voici un QA pour le pilotage du chauffage avec un Qubino Fil Pilote. Je n'ai pas ré-inventé la roue mais simplement inspiré l'un des VD trouvé sur le forum pour la HC2. Pour cette version j'utilise une variable globale (Chauffage_Salon). Le paramétrage est très simple, il suffit de changer l'ID de votre module Qubino FP ainsi que sa valeur en fonction de vos envies. Code: -- QA de gestion pour un chauffage électrique en fil pilote 6 ordres piloté par un module Qubino -- Fonnctionne avec une Variable Globale qu'il faut créer (pas de création automatique de la VG pour le moment) -- VG = Chauffage_Salon {Confort, Confort-1, Confort-2, Éco, Hors-Gel, Arrêt} -- Créé par fredokl pour le forum www.domotique-fibaro.fr -- Version: 1.0 function QuickApp:onInit() self:debug("onInit") __TAG = "QA_"..plugin.mainDeviceId.."Chauffage Salon" -- Mise à jour variable sur label local ModeCh = fibaro.getGlobalVariable("Chauffage_Salon") self:updateProperty("Temperature", ModeCh) self:updateView("lblMode", "text", "Le chauffage du Salon est en mode ".. ModeCh) self:TemperatureSalon() end -- Température du Salon function QuickApp:TemperatureSalon(event) local tempSalon = fibaro.getValue(34, "value") -- Capteur température self:updateProperty("Temperature", tempSalon) self:updateView("lblTemp", "text", "La température du Salon est de ".. tostring(tempSalon) .." C°") self:debug("Température du Salon ".. tostring(tempSalon) .." C°") -- Rafraîchissement toutes les 15 minutes fibaro.setTimeout(1000 * 60 * 15, function() self.TemperatureSalon() end) end -- Mode Confort function QuickApp:uiConfortOnR(event) fibaro.call(62, "setValue", 99) fibaro.setGlobalVariable("Chauffage_Salon", "Confort") self:debug("Chauffage en mode Confort") self:onInit() end -- Mode Confort-1 function QuickApp:uiConfort_1OnR(event) fibaro.call(62, "setValue", 41) fibaro.setGlobalVariable("Chauffage_Salon", "Confort-1") self:debug("Chauffage en mode Confort-1") self:onInit() end -- Mode Confort-2 function QuickApp:uiConfort_2OnR(event) fibaro.call(62, "setValue", 31) fibaro.setGlobalVariable("Chauffage_Salon", "Confort-2") self:debug("Chauffage en mode Confort-2") self:onInit() end -- Mode Éco function QuickApp:uiEcoOnR(event) fibaro.call(62, "setValue", 21) fibaro.setGlobalVariable("Chauffage_Salon", "Éco") self:debug("Chauffage en mode Éco") self:onInit() end -- Mode Hors-Gel function QuickApp:uiHGOnR(event) fibaro.call(62, "setValue", 11) fibaro.setGlobalVariable("Chauffage_Salon", "Hors-Gel") self:debug("Chauffage en mode Hors-Gel") self:onInit() end -- Mode Arrêt function QuickApp:uiArretOnR(event) fibaro.call(62, "setValue", 0) fibaro.setGlobalVariable("Chauffage_Salon", "Arrêt") self:debug("Chauffage à l'arrêt") self:onInit() end Bien entendu ce code peut être modifié selon vos désirs. QuickApp: QA-Chauffage_FP.fqa
-
Quick App - DomoCharts - Graphiques sur NAS pour HC3
fredokl a répondu à un sujet de Lazer dans Quick App Developpeur
@jojo Je viens de faire un redémarrage de mon serveur pour essayer, tout est reparti sans problème. Il semble que la solution temporaire semble fonctionner après un redémarrage du Synology. A surveiller de près.- 328 réponses
-
- domocharts
- hc3
-
(et %d en plus)
Étiqueté avec :
-
Salut. Pas de nouvelle version prévu pour ce QA. Concernant les web radios, Denon fait payer un service à l'année (6$). Voici le lien si tu es intéressé: https://denon.vtuner.com/setupapp/denon/asp/AuthLogin/SignIn.asp