Python Tibber模块只返回最新值,不是循环

1 投票
1 回答
24 浏览
提问于 2025-04-14 15:38

最后,我想把一个值写入数据库。

我找到了一段脚本,可以输出我想要的数据。不过,它是以循环的方式返回数据的,但我每次触发这个脚本时,只需要一个单独的值,而不是一堆。

import tibber

account = tibber.Account("tokenstring")
home = account.homes[0]


@home.event("live_measurement")
async def process_data(
        data):
    print(data.power)


home.start_live_feed(user_agent="Homey/10.0.0")

print(home.event("live_measurement"))`

这段代码会循环输出多个值,但我每次运行代码时只需要一个值。

求助!

1 个回答

0

我成功实现了这个功能,并把它放进了一个可以调用的函数里。

def get_tibber():
    account = tibber.Account(f"{TIBBER_API_KEY}")
    home = account.homes[0]

    @home.event("live_measurement")
    async def process_data(data):
        pass

    def my_exit_function(live_measurement_data):
        global cons
        cons = live_measurement_data.power
        return cons != 0

    # Now start retrieving live measurements
    home.start_live_feed(exit_condition=my_exit_function,
                         user_agent="UserAgent/0.0.1")
    return cons

撰写回答