【问题标题】:Precision of temperature values when using python-nest使用 python-nest 时温度值的精度
【发布时间】:2017-12-09 15:01:10
【问题描述】:

我正在尝试设置一些东西来绘制来自我的新巢学习恒温器(第 3 版)的数据。我找到了nest-python api package forked and enhanced by jkoelker。我希望数据尽可能精确。我让它从我自己的恒温器报告数据,但我从中得到的值始终是整数,十进制值为零,如“XX.0”。例如:

$ ./runnest.py
Structure My Home
    Away: home
    Devices:
        Device: Hallway
            Temp: 66.0F
Structure   : My Home
 Postal Code                    : None
 Country                        : US
 num_thermostats                : 1
        Device: Hallway
        Where: Hallway
            Mode       : heat
            HVAC State : off
            Fan        : False
            Fan Timer  : 15
            Temp       : 66.0F
            Humidity   : 30.0%
            Target     : 67.0F
            Eco High   : 76.0F
            Eco Low    : 40.0F
            hvac_emer_heat_state  : False
            online                : True

$

我从documented page看到这个评论:

utils函数使用decimal.Decimal来保证精度。

但我不确定如何使用它。我试过这样使用它:nest.utils.decimal.Decimal(device.temperature)) 但它仍然打印一个零点的整数(比如 68.0 而不是 67.8)。我可以检查墙壁单元并拉起Settings->Technical Info->Sensors 并查看我想要的分辨率(华氏度的十分之一),例如 66.4,但是当我使用库轮询数据时,它总是显示为 66.0 之类的东西。

有没有什么方法可以调整代码,通过 python-nest API 从我的巢学习恒温器中以十分之一度的精度获取温度值和测量值?

【问题讨论】:

    标签: python api precision temperature nest-api


    【解决方案1】:

    根据API documentation,这是 F 的预期行为:

    环境温度_f: 在设备上测量的温度,以华氏度 (1°F) 为单位。

    而摄氏:

    环境温度_c: 在设备上测量的温度,以半摄氏度 (0.5°C) 为单位。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-12
      相关资源
      最近更新 更多