thorrak / fermentrack

A replacement web interface for BrewPi
MIT License
137 stars 61 forks source link

Error pushing to Brewfather due to missing RoomTemp #527

Closed dmarkow closed 3 years ago

dmarkow commented 3 years ago

I think this is related to #520 -- I just updated to the current version of Fermentrack and suddenly my ESP8266 logging stopped pushing to Brewfather.

I looked at the logs and found this in huey-stderr.log:

[2020-11-08 22:09:43,205] INFO:huey:Worker-1:Executing external_push.tasks.brewfather_push_target_push: f66b27f3-8bb3-4631-994f-2aee18ff51ea
INFO:huey:Executing external_push.tasks.brewfather_push_target_push: f66b27f3-8bb3-4631-994f-2aee18ff51ea
[2020-11-08 22:09:43,225] ERROR:huey:Worker-1:Unhandled exception in task f66b27f3-8bb3-4631-994f-2aee18ff51ea.
Traceback (most recent call last):
  File "/home/fermentrack/venv/lib/python3.7/site-packages/huey/api.py", line 360, in _execute
    task_value = task.execute()
  File "/home/fermentrack/venv/lib/python3.7/site-packages/huey/api.py", line 724, in execute
    return func(*args, **kwargs)
  File "/home/fermentrack/venv/lib/python3.7/site-packages/huey/contrib/djhuey/__init__.py", line 133, in inner
    return fn(*args, **kwargs)
  File "/home/fermentrack/fermentrack/external_push/tasks.py", line 46, in brewfather_push_target_push
    push_target.send_data()
  File "/home/fermentrack/fermentrack/external_push/models.py", line 559, in send_data
    json_data = self.data_to_push()
  File "/home/fermentrack/fermentrack/external_push/models.py", line 545, in data_to_push
    to_send['ext_temp'] = float(device_info['RoomTemp'])
TypeError: float() argument must be a string or a number, not 'NoneType'
ERROR:huey:Unhandled exception in task f66b27f3-8bb3-4631-994f-2aee18ff51ea.
Traceback (most recent call last):
  File "/home/fermentrack/venv/lib/python3.7/site-packages/huey/api.py", line 360, in _execute
    task_value = task.execute()
  File "/home/fermentrack/venv/lib/python3.7/site-packages/huey/api.py", line 724, in execute
    return func(*args, **kwargs)
  File "/home/fermentrack/venv/lib/python3.7/site-packages/huey/contrib/djhuey/__init__.py", line 133, in inner
    return fn(*args, **kwargs)
  File "/home/fermentrack/fermentrack/external_push/tasks.py", line 46, in brewfather_push_target_push
    push_target.send_data()
  File "/home/fermentrack/fermentrack/external_push/models.py", line 559, in send_data
    json_data = self.data_to_push()
  File "/home/fermentrack/fermentrack/external_push/models.py", line 545, in data_to_push
    to_send['ext_temp'] = float(device_info['RoomTemp'])
TypeError: float() argument must be a string or a number, not 'NoneType'

It seems to be sending NoneType for RoomTemp. My controller doesn't have Room Temp set up, which worked perfectly fine before today?

dmarkow commented 3 years ago

Commenting out the RoomTemp code at https://github.com/thorrak/fermentrack/blob/master/external_push/models.py#L544 seems to have temporarily fixed it.

thorrak commented 3 years ago

UGH. I need to go back and get some test cases written for things like this.

Fix incoming!