Aller au contenu
Lionel57

Echange Données Portables Android - Hc2

Recommended Posts

Merci pour la mise à  jour.

 

J'ai supprimé l'ancienne appli et installé le nouvel Apk.

 

Par contre maintenant, l'heure n'est plus récupérée par le label du module virtuel.  :mellow:

 

( J'ai bien vérifié n° id et nom de label )

Partager ce message


Lien à poster
Partager sur d’autres sites

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)

Partager ce message


Lien à poster
Partager sur d’autres sites

Concrêtement, c'est un fichier winrar renommé en ZIP, en raison des contraintes du forum

Partager ce message


Lien à poster
Partager sur d’autres sites

Un petit bug a été détecté (présent que chez certains). C'est corrigé (Moicphil, ton problème est résolu)

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Je vais autoriser les Winrar sur le fofo.

 

Edit : C'est fait. Lionel peux tu essayer d'uploader ton fichier .rar ? merci

Partager ce message


Lien à poster
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... ;-) )

Partager ce message


Lien à poster
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... ;-) )

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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   

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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");

Partager ce message


Lien à poster
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... ^_^

Partager ce message


Lien à poster
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"

Partager ce message


Lien à poster
Partager sur d’autres sites

En bref, il faut traiter l'événement en cours pour qu'un autre soit opérationnel. Mais en attendant, tant qu'il n'est pas traité, tu as une notif qui reste sur ton téléphone

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

Ca me va !

 

En unissant nos forces et grâce aux pros du lua sur le fofo, je suis sur que tu vas nous faire une super application...

N’hésites pas si tu as besoin d'aide ( à  mon niveau ) ou tests... ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

Ben si tu maîtrises bien la commande Get pour nos amis les utilisateurs de HCL... Pour le côté php, je maîtrise... là, j'ai fait plein de test, àl'aide des exemples du forum, je pêche un peu (beaucoup, la page ne se lance pas)

Partager ce message


Lien à poster
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)

Partager ce message


Lien à poster
Partager sur d’autres sites

Ben après avoir créé le module virtuel, qu'on a créé les étiquettes dont on a besoin, qu'on a bien transmit ces ID àl'appli, il y a juste àcliquer sur la croix du module, ça se met àjour tout seul...

Partager ce message


Lien à poster
Partager sur d’autres sites

×