J'ai écris deux script qui me permettent de calculer ma consommation de fioul,
le temps de fonctionnement et la dépense.
Pour cela j'ai branché un contact DI-o 54700 sur l'électrovanne du bruleur par l'intermédiaire
d'un relais (220v)
Le passage à ON lors de démarrage du bruleur me déclenche la macro "Allumage bruleur"
Lors de l'arrêt le déclenchement de la macro "Arrêt Bruleur"
La macro Allumage
'Mise en mémoire de l'heure courante
'*******************************************
Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Homidom
Namespace Dynam
Public Class DynamicCode
Public Function ExecuteCode(paramarray prmParameters() as object) as object
Dim Serveur as Homidom.Homidom.server
try
Dim IdComposant as String = "d279ff81-35bb-4b91-98c0-504cab529df9" 'Bruleur Fonct
Dim IdDuServer as string = "123456789"
Dim D As string
Dim Resultat As Single
Serveur=prmParameters(0)
'log en info
Serveur.log(1, 2, "Macro VB:Allumage Chaudière", "Bruleur ON: " & " Heure: " & Serveur.GetTime)
'Convertir l'heure en nombre
D = Serveur.GetTime
Dim TB = Split(D, ":")
Resultat = (TB(0)*3600) + (TB(1) * 60) + TB(2)
' Serveur.log(8, 2, "Macro VB:'bip'", "Exception: " & Resultat)
'update another composant
Dim ComposantX as Homidom.Homidom.TemplateDevice = Serveur.ReturnDeviceById(IdDuServer,IdComposant)
' Serveur.ChangeValueOfDevice(IdDuServer,IdComposant,Resultat)
ComposantX.VariablesOfDevice("Temp")=Resultat
Catch ex As Exception
Serveur.log(8, 2, "Macro VB:Allumage Chaudière", "Exception: " & ex.message)
End Try
End Function
End Class
End Namespace
La macro "Arrêt Bruleur"
'Calcul du temps de fonctionnement
'Calcul de la consommation du fioul
'*******************************************
Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Homidom
Namespace Dynam
Public Class DynamicCode
Public Function ExecuteCode(paramarray prmParameters() as object) as object
Dim Serveur as Homidom.Homidom.server
try
Dim IdComposant as String = "d279ff81-35bb-4b91-98c0-504cab529df9" 'Temp Bruleur
Dim IdComposant1 as String = "70199f13-9a9f-4d9e-a71b-9018e1609fdd" 'Temp Total Bruleur
Dim IdComposant2 as String = "bb9cecbd-604e-4461-b0d1-0c68790e5dbe" 'Consomation Fioul
Dim IdComposant3 as String = "d2427c07-126f-4e8c-b95f-baf09fe8064f" 'Depense Fioul
Dim IdDuServer as string = "123456789"
Dim D As string
Dim Resultat As Single
Serveur=prmParameters(0)
'log en info
Serveur.log(1, 2, "Macro VB;Arret Bruleur", "Bruleur OFF: " & " Heure: " & Serveur.GetTime)
'Convertir l'heure en nombre
D = Serveur.GetTime
Dim TB = Split(D, ":")
Resultat = (TB(0)*3600) + (TB(1) * 60) + TB(2)
' Serveur.log(8, 2, "Macro VB:'bip'", "Resultat 1: " & Resultat)
'update another composant
Dim ComposantX as Homidom.Homidom.TemplateDevice = Serveur.ReturnDeviceById(IdDuServer,IdComposant)
'Calculer la difference et sauver la valeur
If (Resultat > ComposantX.VariablesOfDevice("Temp")) Then
Resultat = (Resultat - ComposantX.VariablesOfDevice("Temp"))
Else
Resultat = (86400-ComposantX.VariablesOfDevice("Temp") + Resultat)
End If
Serveur.ChangeValueOfDevice(IdDuServer,IdComposant,Resultat)
''Serveur.log(8, 2, "Macro VB:'bip'", "Resultat 2: " & ComposantX.value)
'Serveur.log(8, 2, "Macro VB:'bip'", "Resultat 3: " & Resultat)
'Mise a jour du temp Total
Dim ComposantX1 as Homidom.Homidom.TemplateDevice = Serveur.ReturnDeviceById(IdDuServer,IdComposant1)
Resultat = ComposantX1.value +Resultat
Serveur.ChangeValueOfDevice(IdDuServer,IdComposant1,Resultat)
'Mise a jour consomation Fioul
Dim ComposantX2 as Homidom.Homidom.TemplateDevice = Serveur.ReturnDeviceById(IdDuServer,IdComposant2)
Resultat = Resultat * 0.0006309
Serveur.ChangeValueOfDevice(IdDuServer,IdComposant2,Resultat)
'Mise a jour Depense Fioul
Dim ComposantX3 as Homidom.Homidom.TemplateDevice = Serveur.ReturnDeviceById(IdDuServer,IdComposant3)
Serveur.ChangeValueOfDevice(IdDuServer,IdComposant3,(Resultat*0.86))
Catch ex As Exception
Serveur.log(8, 2, "Macro VB:Arret Bruleu", "Exception: " & ex.message)
End Try
End Function
End Class
End Namespace
En espérant de cela pourrai servir a quelqu'un
Cordialement
Jptools