Aller au contenu

Messages recommandés

Posté(e)

Bonjour, 

 

Je voudrais reproduire un fonctionnement en mode bloc qui était présent sur ma LITE. Le tout en LUA car il devra être commandable via un VD.

 

 

Jusqu'ici j'ai ceci :

 

J'ai crée 1 variable globale nommée : automanu

Je change sa valeur via un VD:

 

 

Celui-ci pour le mode auto :

 

--j'affiche directement la valeur de automanu, dans le but de connaitre sa précedente valeur
fibaro:debug(fibaro: getGlobalValue ('automanu')); 


--J'affete la valeur Auto à  la variable automanu
fibaro:setGlobal('automanu', 'Auto');


--idem que au dessus, j'affiche maintenant la nouvelle valeur de automanu. Soit obligatoirement Auto
fibaro:debug(fibaro: getGlobalValue ('automanu'));


am = fibaro: getGlobalValue ('automanu');
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Labelauto.value", am); 


fibaro:startScene(20);

Celui ci pour le mode manu :

 

--j'affiche directement la valeur de automanu, dans le but de connaitre sa précedente valeur
fibaro:debug(fibaro: getGlobalValue ('automanu')); 


--J'affete la valeur Auto à  la variable automanu
fibaro:setGlobal('automanu', 'Manu');


--idem que au dessus, j'affiche maintenant la nouvelle valeur de automanu. Soit obligatoirement Auto
fibaro:debug(fibaro: getGlobalValue ('automanu'));


am = fibaro: getGlobalValue ('automanu');
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Labelauto.value", am); 


fibaro:startScene(20);

Je change aussi une étiquette avec cette ligne : fibaro:call(fibaro:getSelfId(), "setProperty", "ui.Labelauto.value", am); 

 

 

 

Pour le moment, mes essais de la compréhension de la chose bloque à  ce moment. En fin de VD je lance une scène. Elle devrait envoyer une notification pour chaque état mais cela ne fonction pas ;-)

 

D'ou ma question : Can you help me ?

 

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


local automanu = fibaro:getGlobalValue('automanu')
fibaro:debug(automanu);






if ('automanu' == Auto) then 
   fibaro:call(5, "sendDefinedPushNotification", "9");
end






if ("automanu" == Manu) then 
fibaro:call(5, "sendDefinedPushNotification", "10"); --notif sur julien MANU


end

Merci d'avance.

 

Posté(e)

Regarde ou ca bloque en utilisant des debug, c'est facile ensuite à  trouver.

 

Déjà , dans les boutons, je vois des pb de syntaxe... des problèmes d'espace en trop , ça m’étonnerais que ce debug t'affiche quelque-chose.

fibaro:debug(fibaro: getGlobalValue ('automanu')); 

Je te conseil de t'aider de ça au début : http://www.domotique-fibaro.fr/index.php?app=cp&do=show&pageId=3

 

 

Je ne te corrige pas la scène volontairement, c'est pour que tu trouve tout seul tes erreurs   ;)

Posté(e)
 
--[[
%% properties
%% globals
--]]
 
 
local automanu = fibaro:getGlobalValue('automanu')
fibaro:debug(automanu);
 

if (automanu == "Auto") then 
   fibaro:call(5, "sendDefinedPushNotification", "9");
end

 
if (automanu == "Manu") then 
 fibaro:call(5, "sendDefinedPushNotification", "10"); --notif sur julien MANU
end

si tu mets entre cote ou doublecote tes variables chargées tu vas pas y arriver. De plus, Auto et Manu ne sont déclaré nul part.

J'ai donc modifié considérant que Auto et Manu sont tes statuts chargés en VG.

Posté(e)

la scene est la uniquement pour m'assurer que ma variable a bien changer.

Si automanu = auto alors notif auto   OU Si automanu = manu alors notif manu.

 

 

Mais a terme c'est pour integrer la valeur de automanu dans des différentes scènes.

 

 

Par exemple si Manu, la scène qui ouvre le volets roulants ne s’effectuera pas. Idem pour la vocalisation de la météo le matin.

Posté(e)

Il faut lire et comprendre ce que tu codes.

Si tu déclares une variable toto et que tu la charge cela donne

local toto = "le contenu de ma variable toto"

Le problème est que tu mélanges le nom de la variable et son contenu.

Si Manu et auto ne sont pas declarés tu ne peux les utiliser.

Si Manu et auto sont des contenus, ils doivent être entre côté ou double côté.

Posté(e)

Je post tout ça ce soir. Il me reste juste un essai.

Il est très minime. Donc je peux dire sans trop me tromper que tout est OK.

J'avais une erreur dans mes déclarations et une écriture de variables.

Tient petite question :

- quel est le rapports entre une variable " local ceciestmavar " et une variable globales situées dans le panneau variables ?

Merci.

@pepite. Je viens de finir la modification de ton météo et je doit dire que ça me sert bien.

J'ai température actuelle, mini, maxi.

Vent et humidité prévue.

Condition météo.

Et ça sur "appart" et "travail".

Que du bonheur d'entendre la météo le matin amen prenant le café.

Prochaine étape, proposer le type d'habits et accessoires pour passer une bonne journée ; -)

Envoyé depuis la Station Spatiale Internationale

Posté(e)

Tient petite question :

- quel est le rapports entre une variable " local ceciestmavar " et une variable globales situées dans le panneau variables ?

 

 

Aucun. Ce sont deux choses fondamentalement différentes.

Posté(e)

@juju : super partage ta modif de la version du module météo, ca peut servir !!

 

la variable "local ceciestmavar" n'est utilisable que depuis la scene dans laquelle elle se trouve, alors que celle créé dans le panneau varibale est appelable et modifiable depuis n'importe ou, VD, scene ..avec un fibaro:getglobal ou fibaro:setGlobal ;-)

Posté(e)

C'est bien ce qui me sembler. Ma local ne me sert que en local finalement tandis que l'autre se balade ou bon me semble.

Merci pour la réponse ;-)

Je mettrai ça ce soir. Météo odifier je le met ici ou àla suite de ton post ?

Envoyé depuis la Station Spatiale Internationale

×
×
  • Créer...