Forum KNX francophone / English KNX forum
Falcon SDK 6 et Python - Version imprimable

+- Forum KNX francophone / English KNX forum (https://www.knx-fr.com)
+-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3)
+--- Forum : Logiciels libres (linknx, knxweb, pKNyX,...) (https://www.knx-fr.com/forumdisplay.php?fid=10)
+--- Sujet : Falcon SDK 6 et Python (/showthread.php?tid=8682)



Falcon SDK 6 et Python - Smart Guido 73 - 20/11/2024

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. Copie la DLL signée Falcon dans ton dossier Documents.
  2. Lance l'Invite de commandes (CMD) en mode administrateur.
  3. Va dans le répertoire : C:\Windows\Microsoft.NET\Framework64\v4.0.30319
  4. Exécute la commande suivante pour enregistrer la DLL :
    regasm C:\Users\USERNAME\Documents\Debug\KNXlib.dll /tlb:KNXlib.tlb /codebase
  5. 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.
2. Version recommandée :
  • PythonNet fonctionne mieux avec Python 3.7 à 3.11.
3. Utilisation :
  • Après l'installation, utilisez le module clr pour charger et utiliser des assemblies .NET dans Python.
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 :

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