20/11/2024, 00:14:08
(Modification du message : 20/11/2024, 00:18:51 par Smart Guido 73.)
Bonjour,
J'ai maintenant également utilisé le wrapper C# pour Python et il fonctionne également comme avec WinDev et Delphi.
Pour pouvoir utiliser la DLL signée Falcon SDK, il est nécessaire de l'enregistrer. Voici les étapes à suivre :
1. Installation de PythonNet :
Utilisation des assemblies .NET dans Python avec PythonNet :
import clr
clr.AddReference(r'C:\Users\aa\Documents\Debug\KNXlib.dll')
from KNXlib import KnxController
knxcontroller = KnxController()
Connectez-vous à la passerelle IP :
knxcontroller.Connect("192.168.178.42", 3671, False)
Connectez-vous à la passerelle IP sécurisée :
knxcontroller.ConnectSecure("192.168.178.150", 3671, False, "1.1.243","test.knxkeys", "admin123!")
Chargement du fichier XML :
knxcontroller.LoadDptList("knxxml.xml")
Envoyer DPT1 :
knxcontroller.WriteBool("1/0/0" , True)
Envoyer DPT9.1 :
knxcontroller.WriteValueToDPT(Groupaddress, value as string, DPTupper value, DPTlower value)
knxcontroller.WriteValueToDPT("11/7/4", "20.5", 9, 1)
A lire :
knxcontroller.ReadValueAsync("11/7/4")
Envoi DPT5.1 :
knxcontroller.WriteValueToDPT("6/0/9", "90", 5, 1)
Envoi DPT5.4 :
knxcontroller.WriteValueToDPT("6/0/9", "240", 5, 4)
Lire DPT9.1 :
knxcontroller.ReadValue("11/7/4", 9, 1)
Envoyer la date actuelle :
knxcontroller.WriteDate("11/5/0")
Envoyer l'heure actuelle :
knxcontroller.WriteTime("11/5/1")
Envoyer la date actuelle en tant que DPT16 :
knxcontroller.WriteTimeAsText("11/6/1")
Voici le lien de téléchargement :
https://www.knx-board.org/download.php?f...rapper.zip
J'ai maintenant également utilisé le wrapper C# pour Python et il fonctionne également comme avec WinDev et Delphi.
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.
1. Installation de PythonNet :
- Assurez-vous d'avoir Python (version 3.7–3.11) et un framework .NET compatible installés.
- Installez PythonNet avec la commande : pip install pythonnet
- En cas de problèmes, des outils de développement comme Visual Studio Build Tools peuvent être nécessaires.
- PythonNet fonctionne mieux avec Python 3.7 à 3.11.
- Après l'installation, utilisez le module clr pour charger et utiliser des assemblies .NET dans Python.
Utilisation des assemblies .NET dans Python avec PythonNet :
import clr
clr.AddReference(r'C:\Users\aa\Documents\Debug\KNXlib.dll')
from KNXlib import KnxController
knxcontroller = KnxController()
Connectez-vous à la passerelle IP :
knxcontroller.Connect("192.168.178.42", 3671, False)
Connectez-vous à la passerelle IP sécurisée :
knxcontroller.ConnectSecure("192.168.178.150", 3671, False, "1.1.243","test.knxkeys", "admin123!")
Chargement du fichier XML :
knxcontroller.LoadDptList("knxxml.xml")
Envoyer DPT1 :
knxcontroller.WriteBool("1/0/0" , True)
Envoyer DPT9.1 :
knxcontroller.WriteValueToDPT(Groupaddress, value as string, DPTupper value, DPTlower value)
knxcontroller.WriteValueToDPT("11/7/4", "20.5", 9, 1)
A lire :
knxcontroller.ReadValueAsync("11/7/4")
Envoi DPT5.1 :
knxcontroller.WriteValueToDPT("6/0/9", "90", 5, 1)
Envoi DPT5.4 :
knxcontroller.WriteValueToDPT("6/0/9", "240", 5, 4)
Lire DPT9.1 :
knxcontroller.ReadValue("11/7/4", 9, 1)
Envoyer la date actuelle :
knxcontroller.WriteDate("11/5/0")
Envoyer l'heure actuelle :
knxcontroller.WriteTime("11/5/1")
Envoyer la date actuelle en tant que DPT16 :
knxcontroller.WriteTimeAsText("11/6/1")
Voici le lien de téléchargement :
https://www.knx-board.org/download.php?f...rapper.zip