Bonjour,
Je test un premier addon en Python Flask avec Ingress
Pour l’instant, cet addon ne fait rien de particulier, j’ai juste 2 routes, une ‹ / › et ‹ log › appelé de la première.
@app.route('/')
def index():
return render_template('index.html')
@app.route('/log/<service>')
def log(service):
log = [
"2024-06-10 13:41:07,099 INFO Publish MQTT topic home/flowmeter/elechpjr/month/flow = 0.0",
"2024-06-10 13:41:07,099 INFO Recu MQTT message: home/teleinfo/linky/tempo/elechall (0) = b'21604912'",
"2024-06-10 13:41:07,099 DEBUG Sensor: 'linky elechall' = 21604912",
"2024-06-10 13:41:07,099 DEBUG Compteur elechall courant: 21604912 et précédent: 21604878",
"2024-06-10 13:41:07,099 DEBUG Send elechall MQTT message",
"2024-06-10 13:41:07,099 INFO Publish MQTT topic home/flowmeter/elechall/current/flow = 0.0340",
]
return render_template('log.html', titre="vesta flowmeter2mqtt log", loglist=log)
J’utilise bootstrap et j’ai dans le répertoire static un js et un css
$ find root/static
root/static
root/static/css
root/static/css/bootstrap.min.css
root/static/js
root/static/js/bootstrap.bundle.min.js
Les 2 pages html font appel au 2 js/css: de cette façon:
<link href="static/css/bootstrap.min.css" rel="stylesheet">
<script src="static/js/bootstrap.bundle.min.js"></script>
Si la page principale s’affiche bien en prenant en compte les js/css bootstrap, la page log appelée de la page principale n’arrive pas à accéder à ces 2 fichiers.
L’ingress les recherche dans le lien /log/static/js/bootstrap.bundle.min.js et non /static/js/bootstrap.bundle.min.js
Log add-on:
2025-12-27 13:51:01 local-serviceslog werkzeug[100] INFO 172.30.32.2 - - [27/Dec/2025 13:51:01] "GET / HTTP/1.1" 200 -
2025-12-27 13:51:01 local-serviceslog werkzeug[100] INFO 172.30.32.2 - - [27/Dec/2025 13:51:01] "GET /static/css/bootstrap.min.css HTTP/1.1" 304 -
2025-12-27 13:51:01 local-serviceslog werkzeug[100] INFO 172.30.32.2 - - [27/Dec/2025 13:51:01] "GET /static/js/bootstrap.bundle.min.js HTTP/1.1" 304 -
2025-12-27 13:51:05 local-serviceslog werkzeug[100] INFO 172.30.32.2 - - [27/Dec/2025 13:51:05] "GET /log/flowmeter2mqtt HTTP/1.1" 200 -
2025-12-27 13:51:05 local-serviceslog werkzeug[100] INFO 172.30.32.2 - - [27/Dec/2025 13:51:05] "GET /log/static/css/bootstrap.min.css HTTP/1.1" 404 -
2025-12-27 13:51:05 local-serviceslog werkzeug[100] INFO 172.30.32.2 - - [27/Dec/2025 13:51:05] "GET /log/static/js/bootstrap.bundle.min.js HTTP/1.1" 404 -
Log dev Firefox:
J’ai tenté plusieurs solutions comme utliser “url_for” pour charger les js/css comme ceci
<script src="{{url_for('static', filename='bootstrap.bundle.min.js')}}"></script>
ou modifié le répertoire des fichiers statiques dans le code comme ceci:
app = Flask(__name__, static_url_path="/", static_folder='./')
Mais j’ai toujours le problème
Pour info, le code et le rendu fonctionne bien en dehors de HA en accédant directement à l’URL+port du programme
Auriez vous des idées ?
