You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lua QuickApp报错:attempt to index a nil value (field 'eth0')求助

问题背景

一年前安装的Broadlink RM4 Lua QuickApp原本运行正常,电力故障后重新连接WiFi,出现持续崩溃报错。

相关代码段

function BroadlinkDeviceManager:discover(func)
local blDevices = {}
local network = api.get("/proxy?url=http://localhost:11112/api/settings/network")
local myIP = network.networkConfig.eth0.ipConfig.ip
-- for debugging
if dofile then
    myIP = "192.168.1.59" -- Util.getIPaddress() --
end

报错信息

[DEBUG] [QUICKAPP1613]: ./include/manager.lua:97: attempt to index a nil value (field 'eth0')
[ERROR] [QUICKAPP1613]: QuickApp crashed
[ERROR] [QUICKAPP1613]: Unknown error occurred: handleJsonRpc

问题原因

电力故障重新连接WiFi后,设备当前使用的网络接口是无线wlan0,而非代码中硬编码的有线接口eth0,network.networkConfig.eth0为nil,直接索引该字段导致崩溃。


修复方案

方案1:直接替换为无线接口(确认当前用WiFi)

如果确定设备现在通过WiFi连接,直接把eth0替换为wlan0:

function BroadlinkDeviceManager:discover(func)
local blDevices = {}
local network = api.get("/proxy?url=http://localhost:11112/api/settings/network")
local myIP = network.networkConfig.wlan0.ipConfig.ip -- 替换为wlan0
-- for debugging
if dofile then
    myIP = "192.168.1.59" -- Util.getIPaddress() --
end

方案2:自动检测可用网络接口(更健壮)

为了兼容有线/无线切换,遍历所有网络接口,自动获取有有效IP的接口:

function BroadlinkDeviceManager:discover(func)
local blDevices = {}
local network = api.get("/proxy?url=http://localhost:11112/api/settings/network")
local myIP = nil

-- 遍历所有网络接口,查找带有效IP的接口
for ifaceName, ifaceConfig in pairs(network.networkConfig) do
    if ifaceConfig.ipConfig and ifaceConfig.ipConfig.ip then
        myIP = ifaceConfig.ipConfig.ip
        break
    end
end

-- 兜底逻辑:如果没找到可用IP,优先用调试固定IP,否则抛出错误
if not myIP then
    if dofile then
        myIP = "192.168.1.59"
    else
        error("Failed to get valid IP from any network interface")
    end
end

验证方法

修改代码后重启QuickApp,观察是否再出现崩溃报错。调试时可添加以下代码,查看所有网络接口的实际配置:

-- 调试用:打印所有网络接口信息
print(require("inspect")(network.networkConfig))

内容的提问来源于stack exchange,提问作者Abdullah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 06:36:12