[SCRIPT VB] Récupération de la qualité de l'air

La section pour partager vos scripts et demander de l'aide dans vos scénarios.

Modérateur: HoMIDoM

[SCRIPT VB] Récupération de la qualité de l'air

Messagede davidinfo » 28 Mar 2014, 01:07

Je viens de réaliser un petit script pour permettre de récupérer la qualité de l'air d'une ville donnée (liste disponible ici : http://www.lcsqa.org/surveillance/indices/liste/jour)

Attention: En attendant la prochaine version complete d'HoMIDoM, il faut télécharger la dernière version sur google code en RELEASE et ainsi pouvoir executer ce script (sinon il manquera des DLLs system.xml et system.net)

Il faut :
- créer un composant virtuel de type generiqueString associé au driver virtuel avec n'importe quelle adresse.
- renseigner les trois variables en debut du script : la ville en majuscule Ă  chercher, l'id de son serveur et l'id du composant Ă  mettre Ă  jour

Voici le script Ă  mettre dans une action VB d'une macro (Ă  Ă©xecuter par trigger timer tous les jours par ex) :

Code: Tout sélectionner
Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Homidom   
Imports System.Xml
Imports System.Xml.XPath
Imports System.Xml.Serialization   
Imports System.Net                                                         
Namespace Dynam
'Ne pas supprimer cette class
Public Class DynamicCode
   
  'Ne pas supprimer cette function
  Public Function ExecuteCode(paramarray prmParameters() as object) as object
    Dim _serveur as Homidom.Homidom.server
    _serveur = prmParameters(0)
    try
            Dim ville as String = "METZ"
            Dim IdComposant as String = "add4190c-c205-4a7e-af11-d04b26a24900"
            Dim IdDuServer as string = "123456789"

            Dim doc As New XmlDocument
            Dim nodes As XmlNodeList
            Dim indice as String = ""
            Dim agglomeration as String = ""
           
            _serveur.log(10, 2, "Macro VB:QualiteAirAction", "Chargement de  http://www.lcsqa.org/surveillance/indices/prevus/jour/xml/" & DateAndTime.Now.ToString("yyyy-MM-dd"))
            doc = New XmlDocument()
            Dim url As New Uri("http://www.lcsqa.org/surveillance/indices/prevus/jour/xml/" & DateAndTime.Now.ToString("yyyy-MM-dd"))
            Dim Request As HttpWebRequest = CType(HttpWebRequest.Create(url), System.Net.HttpWebRequest)
            ' Request.UserAgent = "Mozilla/5.0 (windows; U; windows NT 5.1; fr; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"
            Dim response As Net.HttpWebResponse = CType(Request.GetResponse(), Net.HttpWebResponse)

            doc.Load(response.GetResponseStream)
            nodes = doc.SelectNodes("/root/node")
            For Each node As XmlNode In nodes
                 indice = ""
                 agglomeration = ""
                 For Each _child As XmlNode In node
                       Select Case _child.Name
                              Case "valeurIndice" : indice = _child.FirstChild.Value
                              Case "agglomeration" : agglomeration = _child.FirstChild.Value
                       End Select
                 Next
                 '_serveur.log(10, 2, "Macro VB:QualiteAirAction", "Test: " & agglomeration & " : " & indice)
                 If (agglomeration = ville) then
                        _serveur.log(1, 2, "Macro VB:QualiteAirAction", "TrouvĂ©: " & ville & " : " & indice)
                        _serveur.ChangeValueOfDevice(IdDuServer,IdComposant ,indice)
                        exit for
                 End If
            Next

    Catch ex As Exception
       _serveur.log(8, 2, "Macro VB:QualiteAirAction", "Exception: " & ex.message)
    End Try
  End Function

End Class
End Namespace
HoMIDoM- Le système complet et gratuit de domotique pour la maison (Domos)
Avatar de l’utilisateur
davidinfo
Dieu de domotique
 
Messages: 1514
Inscription: 19 Oct 2008, 22:49
Localisation: Algrange (57)

Re: [SCRIPT VB] Récupération de la qualité de l'air

Messagede perarem » 21 Nov 2014, 16:57

Bonjour David

Je n'ai pas retrouvé la fonction dans la version DEBUG, c'est un oubli.?
A+
Pierre
Equipement domotique
Logiciel :
- HoMIDoM V1.3.0.0 RELEASE (05/01/2016)
Drivers:
- MySensors (driver perso type Arduino) / RFXtrx 433 / 1-Wire / HTTP / Imperihome
Périphériques:
- MySensors : Arduino Mini PRO / Nano / uno + NRF24L01+ (module sans fils)
- Actionneurs-Senseurs MySensors : Distance / Thermo / Hygro / Atmospherique / Relais / Lumière / Ecran LCD / Clavier / Switch...
- DI.O-Chacon : DĂ©tecteur de mouvement 54703 / Interrupteur 54715 / Module contact 54755 / Contact de porte 54781 / Module contact triple 54750 / Bouton Sonnette
- Oregon : sonde de température THN132ES
- Hotspot mobile 3G "Huawei e587" (commande Ă  distance autonome)
perarem
Dieu de domotique
 
Messages: 231
Inscription: 18 FĂ©v 2012, 10:24
Localisation: Maisons-Alfort (94)

Re: [SCRIPT VB] Récupération de la qualité de l'air

Messagede davidinfo » 24 Nov 2014, 10:54

Salut,

Quelle fonction ? ce Script est Ă  mettre dans une macro avec un action de type VBS...

David
HoMIDoM- Le système complet et gratuit de domotique pour la maison (Domos)
Avatar de l’utilisateur
davidinfo
Dieu de domotique
 
Messages: 1514
Inscription: 19 Oct 2008, 22:49
Localisation: Algrange (57)

Re: [SCRIPT VB] Récupération de la qualité de l'air

Messagede perarem » 24 Nov 2014, 12:08

Salut,

J'ai mal compris le premier post ou je me suis mal fait comprendre, je ne sais pas :?
Je pensais que le script serait intégré au driver système comme tu a intégré le script sur les vigilances météo et crues que l'avais posté il y a un moment :wink:

Pierre
Equipement domotique
Logiciel :
- HoMIDoM V1.3.0.0 RELEASE (05/01/2016)
Drivers:
- MySensors (driver perso type Arduino) / RFXtrx 433 / 1-Wire / HTTP / Imperihome
Périphériques:
- MySensors : Arduino Mini PRO / Nano / uno + NRF24L01+ (module sans fils)
- Actionneurs-Senseurs MySensors : Distance / Thermo / Hygro / Atmospherique / Relais / Lumière / Ecran LCD / Clavier / Switch...
- DI.O-Chacon : DĂ©tecteur de mouvement 54703 / Interrupteur 54715 / Module contact 54755 / Contact de porte 54781 / Module contact triple 54750 / Bouton Sonnette
- Oregon : sonde de température THN132ES
- Hotspot mobile 3G "Huawei e587" (commande Ă  distance autonome)
perarem
Dieu de domotique
 
Messages: 231
Inscription: 18 FĂ©v 2012, 10:24
Localisation: Maisons-Alfort (94)

Re: [SCRIPT VB] Récupération de la qualité de l'air

Messagede davidinfo » 24 Nov 2014, 12:49

Ce style de script étant bien souvent temporaire car dépendant d'un site web, on ne pense pas l'intégrer en dur dans un driver.
MĂŞme si la mise en place est un poil plus complexe, ca marche quand mĂŞme bien et permet en plus de personnaliser le script et de s'en inspirer pour utiliser d'autres services similaires :)
HoMIDoM- Le système complet et gratuit de domotique pour la maison (Domos)
Avatar de l’utilisateur
davidinfo
Dieu de domotique
 
Messages: 1514
Inscription: 19 Oct 2008, 22:49
Localisation: Algrange (57)


Retourner vers Scripts VB

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 5 invités

Copyright © 2011 - Touteladomotique.com - Tous droits rĂ©servĂ©s
Les blogs partenaires : Abavala, Domo-Blog, Domotique34, Maison et Domotique


cron