Aller au contenu
Dragoniacs

Infos Météo avec Weatherbit

Recommended Posts

 Bonjour @Dragoniacs,

J'ai ça:

[DEBUG] 14:00:06: Scene activée
[DEBUG] 14:00:06: Pas de code ville - Utilisation de la localisation de la HC2
[DEBUG] 14:00:06: Envoie de la requête URL vers WeatherBit
[DEBUG] 14:00:06: Appel de l'URL du jour...
[DEBUG] 14:00:06: Appel de l'URL des prévisions...
[DEBUG] 14:00:16: Actualisation des labels
[DEBUG] 14:00:17: 2019-12-03 14:00:16.475000 [ fatal] Unknown exception: /opt/fibaro/scenes/548.lua:141: attempt to compare number with nil


 

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @Did

 

tu peux copier ta ligne 141 de la scene de Weatherbit stp ?

Partager ce message


Lien à poster
Partager sur d’autres sites

@Did C'est parce que tu n'as pas la dernière version du VD.

Il faut que tu ajoutes en bas du VD, un slidebar que tu nommes "slideAFF", avec pour titre "Mobile ou PC". Il sert à ajouter les icônes météo dans le VD (toujours non visible sur le téléphone, par contre).

Et si possible, ajoute cela dans la boucle principale de ton VD :

--Changement du mode d'affichage
local position = tonumber(fibaro:getValue(VD,"ui.slideAFF.value"))
if position ~= 1 and position <= 50 then 
    fibaro:call(VD,"setSlider",11,1)
  	fibaro:debug("Ajout des icones....")
    fibaro:killScenes(WSceneId)
    fibaro:startScene(WSceneId)
  else if position ~= 99 and position > 50 then 
    fibaro:call(VD,"setSlider",11,99) 
  	fibaro:debug("Ajout des icones....")
    fibaro:killScenes(WSceneId)
    fibaro:startScene(WSceneId)
    end
end

 

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

 Ah pardon, je n'avais pas vu qu'il y avait aussi une nouvelle version du VD.

Je télécharge la v3 et j'installe ça.

Merci @Dragoniacs. :13:

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

 On dirait que c'est bon.

Encore merci @Dragoniacs. :13::60::13:

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites
 On dirait que c'est bon.
Encore merci@Dragoniacs. :13::60::13:
 
Bonne nouvelle !!!

Envoyé de mon SM-A530F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

 Là, c'est trop tard pour la notif sur le téléphone, je verrais demain matin avec aussi le message sur la Sonos.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

 Et ce matin, tout est rentré dans l'ordre, notification et annonce vocale. :60:

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello, est-ce qu'il n'y aurait pas un soucis avec la fonction jours(J) ?

-- Traductions des jours
function Jours(J)
      if J > 6 then J = 0 end
      local Nom_jour = {"Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"}
    return Nom_jour[J+1]
end

 

Il est appelé par ce type d'instruction Jours(tonumber(os.date("%w")+2).

Aujourd'hui nous sommes samedi, soit J=6. Avec cette fonction, on aura pour aujourd'hui -> samedi, pour demain (J>6 alors J=0) dimanche et pour jour + 2 (J > 6 alors J=0) dimanche également.

 

Ce ne serait pas plus logique avec ce code ci ?

 

function Jours(J)
  if J > 7 then J = J - 7 end
      local Nom_jour = {"Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche"}
    return Nom_jour[J]
end

 

J = 6 -> samedi

J + 1 (soit 7) -> dimanche

J + 2 (soit 8, alors on fait J-7) -> lundi

Partager ce message


Lien à poster
Partager sur d’autres sites

Rectification, voila le code qui va bien

function Jours(J)
  if J > 6 then J = J - 7 end
      local Nom_jour = {"Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"}
    return Nom_jour[J+1]
end

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Avais tu des erreurs sur les jours ?

 

De mon côté, je recois la météo par SMS, et je n'ai pas d’erreur sur les jours avec la fonction de @Dragoniacs.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, avec le code en place si tu es un samedi, J+1 aura le nom de dimanche, et J+2 aura également le nom de dimanche.

 

Je pense que ça passe inaperçu parce que peu de personnes demandent la météo à J+2, mais on le voit dans le VD par exemple.

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah oui, certes je n'avais pas testé cette fonction.

Merci

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

peut on ajouter à ce super VD/Scene, la possibilité d'aller chercher la météo de j-1; j-2; j-3

