Aller au contenu

Messages recommandés

Posté(e) (modifié)

@JLT c'est top

les commentaires sont en effet tres utiles, pour moi aussi tu sais !!, car je me penche sur la HC3 periodiquement (episodiquement) donc ..... pas simple

meme si ce n'est pas urgent ou utile pour moi dans immediat, j'aimerai comprendre pourquoi le slider revient toujours à zero (probleme que je n'ai pas avec le VD sur HC2)

alors oui ne melangeons pas le slider avec le QA thermostat bouton ...... mais la c'est pour le test

 

image.thumb.png.189d37c80af0b7ac07ef2df91e335fee.png 

 

dans INIT je definis les valeurs maxi et min (le 0 et 100% en Temperature maxi et min) est ce cela qui provoquerait la mise à zero?

function QuickApp:onInit()
    self:debug("AC onInit")
    self : updateView ( "Lbl_Slider" , "min" , "15" ) -- définir la valeur minimale absolue du curseur / ref @jgab 
    self : updateView ( "Lbl_Slider" , "max" , "28" ) --set max absolu du slider / ref @jgab 
    self : updateView ( "Lbl_Slider" , "step" , "1" ) --step 0.5 à la fin du temps  par pas de 0.5  

self.valueduslider = self:getVariable("valeurduslider") --on lit la variable

ou le probleme vient il de la fonction slider

 

function QuickApp:Lbl_Slider(event)

valueslider = event.values[1] -- variable valuetest
self:setVariable("valeurduslider", valueslider) -- création d'une variable dans le QA lorsqu'on positionne le slider
self:updateView("Lbl5", "text", "Temp. consigne du Slider : "..valueslider .. "°C") -- on affiche la variable dans label
self:updateView("Lbl_Slider", "value", "valueslider") -- on place le curseur
 

 --lecture des variable
 self.valuepow = self:getVariable("pow") --on lit la variable
 self.valuemode = self:getVariable("mode") --on lit la variable
 self.valueduslider = self:getVariable("valeurduslider") --on lit la variable
 self.valuefrate = self:getVariable("f_rate") --on lit la variable
 
 -- ici on envoie au daikin la nouvelle valeur de temperature consigne suite à la modif du slider
self.http:request("http://" .. self.ipaddress .. "/aircon/set_control_info?pow="..self.valuepow.."&mode="..self.valuemode.."&stemp=" ..self.valueduslider..".0&shum=0&f_rate="..self.valuefrate.."&f_dir=0", {
   		options = {
		method = 'GET'
	}}) 
self:refreshLoop()

end

 

Modifié par flamalex
  • 4 semaines après...
Posté(e)

Bonjour à tous,

 

@flamalex, perso j'ai abandonné le slider dans les QA ;)

 

La question du jour :

 

Vu les températures extérieures négatives, il y a un crash dans l'app.

tant que otemp est positif cela fonctionne, mais dès que la température passe sous le O, avec un "-...",

le " otemp = string.match(apiResult, "otemp=(%d+%.+%d*)") "

se "plante".

 

Suivant mes recherches, j'ai constaté que l'utilisation de la lettre "w" apporte une solution MAIS est ce la bonne solution ?

(%w+%.+%d*) ?

 

Merci pour vos avis

  • 1 mois après...
Posté(e) (modifié)

Bonjour à tous

@JLT AS Tu constaté une anomalie avec ta modif pour temperature négative ?

 

edit: pour avoir le negatif

j’ai modifié 

fin = début + 1 par +3

puis j’ai ajouté dans remplace le « e »

 

j’attendrai de voir lorsque ça passera en positif avec un nombre.

Modifié par flamalex
Posté(e) (modifié)

Bonsoir,

 

@flamalex, Oui, en fait ce n'est pas "w" que je devais utiliser mais "." (pour " N'importe quel caractère") dans la formule d'extraction de l'apiResult pour otemp, enfin il me semble (je continue de vérifier lors du passage des T° négatives et positives).

Et la ca fonctionne, la température externe est affichée (avec le signe "-" pour T° négative)

Et c'est aussi ok pour la T° positive :

 

image.thumb.png.4609e8ad4a1387f8820bae2ac04e623d.png

 

Je n'ai pas testé ta proposition vu qu'avec ton dernier fichier, l'affichage de la température négative est correcte.

image.thumb.png.d610b63d718f098b0b50f1f731282480.png

Vu les différentes versions, je ne sais plus trop duquel j'avais l'anomalie d'affichage négatif (j'ai en fait recopié les lignes qui m'intéressaient dans une autre QA :rolleyes:)

 

   
Modifié par JLT
  • 1 an après...
Posté(e) (modifié)

Bonjour,

Petit réveil de ce topic pour une curieuse nouvelle anomalie de connexion !

Alors qu'avec l'application ONECTA de DAIKIN, mes 3 unités sont parfaitement visibles et commandables (sans problème de wifi)

avec l'application Yubii Fibaro de la HC3, je ne vois plus maintenant que 2 unités sur les 3 ! ?

l'adresse ip est correct... c'est comme si la troisième unité ne communique plus avec la QA ... :wacko:

J'ai vérifié l'équivalence avec les fichiers pour les 2 unités reconnues et ne voit pas d'incohérence avec la troisième....

 

une idée ? :huh:

 

PS : si ca peut aider quelqu'un confronté à la même anomalie, je viens de résoudre le problème :

la traditionnelle méthode "couper l'alimentation de l'appareil (l'unité Daikin), attendre quelques secondes puis le reconnecter"

C'est c... je sais mais ca fonctionne :D La QA a retrouvé la 3è unité Daikin, me demandez pas pourquoi l'app Onecta Daikin la voyait et pas la HC3...., j'en ai aucune idée ! :22:

Modifié par JLT
résolu
  • 5 mois après...
Posté(e)

Quelqu'un a-t-il une idée de la manière dont je peux entrer dans l'API ONECTA Cloud ? Ceci est listé comme un exemple chez Daikin :

 

  https://idp.onecta.daikineurope.com/v1/oidc/authorize?
  response_type=code
  &client_id=[YOUR_CLIENT_ID]
  &redirect_uri=[YOUR_REDIRECT_URI]
  &scope=openid%20onecta:basic.integration

 

 

Ce qui suit ne fonctionne pas :

 

function QuickApp:onInit()
self:debug("Daikin - onInit") 
self.http = net.HTTPClient()
ClientID = self:getVariable("ClientID")
Clientsecret = self:getVariable("Clientsecret")
RedirectURI = self:getVariable("RedirectURI")
Scope = "openid onecta:basic.integration"
 
local function loop() 
setTimeout(loop,600000)
end
loop()
end
 
function QuickApp:SessionIDbutton()
local DaikinURLlogin = "https://idp.onecta.daikineurope.com/v1/oidc/authorize?"
local DataDaikinURLlogin = '{"client_id": "' .. ClientID .. '"}'
self:debug("Get session_id")
self:debug(DataDaikinURLlogin)
 
self.http:request(DaikinURLlogin, {
options = {
method = 'GET',
headers = {
['Content-Type'] = Scope,
},
data = DataDaikinURLlogin,
timeout = 10000
},
 
success = function(response)
if (response.status == 200 or response.status == 201) and type(response.data) == "string" and response.data ~= "" then
SessionID = json.decode(response.data)
SessionID = SessionID.session_id
self:debug("Session_id = " .. SessionID)
self:setVariable("SessionID", SessionID)
end
end
}) 
end
 
etc. etc.
×
×
  • Créer...