[SCRIPT VB] Détection de chauffage autonome démarré

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

Modérateur: HoMIDoM

[SCRIPT VB] Détection de chauffage autonome démarré

Messagede MathPan » 16 Mai 2014, 10:22

Voici un script qui permet d’indiqué au système domotique si un poêle ou un insert est démarré.

Application : Arrêter automatiquement les chauffages électriques lorsque le poêle est allumé, et de redémarrer les chauffages électriques lorsque le poêle s’éteint.

Il faut :
- créer un composant matériel de type Température ,donnant l’information de température autour du point de chauffage.(temperature)
- créer un composant virtuel de type Consigne associé au driver virtuel ,dans lequel vous saisirez la consigne de température autour du point de chauffage.(consigne)
- créer un composant virtuel de type GenericInteger associé au driver virtuel ,il permet de mémoriser les températures.(memtemperature)
- créer un composant virtuel de type GenericBooleen associé au driver virtuel ,il récupère l’état de marche du poêle.(poeleallume)

Voici le script à mettre dans une action VB d'une macro (à éxecuter par trigger timer toutes les 15 minutes) :
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 memtemperature as Homidom.Homidom.TemplateDevice = Serveur.ReturnDeviceById("123456789","cb94133c-6194-47a4-b1a1-cfbdec997f36")
      Dim temperature as Homidom.Homidom.TemplateDevice = Serveur.ReturnDeviceById("123456789","77ebe507-453f-4164-aef6-99b30f239a83")
      Dim consigne as Homidom.Homidom.TemplateDevice = Serveur.ReturnDeviceById("123456789","429586fd-80c5-4789-af89-3805b1b69652")
      Dim poeleallume as Boolean
      If (memtemperature.value+0.5<temperature.value) and ((consigne.value+2)<temperature.value) Then
            poeleallume = true
            memtemperature.value=temperature.value
            Serveur.ChangeValueOfDevice("123456789","ad1f0bde-27e9-4446-9848-533dba097b11",poeleallume)
            Serveur.ChangeValueOfDevice("123456789","cb94133c-6194-47a4-b1a1-cfbdec997f36",memtemperature.value)
      End If
      If ((memtemperature.value-0.5)>temperature.value) and ((consigne.value+2)>temperature.value)   Then
            poeleallume = false
            memtemperature.value=temperature.value
            Serveur.ChangeValueOfDevice("123456789","ad1f0bde-27e9-4446-9848-533dba097b11",poeleallume)
            Serveur.ChangeValueOfDevice("123456789","cb94133c-6194-47a4-b1a1-cfbdec997f36",memtemperature.value)
      End If

  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 1 invité

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