afin de stocker cela avec j+1,j+2,j+3 et de lancer un arrosage (par exemple) si soleil depuis x jours et encore du soleil pendant y jours.

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Script mis a jour en version 3.0 spécial schwinny (avec mes fonction d'alerte vent pour le parasol...)

 

Merci ;) 

 

Par contre petite question concernant le vent.

 

voici les previsions meteofrance et ce que donne Weatherbit.

 

Savez vous s'il y a une possibilité de récuperer non pas le prévisionnel vent mais la valeur des rafales ? 

 

 

Capture d’écran 2020-03-31 à 23.32.22.png

Capture d’écran 2020-03-31 à 23.33.59.png

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir a tous les 2.

Je vais voir ce que je peux faire... pour la pluie, il va falloir stocker ça dans une variable globale, car je ne crois pas que le site garde la météo des jours précédents...

Et pour les rafales, il me semble sur l'info est dispo, il suffit de la récupérer.

 

Je m'en occupe dès que possible

 

Envoyé de mon SM-A530F en utilisant Tapatalk

 

 

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites

trouvé, la variable est max_wind_spd 

wind_gust_spd

 

je vais demain m'en occuper et te ferais passer le code ;) 

Modifié par schwinny

Partager ce message


Lien à poster
Partager sur d’autres sites

@Dragoniacs

 

Ci dessous ma modification de mon code pour ajouter les rafales de vents !

 

 ------------ Modification Jeremy ------------
    		fibaro:setGlobal("Alerte_Vent","")
    
    		
            --RECUPERATION DES VALEURS DE VENT dans une variable locale
    		VENT_J = math.floor(jsonTable0.data[1].wind_spd*3.600)
    		VENT_J1 = math.floor(jsonTable1.data[2].wind_spd*3.600) 
    		VENT_J2 = math.floor(jsonTable1.data[3].wind_spd*3.600)
    
    
    		--RECUPERATION DES VALEURS DE RAFALE de VENT dans une variable locale
    		if (jsonTable0.data[1].wind_gust_spd) ~= nil then
      			RAFALE_J = math.floor(jsonTable0.data[1].wind_gust_spd*3.600)
      		else
      			RAFALE_J = 0
    		end
   			if (jsonTable1.data[2].wind_gust_spd) ~= nil then
      			RAFALE_J1 = math.floor(jsonTable1.data[2].wind_gust_spd*3.600) 
      		else
      			RAFALE_J1 = 0
    		end
    		if (jsonTable1.data[3].wind_gust_spd) ~= nil then
      			RAFALE_J2 = math.floor(jsonTable1.data[3].wind_gust_spd*3.600)
      		else
      			RAFALE_J2 = 0
    		end
    		
    		
   			local Message = ""
    
    		if ((VENT_J >= Seuil_Alerte_Vent) or (RAFALE_J >= Seuil_Alerte_Vent)) then
        		Message = "Alerte de Vent fort Aujourd'hui: ".. VENT_J .. "Km/H, Rafale à " .. RAFALE_J .. "Km/H"   
    		end
          	if ((VENT_J1 >= Seuil_Alerte_Vent) or (RAFALE_J1 >= Seuil_Alerte_Vent)) then
      			if Message ~= "" then Message = Message .." " end 	
        		Message =  Message .. "Alerte de Vent fort Demain: ".. VENT_J1 .."Km/H, Rafale à " .. RAFALE_J1 .. "Km/H"
        	end
          	if ((VENT_J2 >= Seuil_Alerte_Vent) or (RAFALE_J2 >= Seuil_Alerte_Vent)) then
        		if Message ~= "" then Message = Message .." " end 
      			Message =  Message .. " Alerte de Vent fort Apres-Demain: ".. VENT_J2 .."Km/H, Rafale à " .. RAFALE_J2 .. "Km/H"
    		end
    		
    		if Message ~= "" then 
      			fibaro:debug ("Vents fort dans les prochains jours. Mise a jour de la Var Globale Alerte Vent...")
      			fibaro:debug (Message)
      			fibaro:setGlobal("Alerte_Vent",Message)
      		else
      			fibaro:debug ("Pas de vent fort prevu dans les prochains jours.")
      			fibaro:setGlobal("Alerte_Vent","")
      		end 		
         	------------ Modification Jeremy ------------

 

  • Like 1
  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci
Je vais ajouter les périodes sans pluie aussi, mais je n'ai pas encore eu le temps...

