Traceback (most recent call last): File "main.py", line 525, in wfpiconsole().run() File "/home/pi/.local/lib/python3.7/site-packages/kivy/app.py", line 950, in run runTouchApp() File "/home/pi/.local/lib/python3.7/site-packages/kivy/base.py", line 582, in runTouchApp EventLoop.mainloop() File "/home/pi/.local/lib/python3.7/site-packages/kivy/base.py", line 347, in mainloop self.idle() File "/home/pi/.local/lib/python3.7/site-packages/kivy/base.py", line 391, in idle self.dispatch_input() File "/home/pi/.local/lib/python3.7/site-packages/kivy/base.py", line 342, in dispatch_input post_dispatch_input(*pop(0)) File "/home/pi/.local/lib/python3.7/site-packages/kivy/base.py", line 308, in post_dispatch_input wid.dispatch('on_touch_up', me) File "kivy/_event.pyx", line 709, in kivy._event.EventDispatcher.dispatch File "/home/pi/.local/lib/python3.7/site-packages/kivy/uix/behaviors/button.py", line 179, in on_touch_up self.dispatch('on_release') File "kivy/_event.pyx", line 705, in kivy._event.EventDispatcher.dispatch File "kivy/_event.pyx", line 1248, in kivy._event.EventObservers.dispatch File "kivy/_event.pyx", line 1132, in kivy._event.EventObservers._dispatch File "/home/pi/.local/lib/python3.7/site-packages/kivy/lang/builder.py", line 57, in custom_callback exec(__kvlang__.co_value, idmap) File "/home/pi/wfpiconsole/user/customPanels.kv", line 25, in on_release: app.CurrentConditions.switchPanel(self) File "main.py", line 509, in switchPanel self.ids[button[1]].add_widget(eval(button[2] + 'Panel')()) File "/home/pi/wfpiconsole/user/customPanels.py", line 17, in __init__ self.update_tides() AttributeError: 'TidesPanel' object has no attribute 'update_tides'