10cd964ede
Wer auf dem Kartenreiter die Einstellungen oeffnete und eine Stadt eingab,
bekam danach nur noch ein graues Fenster. Drei Fehler wirkten zusammen:
1. getCityCoords() rief Nominatim ohne eigenen User-Agent auf. Nominatim
beantwortet den axios-Default mit 403, und zwar fuer jede Stadt. Die
Schwesterfunktion getAddress() setzt seit jeher einen User-Agent -
deshalb funktionierten die Adressen an den Sensoren, nur die
Stadtsuche nicht. Beide nutzen jetzt dieselbe Konstante.
2. cityCoords() lieferte im Fehlerfall den String "no coordinates". Der
landete als Kartenzentrum in L.map().setView(), Leaflet warf "Invalid
LatLng object" - und weil showMap() die alte Karte vorher schon
entfernt hat, blieb der Container leer. Daher grau statt Fehlermeldung.
cityCoords() liefert jetzt {coords, err}; schlaegt die Suche fehl,
bleibt das bisherige Zentrum stehen und der Text wird angezeigt.
3. Der Proxy in noise/routes/api.js kodierte die bereits prozentkodierte
req.originalUrl ein zweites Mal. 'Goettingen' kam als 'G%c3%b6ttingen'
an. Das fiel bisher nicht auf, weil schon Punkt 1 alles abfing.
Ausserdem: Tippfehler getCityCoord.name, fehlendes encodeURI bei der
Stadtsuche, Koordinaten als Zahl statt String, und eine eigene Meldung
(ENOCITY), wenn Nominatim den Ort nicht kennt.
Geprueft ueber die volle Kette noise -> sensorapi -> Nominatim:
Stuttgart, Goettingen (Umlaut), Bad Cannstatt (Leerzeichen) liefern
Koordinaten, ein erfundener Ort eine saubere Meldung.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Develop und Deploy der Noise-Anwendung
rxf 2025-08-08
Develop local ( auf esprimo !)
- via VS die APP sensorapi auf dem esprimo starten
- als mongo direkt die auf ionos verwenden
- in VS die app laerm_web_sensorapi editieren und starten
- im Browser aufrufen: esprimo:3000
Deploy auf ionos
- überprüfen, ob portainer richtig läuft, ggf. neu installieren
- prüfen, ob alle Container richtig laufen, vor Allem der watchtower, ggf. das Stack neu starten
- in VS (auf esprimo) das script deploy.sh aufrufen
- auf ionos sollte nun via watchtower die neue Version geladen werden (spätestens nach 1 Minute) ** nun im Browser https://noise.fuerst-stuttgart.de aufrufen und testen
Deploy auf rbsensors
- wenn deplay.sh noch nicht gestartet wurde (via VS auf esprimo), diese aufrufen.
- Portainer auf rbsensors aufrufen: 192.168.51.22:9000
- über Images das neueste Image (noise:latest) vom Repository Reinhard holen
- das Stack noisesensor aufrufen
- den Container noise löschen
- via edit das Stack neu starten
- und nun im Browser mit laerm.rbsensors.de testen
| Datum | Version | Bemerkung |
|---|---|---|
| 2025-08-08 | 1.0.1 | Typos verbessert |
| 2024-12-20 | 1.0.0 | erste Version |