名称错误:未定义名称“process_button16”

2024-05-14 07:25:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我在运行以下代码时遇到NameError: name 'process_button16' is not defined错误。在

它也能在不按按钮的情况下打开LED灯…这不应该这样。。。在

我试图使用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 -------")

Tags: importselfoutputgpioaspinbuttonprocess
1条回答
网友
1楼 · 发布于 2024-05-14 07:25:49

button.when_pressed = process_button16()替换为button.when_pressed = self.process_button16(),因为您已经将process_button16()定义为类ButtonSense的私有函数。在

button.when_pressed = process_button16()试图将一个名为process_button16()的全局函数分配给button.when_pressed,由于您没有定义任何这样的全局函数,它会抛出错误名称错误:名称“process_button16”未定义

相关问题 更多 >

    热门问题