Aller au contenu

Echange Données Portables Android - Hc2


Lionel57

Messages recommandés

Je viens de penser à  un truc, j'aurais du prévoir une valeur par défaut à  80 pour le port (j'ai rajouté ce champs pour pouvoir faire une redirection du routeur pour une connexion à  distance

 

On peut mettre une adresse style Dyndns au lieu du traditionnel 192.168.x.x. D'ailleurs pour jouer sur le WIFI pour définir une présence, c'est même un peu obligatoire...

 

(petite précision, on n'est pas obligé de supprimer l'ancienne, en ouvrant l'apk, ça fait une mise à  jour, ça évite de re-saisir les paramètres)

Lien vers le commentaire
Partager sur d’autres sites

La dernière version de l'appli EchangeFibaro. 

 

J'ai commencé à  travailler sur la géoloc, mais c'est un peu plus compliqué pour tester dans l'émulateur (c'est un peu dur de se promener avec l'ordi sous le bras et il faut de grande rallonge... ;-) )

Lien vers le commentaire
Partager sur d’autres sites

La dernière version de l'appli EchangeFibaro. 

 

J'ai commencé à  travailler sur la géoloc, mais c'est un peu plus compliqué pour tester dans l'émulateur (c'est un peu dur de se promener avec l'ordi sous le bras et il faut de grande rallonge... ;-) )

Lien vers le commentaire
Partager sur d’autres sites

Si ta prochaine alarme et pour demain matin 7h, tu recevras dans ton module virtuel "lun. 07:00", c'est du brut, mais peu importe, inexploitable avec une scène par bloc

 

Moi, j'ai fait le choix d'ignorer toute alarme postérieur à  10h (l'alarme de mon téléphone ne me sert pas qu'à  me réveiller). 

 

Maintenant, définie tes besoins, je t'aiderai

Lien vers le commentaire
Partager sur d’autres sites

Bon, j'ai fait un code pour pouvoir utiliser le réveil.

 

C'est concluant, mais le code demande encore à  etre peaufiné. ( j'utilise 2 variables mais je mettrais tout dans une pour la prochaine version )

 

Ce code n'est peut etre pas ce que tout le mode veux, mais mois je souhaite ca :

 

- Dés qu'un reveil est activé sur mon smartphone, le code voit tout de suite qu'un réveil a été activé et lance la scène choisie à  l'heure du réveil.

 

Il faut ( pour l'instant ) juste créer 2 variables dans le panneau "heure" et "minute"

 

Ensuite inserer ce code dans le "mainloop" du module virtuel et le modifier à  sa guise... ;)

 

Enjoy ! 

local reveil = (fibaro:getValue(fibaro:getSelfId(), "ui.heure.value")) -- Récupération du label ( heure du réveil android)

local hreveil = (string.sub (reveil, 6 , 7) ) -- on formate les heures
local mreveil = (string.sub (reveil, 9 , 10) ) -- on formate les minutes
local Date = os.date("*t"); 
local hour = (string.format("%02d", Date.hour))
local min = (string.format("%02d", Date.min))


if reveil ~= nil then
fibaro:setGlobal("heure", hreveil) -- envoi heure du reveil dans une variable
fibaro:setGlobal("minute", mreveil) -- envoi Minutes du reveil dans une variable
end

local heure = fibaro:getGlobal("heure")
local minute = fibaro:getGlobal("minute")


fibaro:debug("Heure actuelle : "..hour .."  Minutes actuelles  :"..min)
fibaro:debug("Heure du réveil : "..heure .." Minutes du réveil  :"..minute)
fibaro:debug("...")


if hour == heure and min == minute -- On compare 
then   
fibaro:debug("Tout concorde...la scène est lancée !")
 -- Ma scène ici !
else
fibaro:debug("En attente de concordance...")
end   
Lien vers le commentaire
Partager sur d’autres sites

Voilàmon code LUA derrière le bouton traitement

local id = fibaro:getSelfId();

temp=fibaro:getValue(id,"ui.Reveil.value");
if temp == nil or temp == "" then
  c=""
