|
|
|
@@ -23222,3 +23222,656 @@ Traceback (most recent call last):
|
|
|
|
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
|
|
|
|
|
2025-06-13 12:41:03 - [app] app - [DEBUG] DEBUG - Response: 500
|
|
|
|
|
2025-06-13 12:46:55 - [app] app - [DEBUG] DEBUG - Request: GET /tapo/
|
|
|
|
|
2025-06-13 12:47:08 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250613_124708
|
|
|
|
|
2025-06-13 12:47:08 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/tapo/
|
|
|
|
|
2025-06-13 12:47:08 - [app] app - [ERROR] ERROR - Method: GET
|
|
|
|
|
2025-06-13 12:47:08 - [app] app - [ERROR] ERROR - User: admin
|
|
|
|
|
2025-06-13 12:47:08 - [app] app - [ERROR] ERROR - Exception Type: BuildError
|
|
|
|
|
2025-06-13 12:47:08 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
2025-06-13 12:47:08 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last):
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 132, in tapo_dashboard
|
|
|
|
|
return render_template('tapo_control.html',
|
|
|
|
|
outlets=sorted_outlets,
|
|
|
|
|
total_outlets=len(sorted_outlets),
|
|
|
|
|
online_outlets=online_count,
|
|
|
|
|
fixed_layout=True) # Flag für festes Layout
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
|
|
|
|
|
return _render(app, template, context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
|
|
|
|
|
rv = template.render(context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
|
|
|
|
|
self.environment.handle_exception()
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
|
|
|
|
|
raise rewrite_traceback_stack(source=source)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code
|
|
|
|
|
{% extends "base.html" %}
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code
|
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
|
^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content'
|
|
|
|
|
<a href="{{ url_for('admin.add_printer') }}?preset_plug_ip={{ ip }}"
|
|
|
|
|
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
|
|
|
|
|
return self.handle_url_build_error(error, endpoint, values)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
|
|
|
|
|
rv = url_adapter.build( # type: ignore[union-attr]
|
|
|
|
|
endpoint,
|
|
|
|
|
...<3 lines>...
|
|
|
|
|
force_external=_external,
|
|
|
|
|
)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
|
|
|
|
|
raise BuildError(endpoint, values, method, self)
|
|
|
|
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
|
|
|
|
|
During handling of the above exception, another exception occurred:
|
|
|
|
|
|
|
|
|
|
Traceback (most recent call last):
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request
|
|
|
|
|
rv = self.dispatch_request()
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request
|
|
|
|
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
|
|
|
|
|
return current_app.ensure_sync(func)(*args, **kwargs)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
|
|
|
|
|
return current_app.ensure_sync(func)(*args, **kwargs)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\utils\security_suite.py", line 100, in wrapper
|
|
|
|
|
return f(*args, **kwargs)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 159, in tapo_dashboard
|
|
|
|
|
return render_template('tapo_control.html',
|
|
|
|
|
outlets=error_outlets,
|
|
|
|
|
total_outlets=6,
|
|
|
|
|
online_outlets=0,
|
|
|
|
|
fixed_layout=True)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
|
|
|
|
|
return _render(app, template, context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
|
|
|
|
|
rv = template.render(context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
|
|
|
|
|
self.environment.handle_exception()
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
|
|
|
|
|
raise rewrite_traceback_stack(source=source)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code
|
|
|
|
|
{% extends "base.html" %}
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code
|
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
|
^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content'
|
|
|
|
|
<a href="{{ url_for('admin.add_printer') }}?preset_plug_ip={{ ip }}"
|
|
|
|
|
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
|
|
|
|
|
return self.handle_url_build_error(error, endpoint, values)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
|
|
|
|
|
rv = url_adapter.build( # type: ignore[union-attr]
|
|
|
|
|
endpoint,
|
|
|
|
|
...<3 lines>...
|
|
|
|
|
force_external=_external,
|
|
|
|
|
)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
|
|
|
|
|
raise BuildError(endpoint, values, method, self)
|
|
|
|
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
|
|
|
|
|
2025-06-13 12:47:08 - [app] app - [DEBUG] DEBUG - Response: 500
|
|
|
|
|
2025-06-13 12:47:14 - [app] app - [DEBUG] DEBUG - Request: GET /printers
|
|
|
|
|
2025-06-13 12:47:14 - [app] app - [INFO] INFO - Locating template 'printers.html':
|
|
|
|
|
1: trying loader of application '__main__'
|
|
|
|
|
class: jinja2.loaders.FileSystemLoader
|
|
|
|
|
encoding: 'utf-8'
|
|
|
|
|
followlinks: False
|
|
|
|
|
searchpath:
|
|
|
|
|
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
|
|
|
|
|
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\printers.html')
|
|
|
|
|
2025-06-13 12:47:14 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:14 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:14 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:14 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:14 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:14 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:14 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:22 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:22 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:22 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:24 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:24 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:24 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:24 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:24 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:24 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:24 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:24 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:24 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:25 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:25 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:25 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:25 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:25 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:25 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:25 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:26 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:26 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:26 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:26 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:47:26 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:47:26 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:30 - [app] app - [DEBUG] DEBUG - Request: GET /energy/
|
|
|
|
|
2025-06-13 12:47:30 - [app] app - [INFO] INFO - Locating template 'energy_dashboard.html':
|
|
|
|
|
1: trying loader of application '__main__'
|
|
|
|
|
class: jinja2.loaders.FileSystemLoader
|
|
|
|
|
encoding: 'utf-8'
|
|
|
|
|
followlinks: False
|
|
|
|
|
searchpath:
|
|
|
|
|
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
|
|
|
|
|
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\energy_dashboard.html')
|
|
|
|
|
2025-06-13 12:47:30 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:30 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/dashboard
|
|
|
|
|
2025-06-13 12:47:30 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/statistics
|
|
|
|
|
2025-06-13 12:47:30 - [app] app - [DEBUG] DEBUG - Request: GET /api/energy/live
|
|
|
|
|
2025-06-13 12:47:30 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:30 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:30 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:33 - [app] app - [DEBUG] DEBUG - Request: GET /admin/
|
|
|
|
|
2025-06-13 12:47:33 - [app] app - [INFO] INFO - Locating template 'admin.html':
|
|
|
|
|
1: trying loader of application '__main__'
|
|
|
|
|
class: jinja2.loaders.FileSystemLoader
|
|
|
|
|
encoding: 'utf-8'
|
|
|
|
|
followlinks: False
|
|
|
|
|
searchpath:
|
|
|
|
|
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
|
|
|
|
|
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin.html')
|
|
|
|
|
2025-06-13 12:47:33 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:34 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats
|
|
|
|
|
2025-06-13 12:47:34 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:34 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health
|
|
|
|
|
2025-06-13 12:47:34 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
|
|
|
|
|
2025-06-13 12:47:34 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:41 - [app] app - [DEBUG] DEBUG - Request: GET /admin/tapo-monitoring
|
|
|
|
|
2025-06-13 12:47:45 - [app] app - [INFO] INFO - Locating template 'admin_tapo_monitoring.html':
|
|
|
|
|
1: trying loader of application '__main__'
|
|
|
|
|
class: jinja2.loaders.FileSystemLoader
|
|
|
|
|
encoding: 'utf-8'
|
|
|
|
|
followlinks: False
|
|
|
|
|
searchpath:
|
|
|
|
|
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
|
|
|
|
|
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\admin_tapo_monitoring.html')
|
|
|
|
|
2025-06-13 12:47:45 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:48 - [app] app - [DEBUG] DEBUG - Request: POST /api/admin/tapo/bulk-control
|
|
|
|
|
2025-06-13 12:47:48 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:51 - [app] app - [DEBUG] DEBUG - Request: GET /admin/tapo-monitoring
|
|
|
|
|
2025-06-13 12:47:52 - [app] app - [DEBUG] DEBUG - Request: POST /api/admin/tapo/bulk-control
|
|
|
|
|
2025-06-13 12:47:52 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:54 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:55 - [app] app - [DEBUG] DEBUG - Request: POST /api/admin/tapo/bulk-control
|
|
|
|
|
2025-06-13 12:47:55 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:47:58 - [app] app - [DEBUG] DEBUG - Request: GET /admin/tapo-monitoring
|
|
|
|
|
2025-06-13 12:47:59 - [app] app - [DEBUG] DEBUG - Request: POST /api/admin/tapo/bulk-control
|
|
|
|
|
2025-06-13 12:48:00 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:02 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:03 - [app] app - [DEBUG] DEBUG - Request: POST /api/admin/tapo/bulk-control
|
|
|
|
|
2025-06-13 12:48:03 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:06 - [app] app - [DEBUG] DEBUG - Request: GET /admin/tapo-monitoring
|
|
|
|
|
2025-06-13 12:48:06 - [app] app - [DEBUG] DEBUG - Request: GET /printers
|
|
|
|
|
2025-06-13 12:48:06 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:48:06 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:48:06 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:06 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:48:06 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:48:06 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:09 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:16 - [app] app - [DEBUG] DEBUG - Request: GET /tapo/
|
|
|
|
|
2025-06-13 12:48:29 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250613_124829
|
|
|
|
|
2025-06-13 12:48:29 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/tapo/
|
|
|
|
|
2025-06-13 12:48:29 - [app] app - [ERROR] ERROR - Method: GET
|
|
|
|
|
2025-06-13 12:48:29 - [app] app - [ERROR] ERROR - User: admin
|
|
|
|
|
2025-06-13 12:48:29 - [app] app - [ERROR] ERROR - Exception Type: BuildError
|
|
|
|
|
2025-06-13 12:48:29 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
2025-06-13 12:48:29 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last):
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 132, in tapo_dashboard
|
|
|
|
|
return render_template('tapo_control.html',
|
|
|
|
|
outlets=sorted_outlets,
|
|
|
|
|
total_outlets=len(sorted_outlets),
|
|
|
|
|
online_outlets=online_count,
|
|
|
|
|
fixed_layout=True) # Flag für festes Layout
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
|
|
|
|
|
return _render(app, template, context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
|
|
|
|
|
rv = template.render(context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
|
|
|
|
|
self.environment.handle_exception()
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
|
|
|
|
|
raise rewrite_traceback_stack(source=source)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code
|
|
|
|
|
{% extends "base.html" %}
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code
|
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
|
^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content'
|
|
|
|
|
<a href="{{ url_for('admin.add_printer') }}?preset_plug_ip={{ ip }}"
|
|
|
|
|
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
|
|
|
|
|
return self.handle_url_build_error(error, endpoint, values)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
|
|
|
|
|
rv = url_adapter.build( # type: ignore[union-attr]
|
|
|
|
|
endpoint,
|
|
|
|
|
...<3 lines>...
|
|
|
|
|
force_external=_external,
|
|
|
|
|
)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
|
|
|
|
|
raise BuildError(endpoint, values, method, self)
|
|
|
|
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
|
|
|
|
|
During handling of the above exception, another exception occurred:
|
|
|
|
|
|
|
|
|
|
Traceback (most recent call last):
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request
|
|
|
|
|
rv = self.dispatch_request()
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request
|
|
|
|
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
|
|
|
|
|
return current_app.ensure_sync(func)(*args, **kwargs)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
|
|
|
|
|
return current_app.ensure_sync(func)(*args, **kwargs)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\utils\security_suite.py", line 100, in wrapper
|
|
|
|
|
return f(*args, **kwargs)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 159, in tapo_dashboard
|
|
|
|
|
return render_template('tapo_control.html',
|
|
|
|
|
outlets=error_outlets,
|
|
|
|
|
total_outlets=6,
|
|
|
|
|
online_outlets=0,
|
|
|
|
|
fixed_layout=True)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
|
|
|
|
|
return _render(app, template, context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
|
|
|
|
|
rv = template.render(context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
|
|
|
|
|
self.environment.handle_exception()
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
|
|
|
|
|
raise rewrite_traceback_stack(source=source)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code
|
|
|
|
|
{% extends "base.html" %}
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code
|
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
|
^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content'
|
|
|
|
|
<a href="{{ url_for('admin.add_printer') }}?preset_plug_ip={{ ip }}"
|
|
|
|
|
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
|
|
|
|
|
return self.handle_url_build_error(error, endpoint, values)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
|
|
|
|
|
rv = url_adapter.build( # type: ignore[union-attr]
|
|
|
|
|
endpoint,
|
|
|
|
|
...<3 lines>...
|
|
|
|
|
force_external=_external,
|
|
|
|
|
)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
|
|
|
|
|
raise BuildError(endpoint, values, method, self)
|
|
|
|
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
|
|
|
|
|
2025-06-13 12:48:29 - [app] app - [DEBUG] DEBUG - Response: 500
|
|
|
|
|
2025-06-13 12:48:31 - [app] app - [DEBUG] DEBUG - Request: GET /tapo/
|
|
|
|
|
2025-06-13 12:48:36 - [app] app - [DEBUG] DEBUG - Request: GET /admin/
|
|
|
|
|
2025-06-13 12:48:36 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:36 - [app] app - [DEBUG] DEBUG - Request: GET /api/stats
|
|
|
|
|
2025-06-13 12:48:36 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:37 - [app] app - [DEBUG] DEBUG - Request: GET /api/admin/system-health
|
|
|
|
|
2025-06-13 12:48:37 - [app] app - [ERROR] ERROR - Datenbank-Transaktion fehlgeschlagen: Textual SQL expression 'SELECT 1' should be explicitly declared as text('SELECT 1')
|
|
|
|
|
2025-06-13 12:48:37 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:38 - [app] app - [DEBUG] DEBUG - Request: GET /calendar
|
|
|
|
|
2025-06-13 12:48:38 - [app] app - [INFO] INFO - Locating template 'calendar.html':
|
|
|
|
|
1: trying loader of application '__main__'
|
|
|
|
|
class: jinja2.loaders.FileSystemLoader
|
|
|
|
|
encoding: 'utf-8'
|
|
|
|
|
followlinks: False
|
|
|
|
|
searchpath:
|
|
|
|
|
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
|
|
|
|
|
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\calendar.html')
|
|
|
|
|
2025-06-13 12:48:38 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:38 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/events
|
|
|
|
|
2025-06-13 12:48:38 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:43 - [app] app - [DEBUG] DEBUG - Request: GET /api/calendar/events
|
|
|
|
|
2025-06-13 12:48:43 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:44 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250613_124844
|
|
|
|
|
2025-06-13 12:48:44 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/tapo/
|
|
|
|
|
2025-06-13 12:48:44 - [app] app - [ERROR] ERROR - Method: GET
|
|
|
|
|
2025-06-13 12:48:44 - [app] app - [ERROR] ERROR - User: admin
|
|
|
|
|
2025-06-13 12:48:44 - [app] app - [ERROR] ERROR - Exception Type: BuildError
|
|
|
|
|
2025-06-13 12:48:44 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
2025-06-13 12:48:44 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last):
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 132, in tapo_dashboard
|
|
|
|
|
return render_template('tapo_control.html',
|
|
|
|
|
outlets=sorted_outlets,
|
|
|
|
|
total_outlets=len(sorted_outlets),
|
|
|
|
|
online_outlets=online_count,
|
|
|
|
|
fixed_layout=True) # Flag für festes Layout
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
|
|
|
|
|
return _render(app, template, context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
|
|
|
|
|
rv = template.render(context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
|
|
|
|
|
self.environment.handle_exception()
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
|
|
|
|
|
raise rewrite_traceback_stack(source=source)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code
|
|
|
|
|
{% extends "base.html" %}
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code
|
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
|
^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content'
|
|
|
|
|
<a href="{{ url_for('admin.add_printer') }}?preset_plug_ip={{ ip }}"
|
|
|
|
|
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
|
|
|
|
|
return self.handle_url_build_error(error, endpoint, values)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
|
|
|
|
|
rv = url_adapter.build( # type: ignore[union-attr]
|
|
|
|
|
endpoint,
|
|
|
|
|
...<3 lines>...
|
|
|
|
|
force_external=_external,
|
|
|
|
|
)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
|
|
|
|
|
raise BuildError(endpoint, values, method, self)
|
|
|
|
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
|
|
|
|
|
During handling of the above exception, another exception occurred:
|
|
|
|
|
|
|
|
|
|
Traceback (most recent call last):
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request
|
|
|
|
|
rv = self.dispatch_request()
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request
|
|
|
|
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
|
|
|
|
|
return current_app.ensure_sync(func)(*args, **kwargs)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
|
|
|
|
|
return current_app.ensure_sync(func)(*args, **kwargs)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\utils\security_suite.py", line 100, in wrapper
|
|
|
|
|
return f(*args, **kwargs)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 159, in tapo_dashboard
|
|
|
|
|
return render_template('tapo_control.html',
|
|
|
|
|
outlets=error_outlets,
|
|
|
|
|
total_outlets=6,
|
|
|
|
|
online_outlets=0,
|
|
|
|
|
fixed_layout=True)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
|
|
|
|
|
return _render(app, template, context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
|
|
|
|
|
rv = template.render(context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
|
|
|
|
|
self.environment.handle_exception()
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
|
|
|
|
|
raise rewrite_traceback_stack(source=source)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code
|
|
|
|
|
{% extends "base.html" %}
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code
|
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
|
^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content'
|
|
|
|
|
<a href="{{ url_for('admin.add_printer') }}?preset_plug_ip={{ ip }}"
|
|
|
|
|
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
|
|
|
|
|
return self.handle_url_build_error(error, endpoint, values)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
|
|
|
|
|
rv = url_adapter.build( # type: ignore[union-attr]
|
|
|
|
|
endpoint,
|
|
|
|
|
...<3 lines>...
|
|
|
|
|
force_external=_external,
|
|
|
|
|
)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
|
|
|
|
|
raise BuildError(endpoint, values, method, self)
|
|
|
|
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
|
|
|
|
|
2025-06-13 12:48:44 - [app] app - [DEBUG] DEBUG - Response: 500
|
|
|
|
|
2025-06-13 12:48:56 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
|
|
|
|
|
2025-06-13 12:48:56 - [app] app - [INFO] INFO - Locating template 'dashboard.html':
|
|
|
|
|
1: trying loader of application '__main__'
|
|
|
|
|
class: jinja2.loaders.FileSystemLoader
|
|
|
|
|
encoding: 'utf-8'
|
|
|
|
|
followlinks: False
|
|
|
|
|
searchpath:
|
|
|
|
|
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
|
|
|
|
|
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\dashboard.html')
|
|
|
|
|
2025-06-13 12:48:56 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:58 - [app] app - [DEBUG] DEBUG - Request: GET /printers
|
|
|
|
|
2025-06-13 12:48:58 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:58 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:48:58 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:48:58 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:48:59 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:48:59 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:48:59 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:49:12 - [app] app - [DEBUG] DEBUG - Request: POST /api/printers/1/connect
|
|
|
|
|
2025-06-13 12:49:12 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/printers/1/connect
|
|
|
|
|
2025-06-13 12:49:12 - [app] app - [DEBUG] DEBUG - Response: 404
|
|
|
|
|
2025-06-13 12:49:14 - [app] app - [DEBUG] DEBUG - Request: POST /api/printers/1/connect
|
|
|
|
|
2025-06-13 12:49:14 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/printers/1/connect
|
|
|
|
|
2025-06-13 12:49:14 - [app] app - [DEBUG] DEBUG - Response: 404
|
|
|
|
|
2025-06-13 12:49:28 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:49:29 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:49:29 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:49:29 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:49:29 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:49:29 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:49:58 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:49:58 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:49:59 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:49:59 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:49:59 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:49:59 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:50:28 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:50:29 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:50:29 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:50:29 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:50:29 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:50:29 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:50:58 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:50:58 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:50:58 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:50:59 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:50:59 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:50:59 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:51:28 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:51:28 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:51:28 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:51:29 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:51:29 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:51:29 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:51:58 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:51:58 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:51:58 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:51:59 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:51:59 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:51:59 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:01 - [app] app - [DEBUG] DEBUG - Request: POST /api/printers/2/connect
|
|
|
|
|
2025-06-13 12:52:01 - [app] app - [INFO] INFO - Not Found (404): http://127.0.0.1:5000/api/printers/2/connect
|
|
|
|
|
2025-06-13 12:52:01 - [app] app - [DEBUG] DEBUG - Response: 404
|
|
|
|
|
2025-06-13 12:52:09 - [app] app - [DEBUG] DEBUG - Request: GET /tapo/
|
|
|
|
|
2025-06-13 12:52:14 - [app] app - [DEBUG] DEBUG - Request: GET /jobs
|
|
|
|
|
2025-06-13 12:52:14 - [app] app - [INFO] INFO - Locating template 'jobs.html':
|
|
|
|
|
1: trying loader of application '__main__'
|
|
|
|
|
class: jinja2.loaders.FileSystemLoader
|
|
|
|
|
encoding: 'utf-8'
|
|
|
|
|
followlinks: False
|
|
|
|
|
searchpath:
|
|
|
|
|
- C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates
|
|
|
|
|
-> found ('C:\\Users\\TTOMCZA.EMEA\\Dev\\Projektarbeit-MYP\\backend\\templates\\jobs.html')
|
|
|
|
|
2025-06-13 12:52:14 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:14 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
|
|
|
|
|
2025-06-13 12:52:14 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:14 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:52:14 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:52:14 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:15 - [app] app - [DEBUG] DEBUG - Request: GET /jobs
|
|
|
|
|
2025-06-13 12:52:15 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:15 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
|
|
|
|
|
2025-06-13 12:52:15 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:15 - [app] app - [DEBUG] DEBUG - Request: GET /api/printers
|
|
|
|
|
2025-06-13 12:52:15 - [app] app - [INFO] INFO - ✅ API: 6 Drucker abgerufen (include_inactive=True)
|
|
|
|
|
2025-06-13 12:52:15 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:19 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
|
|
|
|
|
2025-06-13 12:52:19 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:22 - [app] app - [ERROR] ERROR - Unhandled Exception - ID: 20250613_125222
|
|
|
|
|
2025-06-13 12:52:22 - [app] app - [ERROR] ERROR - URL: http://127.0.0.1:5000/tapo/
|
|
|
|
|
2025-06-13 12:52:22 - [app] app - [ERROR] ERROR - Method: GET
|
|
|
|
|
2025-06-13 12:52:22 - [app] app - [ERROR] ERROR - User: admin
|
|
|
|
|
2025-06-13 12:52:22 - [app] app - [ERROR] ERROR - Exception Type: BuildError
|
|
|
|
|
2025-06-13 12:52:22 - [app] app - [ERROR] ERROR - Exception: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
2025-06-13 12:52:22 - [app] app - [ERROR] ERROR - Traceback: Traceback (most recent call last):
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 132, in tapo_dashboard
|
|
|
|
|
return render_template('tapo_control.html',
|
|
|
|
|
outlets=sorted_outlets,
|
|
|
|
|
total_outlets=len(sorted_outlets),
|
|
|
|
|
online_outlets=online_count,
|
|
|
|
|
fixed_layout=True) # Flag für festes Layout
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
|
|
|
|
|
return _render(app, template, context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
|
|
|
|
|
rv = template.render(context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
|
|
|
|
|
self.environment.handle_exception()
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
|
|
|
|
|
raise rewrite_traceback_stack(source=source)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code
|
|
|
|
|
{% extends "base.html" %}
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code
|
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
|
^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content'
|
|
|
|
|
<a href="{{ url_for('admin.add_printer') }}?preset_plug_ip={{ ip }}"
|
|
|
|
|
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
|
|
|
|
|
return self.handle_url_build_error(error, endpoint, values)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
|
|
|
|
|
rv = url_adapter.build( # type: ignore[union-attr]
|
|
|
|
|
endpoint,
|
|
|
|
|
...<3 lines>...
|
|
|
|
|
force_external=_external,
|
|
|
|
|
)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
|
|
|
|
|
raise BuildError(endpoint, values, method, self)
|
|
|
|
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
|
|
|
|
|
During handling of the above exception, another exception occurred:
|
|
|
|
|
|
|
|
|
|
Traceback (most recent call last):
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1484, in full_dispatch_request
|
|
|
|
|
rv = self.dispatch_request()
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1469, in dispatch_request
|
|
|
|
|
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
|
|
|
|
|
return current_app.ensure_sync(func)(*args, **kwargs)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask_login\utils.py", line 290, in decorated_view
|
|
|
|
|
return current_app.ensure_sync(func)(*args, **kwargs)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\utils\security_suite.py", line 100, in wrapper
|
|
|
|
|
return f(*args, **kwargs)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\blueprints\tapo_control.py", line 159, in tapo_dashboard
|
|
|
|
|
return render_template('tapo_control.html',
|
|
|
|
|
outlets=error_outlets,
|
|
|
|
|
total_outlets=6,
|
|
|
|
|
online_outlets=0,
|
|
|
|
|
fixed_layout=True)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 151, in render_template
|
|
|
|
|
return _render(app, template, context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\templating.py", line 132, in _render
|
|
|
|
|
rv = template.render(context)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 1295, in render
|
|
|
|
|
self.environment.handle_exception()
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\jinja2\environment.py", line 942, in handle_exception
|
|
|
|
|
raise rewrite_traceback_stack(source=source)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 1, in top-level template code
|
|
|
|
|
{% extends "base.html" %}
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\base.html", line 433, in top-level template code
|
|
|
|
|
{% block content %}{% endblock %}
|
|
|
|
|
^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\templates\tapo_control.html", line 251, in block 'content'
|
|
|
|
|
<a href="{{ url_for('admin.add_printer') }}?preset_plug_ip={{ ip }}"
|
|
|
|
|
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1697, in url_for
|
|
|
|
|
return self.handle_url_build_error(error, endpoint, values)
|
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\flask\app.py", line 1686, in url_for
|
|
|
|
|
rv = url_adapter.build( # type: ignore[union-attr]
|
|
|
|
|
endpoint,
|
|
|
|
|
...<3 lines>...
|
|
|
|
|
force_external=_external,
|
|
|
|
|
)
|
|
|
|
|
File "C:\Users\TTOMCZA.EMEA\AppData\Roaming\Python\Python313\site-packages\werkzeug\routing\map.py", line 924, in build
|
|
|
|
|
raise BuildError(endpoint, values, method, self)
|
|
|
|
|
werkzeug.routing.exceptions.BuildError: Could not build url for endpoint 'admin.add_printer'. Did you mean 'admin.add_printer_page' instead?
|
|
|
|
|
|
|
|
|
|
2025-06-13 12:52:22 - [app] app - [DEBUG] DEBUG - Response: 500
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: POST /api/jobs
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: POST /api/jobs
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: (sqlite3.InterfaceError) bad parameter or other API misuse
|
|
|
|
|
[SQL: SELECT users.id AS users_id, users.email AS users_email, users.username AS users_username, users.password_hash AS users_password_hash, users.name AS users_name, users.role AS users_role, users.active AS users_active, users.created_at AS users_created_at, users.last_login AS users_last_login, users.updated_at AS users_updated_at, users.settings AS users_settings, users.last_activity AS users_last_activity, users.department AS users_department, users.position AS users_position, users.phone AS users_phone, users.bio AS users_bio, users.theme_preference AS users_theme_preference, users.language_preference AS users_language_preference, users.email_notifications AS users_email_notifications, users.browser_notifications AS users_browser_notifications, users.dashboard_layout AS users_dashboard_layout, users.compact_mode AS users_compact_mode, users.show_completed_jobs AS users_show_completed_jobs, users.auto_refresh_interval AS users_auto_refresh_interval, users.auto_logout_timeout AS users_auto_logout_timeout
|
|
|
|
|
FROM users
|
|
|
|
|
WHERE users.id = ?
|
|
|
|
|
LIMIT ? OFFSET ?]
|
|
|
|
|
[parameters: (1, 1, 0)]
|
|
|
|
|
(Background on this error at: https://sqlalche.me/e/20/rvf5)
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: tuple index out of range
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [ERROR] ERROR - Fehler beim Laden des Benutzers 1: tuple index out of range
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /auth/login
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 302
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Request: GET /dashboard
|
|
|
|
|
2025-06-13 12:52:40 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:45 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
|
|
|
|
|
2025-06-13 12:52:45 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|
2025-06-13 12:52:49 - [app] app - [DEBUG] DEBUG - Request: POST /api/jobs
|
|
|
|
|
2025-06-13 12:52:49 - [app] app - [DEBUG] DEBUG - Request: POST /api/jobs
|
|
|
|
|
2025-06-13 12:52:49 - [app] app - [DEBUG] DEBUG - Response: 500
|
|
|
|
|
2025-06-13 12:52:49 - [app] app - [DEBUG] DEBUG - Response: 500
|
|
|
|
|
2025-06-13 12:52:54 - [app] app - [DEBUG] DEBUG - Request: POST /api/jobs
|
|
|
|
|
2025-06-13 12:52:54 - [app] app - [DEBUG] DEBUG - Request: POST /api/jobs
|
|
|
|
|
2025-06-13 12:52:54 - [app] app - [DEBUG] DEBUG - Response: 500
|
|
|
|
|
2025-06-13 12:52:54 - [app] app - [DEBUG] DEBUG - Response: 500
|
|
|
|
|
2025-06-13 12:53:16 - [app] app - [DEBUG] DEBUG - Request: GET /api/jobs
|
|
|
|
|
2025-06-13 12:53:16 - [app] app - [DEBUG] DEBUG - Response: 200
|
|
|
|
|