Pour la partie executeDeviceCommand, en fait il faut passer une classe de type deviceaction et non directement la commande :
Public Class DeviceAction
Public Property Nom() As String
Public Property Parametres() As List(Of Parametre)
Public Class Parametre
Public Property Nom() As String
Public Property Type() As String
Public Property Value() As Object
End Class
End Class
Dim x As New DeviceAction
x.Nom = "ON"
ExecuteDeviceCommand(IdSrv, _DeviceId, x)
et on peut ajouter Ă X des parametres (valeur du DIM...)
Dim param As New DeviceAction.Parametre
param.Value = "xxxx"
x.Parametres.Add(param)
et tu as une fonction dispo en SOAP qui te liste les commandes dispo pour un device donné :
''' Liste les méthodes (actions) dispo pour un device (par son id)
''' Retourne pour chaque élément de la liste NOMDELAMETHODE|Parametre1:TypeParametre1|Parametre2:TypeParametre2...
''' '' ex pour la classe lampe cela retourne: DIM|Variation:Int32
''' <param name="DeviceId">ID du device</param>
''' <returns>Retourne pour chaque élément de la liste NOMDELAMETHODE|Parametre1:TypeParametre1|Parametre2:TypeParametre2...</returns>
<OperationContract()> Function ListMethod(ByVal DeviceId As String) As List(Of String)
et je suis fortement intéréssé par ton interface

et suivant l'avancement, on pourra l'intégrer directement ou aprés quelques modif pour faire coller le théme/utilisation aux autres produits mais ca serait vraiment génial de partager