[Script VB] Macro Soustraire valeur n-1 d'un composant

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

Modérateur: HoMIDoM

[Script VB] Macro Soustraire valeur n-1 d'un composant

Messagede solo » 08 FĂ©v 2015, 10:56

Bonjour,

Voici une macro pour relever les 2 dernières valeurs d'un composant et affecter la soustraction à une variable :

Code: Tout sélectionner
'***************************************************
' Macro Soustraire valeur :
'  RĂ©cupère les 2 dernières valeurs d'un composant et affecte la diffĂ©rence Ă  une variable
'***************************************************
Imports System
Imports System.IO
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports HoMIDom
Imports System.Data

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
                ' Indiquer ici la valeur de la variable Ă  qui affecter la valeur
                Dim maVariable As String = "test"
                ' Indiquer ici l'id du composant dont on veut rĂ©cupĂ©rer les valeurs
                Dim id As String = "14dcee2c-42b5-443a-ac09-c0af16a42d16"

                'log en info
                Serveur.Log(1, 2, "Macro VB:Soustraire Valeur", " Heure: " & Serveur.GetTime)
                Dim maQuery As String = "SELECT * FROM historiques WHERE device_id=""" & id & """ ORDER BY dateheure DESC LIMIT 5"
                Dim retourQuery As DataTable = Serveur.RequeteSqLHisto("123456789", maQuery)
                Dim maxDate As System.DateTime = Now.AddYears(-10)
                Dim maxDateMoinsUn As System.DateTime = Now.AddYears(-10)
                Dim valMoinsUn As String = ""
                Dim valLast As String = ""

                If retourQuery.Rows.Count > 2 Then
                    maxDate = retourQuery.Rows(0).Item(3)
                    valLast = retourQuery.Rows(0).Item(4)
                    maxDateMoinsUn = retourQuery.Rows(1).Item(3)
                    valMoinsUn = retourQuery.Rows(1).Item(4)
                End If

                Serveur.Log(HoMIDom.HoMIDom.Server.TypeLog.INFO, HoMIDom.HoMIDom.Server.TypeSource.SCRIPT, "Macro VB:Soustraire Valeur", "maxDate : " & maxDate.ToString & ", valLast = " & valLast & ", madDateMoinsUn : " & maxDateMoinsUn & ", valMoinsUn : " & valMoinsUn)
                If valMoinsUn <> "" Then
                    Dim valLastD As Double
                    Dim valMoinsUnD As Double
                    If Double.TryParse(valLast, valLastD) And Double.TryParse(valMoinsUn, valMoinsUnD) Then
                        Serveur.Log(HoMIDom.HoMIDom.Server.TypeLog.INFO, HoMIDom.HoMIDom.Server.TypeSource.SCRIPT, "Macro VB:Soustraire Valeur", "Setvalue : " & (valLastD - valMoinsUnD) & " to variable : " & maVariable)
                        Serveur.SetValueOfVariable("123456789", maVariable, (valLastD - valMoinsUnD))
                    Else
                        Serveur.Log(HoMIDom.HoMIDom.Server.TypeLog.ERREUR, HoMIDom.HoMIDom.Server.TypeSource.SCRIPT, "Macro VB:Soustraire Valeur", "Erreur : valeur non numĂ©rique : " & valLast & ", ou " & valMoinsUn)
                    End If
                Else
                    Serveur.Log(HoMIDom.HoMIDom.Server.TypeLog.ERREUR, HoMIDom.HoMIDom.Server.TypeSource.SCRIPT, "Macro VB:Soustraire Valeur", "Erreur : pas de valeurs trouvĂ©s ! ")
                End If

            Catch ex As Exception
                Serveur.Log(8, 2, "Macro VB:Soustraire Valeur", "Exception: " & ex.Message & " - " & Err.Erl)
            End Try

            Return "ok"

        End Function

    End Class

End Namespace
solo
P'tit Guru de domotique
 
Messages: 54
Inscription: 07 Nov 2013, 07:21

Re: [Script VB] Macro Soustraire valeur n-1 d'un composant

Messagede NĂ©o32 » 08 FĂ©v 2015, 20:44

Un grand merci, je vais pouvoir supprimer pas mal de composants qui me permettait de faire mes calculs :D
HoMIDoM- Le système complet et gratuit de domotique pour la maison
Avatar de l’utilisateur
NĂ©o32
Dieu de domotique
 
Messages: 680
Inscription: 07 Jan 2013, 08:09
Localisation: Charleroi (Belgique)


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