NameError: имя 'process_button16' не определено
Я получаю NameError: name 'process_button16' is not defined
ошибка при запуске следующего кода.
Он также включает светодиоды, не нажимая кнопку... это не должно делать это...
Я пытаюсь реализовать действие нажатия кнопки, используя приложение в appdaemon для Home Assistant. Я бывший разработчик, но не Python, поэтому я бьюсь головой о клавиатуру здесь... Любая помощь будет наиболее ценной.
import appdaemon.appapi as appapi
from gpiozero import Button
import RPi.GPIO as GPIO
global button
BUTTON_PIN = 16
button = None
class ButtonSense(appapi.AppDaemon):
GPIO.output(17,GPIO.LOW)
GPIO.output(27,GPIO.LOW)
def initialize(self):
self.log("------- Hello -------")
button = Button(BUTTON_PIN)
button.when_pressed = process_button16()
def process_button16():
GPIO.output(17,GPIO.HIGH)
GPIO.output(27,GPIO.HIGH)
self.log("------- Pressed -------")
1 ответ
Замещать button.when_pressed = process_button16()
с button.when_pressed = self.process_button16()
, так как вы определили process_button16()
как частная функция класса ButtonSense
,
button.when_pressed = process_button16()
пытается назначить глобальную функцию с именем process_button16()
в button.when_pressed
и поскольку вы не определили ни одной такой глобальной функции, она выдает ошибку NameError: имя 'process_button16' не определено