Skip to content

TypeError list indices integers not floats 0.3.3 #37

@Ghawken

Description

@Ghawken

Hi

Thanks for this plugin - working really well with a Tempest device.

Except:

Have occasionally seen this error:

2022-06-25 04:32:56.098	Gecko inTouch Spa Plugin Debug	GeckoSpaEvent.RUNNING_PING_RECEIVED: {'last_ping_at': datetime.datetime(2022, 6, 24, 18, 32, 56, 97528, tzinfo=datetime.timezone.utc)}
2022-06-25 04:33:22.299	WeatherFlow Smart Weather Error	Error in plugin execution runConcurrentThread:

Traceback (most recent call last):
  File "plugin.py", line 717, in runConcurrentThread
  File "plugin.py", line 645, in _process_message
  File "plugin.py", line 933, in process_ops_tempest
TypeError: list indices must be integers, not float

2022-06-25 04:33:22.300	WeatherFlow Smart Weather Error	plugin runConcurrentThread function returned or failed (will attempt again in 10 seconds)

The corresponding data from the Tempest seems to be this:

2022-06-25 04:33:22.093	DEBUG	Plugin._process_message:	{
    "device_id": 136314,
    "firmware_revision": 165,
    "hub_sn": "HB-00042529",
    "obs": [
        [
            1656095598,
            0.15,
            0.98,
            1.5,
            182,
            3,
            1016.2,
            13.9,
            67,
            0,
            0.0,
            0,
            0.0,
            0.0,
            0,
            0,
            2.64,
            1,
            0.010278,
            null,
            null,
            0
        ]
    ],
    "serial_number": "ST-00053701",
    "source": "mqtt",
    "summary": {
        "air_density": 1.23325,
        "delta_t": 3.2,
        "dew_point": 7.9,
        "feels_like": 13.9,
        "heat_index": 13.9,
        "precip_accum_local_yesterday": 0.011252,
        "precip_analysis_type_yesterday": 0,
        "precip_minutes_local_day": 0,
        "precip_minutes_local_yesterday": 8,
        "precip_total_1h": 0.010278,
        "pressure_trend": "steady",
        "pulse_adj_ob_temp": 14.0,
        "pulse_adj_ob_time": 1656095538,
        "pulse_adj_ob_wind_avg": 1.0,
        "raining_minutes": [
            4,
            2,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
        ],
        "strike_count_1h": 0,
        "strike_count_3h": 0,
        "strike_last_dist": 37,
        "strike_last_epoch": 1655805764,
        "wet_bulb_globe_temperature": 14.9,
        "wet_bulb_temperature": 10.7,
        "wind_chill": 13.9
    },
    "type": "obs_st"
}
2022-06-25 04:33:32.499	DEBUG	Plugin._process_message:	{
    "hub_sn": "HB-00042529",
    "ob": [
        1656095603,
        1.05,
        200
    ],
    "serial_number": "ST-00053701",
    "type": "rapid_wind"
}

Looks like everything is correct - from here:
https://weatherflow.github.io/Tempest/api/ws.html

Just seems like device is passing a 0.0 rather than a 0 - that or it is sending the wrong field in the incorrect index?
Checking the others index's compared to above - they all seem correct, just does seem to be precipation type as a 0.0 float for some reason?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions