Calaos, Home Automation Forum
Météo openweathermap - Printable Version

+- Calaos, Home Automation Forum (https://calaos.fr/forum)
+-- Forum: Utilisation - Installation - Configuration (https://calaos.fr/forum/forumdisplay.php?fid=4)
+--- Forum: Calaos Installer (https://calaos.fr/forum/forumdisplay.php?fid=6)
+--- Thread: Météo openweathermap (/showthread.php?tid=359)

Pages: 1 2 3


RE: Météo openweathermap - raoulh - 03-12-2015

Salut,
Désolé j'ai raté ton post...

Bref, ton probleme dans le script LUA c'est que tu essayes de comparer une chaine de caractere avec une valeur entiere, d'ou l'erreur.

Ce que tu dois faire, c'est utiliser une variable Web Analog Input pour la direction du vent. Tu peux la mettre en visible=false pour la cacher sur l'interface. Ensuite une variable interne String, pour afficher la valeur textuelle de la direction du vent (ce que tu veux au final). Celle la doit etre a visible=true.

Pour le script, c'etait bon sauf pour les id qui doivent etre utilisé. Il faut lire la valeur en degré qui se trouve dans la web analog_input et ecrire le texte dans l'internal string.

Tu dois faire ca dans ton script:
Code:
local wind_direction = calaos:getInputValue("id_du_web_amalog_input")
if wind_direction >= 0 and wind_direction < 45 then
-- Nord
str = "Nord"
elseif wind_direction >= 315 and wind_direction < 0 then
-- Nord
str = "Nord"
elseif wind_direction >= 45 and wind_direction < 135 then
-- Est
str = "Est"
elseif wind_direction >= 135 and wind_direction < 225 then
-- Sud
str = "Sud"
elseif wind_direction >= 225 and wind_direction < 315 then
-- Ouest
str = "Ouest"

end
calaos:setOutputValue("id_du_internal_string", str)



RE: Météo openweathermap - Eric64 - 03-13-2015

Super Merci Raoulh. J'essai ca dès que j'ai un moment...Confused


RE: Météo openweathermap - Eric64 - 03-23-2015

Je viens d'essayer de faire le script en suivant tes instructions... mais toujours pas !!

J'ai créé le WebAnalogInput comme ça :
   

Puis L'InternalString comme ça :
   

Et enfin la règle avec le script :
   

Lorsque je crée le script voila ce que j'obtiens :
   

Je me suis planté ou ?


RE: Météo openweathermap - raoulh - 03-23-2015

Ajoute ca a la fin du script:

Code:
return true



RE: Météo openweathermap - Eric64 - 03-25-2015

J'ai fait la modif.

Voila le nouveau message d'erreur :
   

Là je suis largué... Huh


RE: Météo openweathermap - raoulh - 03-25-2015

Pourquoi tu as mis une majuscule a "return"?


RE: Météo openweathermap - Eric64 - 03-25-2015

Oups... A l'école je me faisais toujours engueuler parce que j'oubliais la majuscule en début de phrase.... AngryBlush

Je rectifie ce soir et je te dis....


RE: Météo openweathermap - Eric64 - 03-29-2015

Non Raoulh ca ne fonctionne pas...

Effectivement le R majuscule posait problème. Maintenant le script passe mais je n'ai toujours pas l'affichage de la direction du vent en texte.
Sur l'écran j'ai un icone si je clique dessus, je peux y mettre la valeur que je veux.... cette valeur remplace l'intitulé de la variable "Direction du vent"


RE: Météo openweathermap - Eric64 - 05-15-2015

Je remonte ce post car je n'ai toujours pas trouvé la solution.

Je viens (enfin...) d'installer la version stable de Calaos et je n'arrive toujours pas à mettre le texte pour la direction du vent . J'ai bien l'item mais pas la valeur...

Help please.... Huh


RE: Météo openweathermap - Cyridle - 05-22-2015

Hello Eric64,

Ca fonctionne  Big Grin avec le code si dessous...
Ca ne s'affiche pas sur l'Iphone Confused  mais sur le CalaosWeb  OUI
Pas encore installer mon écran tactile donc sur Calaos OS je sais pas...

Actions sur Calaos Installeur
Créer Input --> WebInputAnalog (Orientation du Vent) et le masquer (visible == false)
Créer Output --> Créer InternalString (Orientation du Vent)
Ajouter Règle --> Human reading - Orinentation vent
Ajouter Condition --> Orientation du Vent == changed  
Ajouter Actions --> Script

Code:
-- Initialisation des variables
local wind_direction = calaos:getInputValue('input_44')
local str = 'Nord'
-- On positionne direct a 'nord'... si on rentre pas dans une condition du if c'est que c'est Nord...
if wind_direction >= 45 and wind_direction < 135 then
str = 'Est'
elseif wind_direction >= 135 and wind_direction < 225 then
str = 'Sud'
elseif wind_direction >= 225 and wind_direction < 315 then
str = 'Ouest'
end
str=str..' ('..tostring(wind_direction)..'°)' -- Affiche Ouest(272.5°)
calaos:setOutputValue('intern_1', str)
return true;

Voilou et Merci pour l'idée Wink
++