Régression Codes Python (appelé via DZVents)
Publié : 13 mars 2023, 23:27
Bonjour à tous,
J'ai des problèmes d'exécution de mes codes python depuis la version 2022.2 (il me semble).
Qui se manifeste aussi avec la 2023.1
Code python nommé "getKonics_FBX-HC-Power"
(Vise à récupérer les infos de mes "wallplug" Konyks" via l'API Tuya et le plugin python installé "tinytuya")
Appel : :
Les erreurs survenues :
2023-03-13 23:22:01.010 Error: NameError: name 'DEBUG' is not defined
ou
2023-03-13 23:22:01.010 Error: NameError: name 'tuyapower' is not defined
Code (extrait) qui fonctionne maintenant: :
Grosso modo, je suis obligé de déclarer mes imports en local de chacune de mes fonctions.
Et idem pour les variables : une variable globale n'est plus reconnue à l'intérieur d'une fonction, je suis obligé de la passer via les arguments de la fonction.
Jusque-là, je pourrais modifier.
Mais j'ai le même problème pour les fonctions avec les fonctions : une fonction appelée à l'intérieur d'une autre fonction lève l'erreur suivante :
2023-03-13 23:22:01.010 Error: NameError: name 'get_device_value' is not defined
Je ne sais plus quoi faire, j'ai parcouru les divers forums + les "ISsues" du GitHub, mais je ne trouve pas de solution.
Merci d'avance pour vos astuces / aides / conseils (je ne suis pas développeur Python à la base, je précise !! )
J'ai des problèmes d'exécution de mes codes python depuis la version 2022.2 (il me semble).
Qui se manifeste aussi avec la 2023.1
Code python nommé "getKonics_FBX-HC-Power"
(Vise à récupérer les infos de mes "wallplug" Konyks" via l'API Tuya et le plugin python installé "tinytuya")
Appel :
- Via trigger "Time"
Code : Tout sélectionner
import tuyapower
DEBUG = True
def sendKonicsPower2Variable( myPlugID , myPlugIP , myPlugKey , myPlugVers , myPlugVariableName , myPlugDeviceName):
"This sends Konics plug power into dedicated User Variable"
(on, w, mA, V, err) = tuyapower.deviceInfo(myPlugID,myPlugIP,myPlugKey,myPlugVers)
if DEBUG==True : DEVS.Log('~~~~~~ KONICS_PLUG ')
Les erreurs survenues :
2023-03-13 23:22:01.010 Error: NameError: name 'DEBUG' is not defined
ou
2023-03-13 23:22:01.010 Error: NameError: name 'tuyapower' is not defined
Code (extrait) qui fonctionne maintenant:
Code : Tout sélectionner
import tuyapower
DEBUG = True
def sendKonicsPower2Variable( myPlugID , myPlugIP , myPlugKey , myPlugVers , myPlugVariableName , myPlugDeviceName , localDEBUG ):
"This sends Konics plug power into dedicated User Variable"
import tuyapower
(on, w, mA, V, err) = tuyapower.deviceInfo(myPlugID,myPlugIP,myPlugKey,myPlugVers)
if localDEBUG==True : DEVS.Log('~~~~~~ KONICS_PLUG ')
Grosso modo, je suis obligé de déclarer mes imports en local de chacune de mes fonctions.
Et idem pour les variables : une variable globale n'est plus reconnue à l'intérieur d'une fonction, je suis obligé de la passer via les arguments de la fonction.
Jusque-là, je pourrais modifier.
Mais j'ai le même problème pour les fonctions avec les fonctions : une fonction appelée à l'intérieur d'une autre fonction lève l'erreur suivante :
2023-03-13 23:22:01.010 Error: NameError: name 'get_device_value' is not defined
Je ne sais plus quoi faire, j'ai parcouru les divers forums + les "ISsues" du GitHub, mais je ne trouve pas de solution.
Merci d'avance pour vos astuces / aides / conseils (je ne suis pas développeur Python à la base, je précise !! )