[SCRIPT VB] Commande des composants d'un type et d'une zone

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

Modérateur: HoMIDoM

[SCRIPT VB] Commande des composants d'un type et d'une zone

Messagede MathPan » 16 Mai 2014, 11:01

Voici un script qui permet de faire une commande générale a tous les composants d’un même type et d’une même zone.

Application : Fermer tous les volets du salon (exemple 1), Éteindre toutes les lumières de la maison (exemple 2) …

Il n’y a pas de composants spécifique à créer.
Voici le script à mettre dans une action VB d'une macro (à exécuter par trigger composants Switch virtuel ou via Sarah par exemple) :

Exemple 1

Code: Tout sélectionner
Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Homidom                                                                 
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)

      Dim resultat as integer
      Dim XDevice as System.Collections.ArrayList = Serveur.ReturnDeviceByZoneType("123456789","idzone1","VOLET",true)
      For each Dev as object in XDevice
            resultat=Serveur.ChangeValueOfDevice("123456789",Dev.ID,0)
            ‘Serveur.log(10, 2, "Macro VB:off all","Commande de " & Dev.name & " ; Result= " & resultat )
      Next
  End Function

End Class
End Namespace


Exemple 2

Code: Tout sélectionner
Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Homidom                                                                 
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)

      Dim resultat as integer
      Dim XDevice as System.Collections.ArrayList = Serveur.ReturnDeviceByZoneType("123456789","","LAMPE",true)
      For each Dev as object in XDevice
            resultat=Serveur.ChangeValueOfDevice("123456789",Dev.ID,0)
            ‘Serveur.log(10, 2, "Macro VB:off all","Commande de " & Dev.name & " ; Result= " & resultat )
      Next
  End Function

End Class
End Namespace
HoMIDoM- Le système complet et gratuit de domotique pour la maison
ModbusTCP avec automates WAGO pour gestion éclairage, prise, VMCDF, Chauffage elec, volet de toute la maison
RFXtrx pour gestion des télécommandes, des sondes et pinces ampèremétrique
Téléinfo EDF - Station Netatmo - Thermostat et détecteur Nest
Client Imperihome - HoMIWpf - SARAH - IFTTT - RPI avec KODI - GoogleCalendar
Avatar de l’utilisateur
MathPan
Guru de domotique
 
Messages: 124
Inscription: 16 Aoû 2012, 16:14

Retourner vers Scripts VB

Qui est en ligne

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

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