else
  b, c = string.find(temp, " ",1);
  c, d = string.find(temp, ":",;
  a=string.sub(temp, b, b+2) .. string.sub(temp, c+1, c+2)
  if string.sub(a, 2, 2) == "0" then 
    c = string.sub(a, 3, 6); 
  else
    c= string.sub(a, 2, 6); 
  end;
  if tonumber(c)>1000 then c="" else c=temp end;
end;
fibaro:setGlobal("Reveil", c);
if fibaro:getValue(id,"ui.SSID.value") == "Freebox-60BAEA" then 
  fibaro:setGlobal("Present", "Oui")
else
  fibaro:setGlobal("Present", "Non")
end;

Je transferts l'heure en brut si elle est àmoins de 10h

Lien vers le commentaire
Partager sur d’autres sites

Et ma scène Réveil, que j'ai commencé àréécrire pour l'adapter...

--[[
%% autostart
%% properties
%% globals
--]]

local sourceTrigger = fibaro:getSourceTrigger();
local jour = {}
jour[0]="dim. ";
jour[1]="lun. ";
jour[2]="mar. ";
jour[3]="mer. ";
jour[4]="jeu. ";
jour[5]="ven. ";
jour[6]="sam. ";

local currentDate = jour[tonumber(os.date("%w"))] .. os.date("%H:%M");
local startSource = fibaro:getSourceTrigger();
if (currentDate ==  fibaro:getGlobalValue("Reveil")) then
  local Dimm = 0;
  fibaro:call(16, "SetValue", tostring(Dimm));
  for Dimm = 0, 100 do
    fibaro:sleep(18*1000)
    fibaro:call(256, "setValue", tostring(Dimm));
  end
end

Lien vers le commentaire
Partager sur d’autres sites

Je regarde ton code et j'ai plusieurs remarques

 

reveil ne sera jamais égal à  "nil", mais effectivement, il peut être égal à  nil (pas de guillemets)

 

Ensuite, n'oublie pas à  comparer le jour, ça peut être utile, le week end.

 

J'ai choisi de mettre en place le code là , comme ça, on ne compare qu'un truc... (currentDate est formaté pareil que l'info venant du téléphone)

local jour = {}
jour[0]="dim. ";
jour[1]="lun. ";
jour[2]="mar. ";
jour[3]="mer. ";
jour[4]="jeu. ";
jour[5]="ven. ";
jour[6]="sam. ";
 
local currentDate = jour[tonumber(os.date("%w"))] .. os.date("%H:%M");
Lien vers le commentaire
Partager sur d’autres sites

Oui, "nil" sans les guillemets ca ira mieux !  ;)

 

Je vais m'inspirer de ton code pour trouver le bon compromis pour moi, car je ne veux pas de bouton supplémentaire (traitement) mais que tout soit automatique... si valeur dans le label alors le script se lance.

 

Je viens de remarquer que dés que le réveil sonne sur le téléphone, celui-ci efface le label même si on éteint pas manuellement le réveil sur le tel... ^_^

Lien vers le commentaire
Partager sur d’autres sites

Oui, j'admet, mais dès que tu le coupe, il se remet en place pour le prochain réveil.

 

Donc si tu programmes un réveil à  7h tous les matins, la valeur sera à  "lun.7:00" jusqu'à  demain 7h, ensuite, nul jusqu'à  ce que tu coupes. Une fois coupé, la valeur passe automatiquement à  "mar. 7:00"

Lien vers le commentaire
Partager sur d’autres sites

Le bouton traitement, il est juste là , pour que l'appli le lance. Tu n'as pas besoin de l'appuyer, l'appli le fait. Je l'ai mis en place, avec une petite pensée pour les utilisateurs de HCL, mais j'avoue, j'ai en peu de mal avec les commandes Get HTTP, donc si je ne trouve pas ou si un expert ne m'aide pas, il est probable que je modifie mon code pour envoyer l'heure direct dans une variable globale. 

 

En attendant, le bouton, on n'y touche pas, c'est inutile, c'est l'appli qui s'en charge

Lien vers le commentaire
Partager sur d’autres sites

Avis aux admin, est-il possible d'ancrer le premier post de ce forum, pour que les mises àjour de l'appli soit au premier plan et éviter qu'une ancienne version ne soit téléchargé... (je veillerais àmettre àmodifier toujours ce post si c'est possible)

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...