17/11/2024, 15:29:48
(Modification du message : 17/11/2024, 15:44:43 par Smart Guido 73.)
Bonjour Thierry,
J'ai créé un petit projet exemple en Delphi qui montre comment cela fonctionne globalement. Cela devrait déjà beaucoup t'aider. Si tu as des questions, n'hésite pas à me contacter.
Pour pouvoir utiliser la DLL signée Falcon SDK, il est nécessaire de l'enregistrer. Voici les étapes à suivre :
Les commandes sont identiques à celles de WinDev, mais la gestion des Assemblies .NET dans Delphi est un peu différente. Je vais maintenant reprendre quelques exemples de mon code source pour illustrer les commandes disponibles :
Connectez-vous à la passerelle IP :
MyKNXDotNet := CreateOleObject('KNXlib.KnxController');
MyKNXDotNet.Connect('192.168.178.42', 3671, False)
Connectez-vous à la passerelle IP sécurisée :
MyKNXDotNet := CreateOleObject('KNXlib.KnxController');
MyKNXDotNet.ConnectSecure('192.168.178.150', 3671, False, '1.1.243', 'file.knxkeys', 'password')
Envoyer DPT1 :
MyKNXDotNet.WriteBool('1/0/0' , True)
Envoyer DPT9.1 :
MyKNXDotNet.WriteValueToDPT(Groupaddress, value as string, DPTupper value, DPTlower value)
MyKNXDotNet.WriteValueToDPT('11/7/4', '20.5', 9, 1)
A lire :
MyKNXDotNet.ReadValueAsync('11/7/4')
Envoi DPT5.1 :
MyKNXDotNet.WriteValueToDPT('6/0/9', '90', 5, 1)
Envoi DPT5.4 :
MyKNXDotNet.WriteValueToDPT('6/0/9', '240', 5, 4)
Lire DPT9.1 :
MyKNXDotNet.ReadValue('11/7/4', 9, 1)
Envoyer la date actuelle :
MyKNXDotNet.WriteDate('11/5/0')
Envoyer l'heure actuelle :
MyKNXDotNet.WriteTime('11/5/1')
Envoyer la date actuelle en tant que DPT16 :
MyKNXDotNet.WriteTimeAsText('11/6/1')
Voici le lien de téléchargement :
https://www.knx-board.org/download.php?f...rapper.zip
Cordialement,
Guido
J'ai créé un petit projet exemple en Delphi qui montre comment cela fonctionne globalement. Cela devrait déjà beaucoup t'aider. Si tu as des questions, n'hésite pas à me contacter.
Pour pouvoir utiliser la DLL signée Falcon SDK, il est nécessaire de l'enregistrer. Voici les étapes à suivre :
- Copie la DLL signée Falcon dans ton dossier Documents.
- Lance l'Invite de commandes (CMD) en mode administrateur.
- Va dans le répertoire : C:\Windows\Microsoft.NET\Framework64\v4.0.30319
- Exécute la commande suivante pour enregistrer la DLL :
regasm C:\Users\USERNAME\Documents\Debug\KNXlib.dll /tlb:KNXlib.tlb /codebase
- Il se peut qu'il faille désactiver la fonction "Accès aux dossiers surveillés" dans les paramètres de sécurité Windows.
Les commandes sont identiques à celles de WinDev, mais la gestion des Assemblies .NET dans Delphi est un peu différente. Je vais maintenant reprendre quelques exemples de mon code source pour illustrer les commandes disponibles :
Connectez-vous à la passerelle IP :
MyKNXDotNet := CreateOleObject('KNXlib.KnxController');
MyKNXDotNet.Connect('192.168.178.42', 3671, False)
Connectez-vous à la passerelle IP sécurisée :
MyKNXDotNet := CreateOleObject('KNXlib.KnxController');
MyKNXDotNet.ConnectSecure('192.168.178.150', 3671, False, '1.1.243', 'file.knxkeys', 'password')
Envoyer DPT1 :
MyKNXDotNet.WriteBool('1/0/0' , True)
Envoyer DPT9.1 :
MyKNXDotNet.WriteValueToDPT(Groupaddress, value as string, DPTupper value, DPTlower value)
MyKNXDotNet.WriteValueToDPT('11/7/4', '20.5', 9, 1)
A lire :
MyKNXDotNet.ReadValueAsync('11/7/4')
Envoi DPT5.1 :
MyKNXDotNet.WriteValueToDPT('6/0/9', '90', 5, 1)
Envoi DPT5.4 :
MyKNXDotNet.WriteValueToDPT('6/0/9', '240', 5, 4)
Lire DPT9.1 :
MyKNXDotNet.ReadValue('11/7/4', 9, 1)
Envoyer la date actuelle :
MyKNXDotNet.WriteDate('11/5/0')
Envoyer l'heure actuelle :
MyKNXDotNet.WriteTime('11/5/1')
Envoyer la date actuelle en tant que DPT16 :
MyKNXDotNet.WriteTimeAsText('11/6/1')
Voici le lien de téléchargement :
https://www.knx-board.org/download.php?f...rapper.zip
Cordialement,
Guido