Envoyé de mon SM-A530F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Ah cool j'avais pas suivi.
Bon ben j'attends la MAJ ::) patiemment.

Envoyé de mon BND-L21 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 1 heure, Dragoniacs a dit :

Merci emoji16.png
Je vais ajouter les périodes sans pluie aussi, mais je n'ai pas encore eu le temps...

Envoyé de mon SM-A530F en utilisant Tapatalk
 

Si j'ai le temps, je vais essayer ;) 

mais mon code sera moins propre que le tiens :) 

Partager ce message


Lien à poster
Partager sur d’autres sites

Update de mon code pour éviter d'avoir des alertes de rafales identique au vent ou des rafales a 0...

 

attention, un variable Seuil_Alerte_Vent en km/h est a créer en haut du code...

 

exemple:  Seuil_Alerte_Vent = "20" 

 

		    ------------ Modification Jeremy Version 3/4/20------------
    		fibaro:setGlobal("Alerte_Vent","")
    
    		
            --RECUPERATION DES VALEURS DE VENT dans une variable locale
    		VENT_J = math.floor(jsonTable0.data[1].wind_spd*3.600)
    		VENT_J1 = math.floor(jsonTable1.data[2].wind_spd*3.600) 
    		VENT_J2 = math.floor(jsonTable1.data[3].wind_spd*3.600)
    
    
    		--RECUPERATION DES VALEURS DE RAFALE de VENT dans une variable locale
    		if (jsonTable0.data[1].wind_gust_spd) ~= nil then
      			RAFALE_J = math.floor(jsonTable0.data[1].wind_gust_spd*3.600)
      		else
      			RAFALE_J = 0
    		end
   			if (jsonTable1.data[2].wind_gust_spd) ~= nil then
      			RAFALE_J1 = math.floor(jsonTable1.data[2].wind_gust_spd*3.600) 
      		else
      			RAFALE_J1 = 0
    		end
    		if (jsonTable1.data[3].wind_gust_spd) ~= nil then
      			RAFALE_J2 = math.floor(jsonTable1.data[3].wind_gust_spd*3.600)
      		else
      			RAFALE_J2 = 0
    		end
    		
    		
   			local Message = ""
    
    
    		-- Je pars du postulat que des rafales ne peuvent exister sur si du vent existe... 'l'inverse n'étant pas forcement vrai.
			if ((VENT_J >= Seuil_Alerte_Vent) or (RAFALE_J >= Seuil_Alerte_Vent)) then
        		Message = "Alerte de Vent fort Aujourd'hui: ".. VENT_J .. "Km/H, `"
				if RAFALE_J >= VENT_J then Message =  Message .. ", Rafale à " .. RAFALE_J .. "Km/H" end
    		end
          	if ((VENT_J1 >= Seuil_Alerte_Vent) or (RAFALE_J1 >= Seuil_Alerte_Vent)) then
      			if Message ~= "" then Message = Message .." " end 	
        		Message =  Message .. "Alerte de Vent fort Demain: ".. VENT_J1
				if RAFALE_J1 >= VENT_J1 then Message =  Message .. ", Rafale à " .. RAFALE_J1 .. "Km/H" end
        	end
          	if ((VENT_J2 >= Seuil_Alerte_Vent) or (RAFALE_J2 >= Seuil_Alerte_Vent)) then
        		if Message ~= "" then Message = Message .." " end 
      			Message =  Message .. " Alerte de Vent fort Apres-Demain: ".. VENT_J2
				if RAFALE_J2 >= VENT_J2 then Message =  Message .. ", Rafale à " .. RAFALE_J2 .. "Km/H" end
    		end
    		
    		if Message ~= "" then 
      			fibaro:debug ("Vents fort dans les prochains jours. Mise a jour de la Var Globale Alerte Vent...")
      			fibaro:debug (Message)
      			fibaro:setGlobal("Alerte_Vent",Message)
      		else
      			fibaro:debug ("Pas de vent fort prevu dans les prochains jours.")
      			fibaro:setGlobal("Alerte_Vent","")
      		end 		
         	------------ Modification Jeremy ------------

 

Modifié par schwinny
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai commencé à bosser sur la V4.0

La fonction des rafales est intégrée.

La sécheresse est en cours...

J'attends d'avoir fini avant de vous publier tout ça

 

Envoyé de mon SM-A530F en utilisant Tapatalk

 

 

 

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

×