# Aenderungsprotokoll (ChangeLog)

**Copyright by [www.anb030.de](http://www.anb030.de)**

Hierbei handelt es sich um ein Aenderungsprotokoll (engl.: ChangeLog), um saemtliche Projektaenderungen festzuhalten.

---

## Versionen

- **1.0**: Grundgeruest fuer die Anzeige des aktuellen Wetters in °C mit der API von dwd.de und BrightSky.dev (Temperatur 2 Meter ueber dem Boden) als HTML-, CSS- und JS-Datei. Beide APIs gehoeren zusammen und decken nur den deutschen Raum ab sowie grenznahe Orte im Ausland.

- **1.0a**: Fehlerbehebungen  
- **1.0b**: Design Anpassungen  

- **1.1**: Implementierung fuer die Lokalisierung „⚑“ des aktuellen Geostands  
- **1.1a**: Design Anpassungen  

- **1.2**: Implementierung des DarkMode „◑“ fuer die Umstellung von hell und dunkel  
- **1.2a**: Design Anpassungen  

- **1.3**: Implementierung der Funktion, „↻“ Seite neu laden  
- **1.3a**: Design Anpassungen  

- **1.4**: Implementierung fuer die Option zwischen °C / °F auszuwaehlen als Dropdown-Menue  
- **1.4a**: Design Anpassungen  
- **1.4b**: Diverse Fehlerbehebungen  

- **1.5**: Implementierung fuer ein Suchfeld „✍︎ Deutscher Ortsname …“ um auch in anderen deutschen Orten nach der aktuellen Temperatur zu schauen  
- **1.5a**: Design Anpassungen  

- **1.6**: Implementierung fuer die drei „Hour-Cards“ zur Anzeige fuer die kommenden 2, 4, 6 Stunden am selben Tag  
- **1.6a**: Design Anpassungen  

- **1.7**: Diverse Fehlerbehebungen mit dem sogenannten „Skeleton Loader“ und Design Anpassungen  

- **1.8**: Implementierung fuer die Quellenangabe im HTML Fussbereich  

- **1.9**: Implementierung von PNG-Icons im Apple SF-Symbols Style zur bildlichen Darstellung der Condition alias Wetterbedingungen.  

- **2.0**: Implementierung der API „aqicn.org“ als neue JS-Datei zur Anzeige der aktuellen Luftqualitaet am Geostandort. Diese sogenannte „aqi-card“ zeigt die Luftqualitaet mit einer Farbskala an. Beispielsweise von gruen ist gut & rot ist schlecht.  

- **2.1**: Diverse Fehlerbehebungen mit dem sogenannten „Skeleton Loader“ und Design Anpassungen  
- **2.1a**: Erneute Design Anpassungen  

- **2.2**: Implementierung einer (Info-Box) auf HTML-Basis als Dropdown-Menue fuer den Hinweis zum Abspeichern der Seite als WebApp auf dem Home-Bildschirm eines Smartphones  
- **2.2a**: Diverse Fehlerbehebungen mit der sogenannten (Info-Box) und Design Anpassungen  
- **2.2b**: Design Anpassungen  

- **2.3**: Aenderung und Implementierung von selbst gestalteten PNG-Icons im Dot-Style (LED-Matrix) zur bildlichen Darstellung der Wetterbedingungen.  
- **2.3a**: Diverse Fehlerbehebungen bei der Implementierung der (Dot-Style PNG-Icons) und Design Anpassungen  
- **2.3b**: Design Anpassungen  

- **2.4**: Implementierung der „10-Tage-Vorschau“  
- **2.4a**: Diverse Fehlerbehebungen beim (Skeleton Loader) fuer die 10-Tage-Vorschau  
- **2.4b**: Design Anpassungen  
- **2.4c**: Diverse kleinere und groessere Fehlerbehebungen im Skript  
- **2.4d**: Design Anpassungen  
- **2.4e**: Prioritaetsbasierte Wettererkennung fuer Wetterbedingungen. Bessere Datenaggregation bei der 10-Tage-Vorschau zeigt nun das unguenstigste Wetter des Tages an, nicht das haeufigste – selbst wenn ein Gewitter nur 2 Stunden auftritt.  
- **2.4f**: Neue Anordnung der (current-temp) Elemente  
- **2.4g**: Bessere Dynamik beim Icons-Wechsel zwischen Hell- und Dunkelmodus  

- **2.5**: Implementierung einer Header-Grafik mit dynamischen Anpassungen zum Light- oder DarkMode  
- **2.5a**: Design Anpassungen  
- **2.5b**: `renderTenDayForecast` mit Filter: Heute + 10 zukuenftige Tage als echte 10-Tage-Vorschau in der `forecast-card`, da „today“ jetzt rausgefiltert wird.  

- **2.6**: Automatische Geo-Lokalisierung beim Start der WebApp  
- **2.6a**: Letzte Lokalisierung vom Standort wird im Browser-Cache gespeichert, kann bei Bedarf aber auch wieder zurueckgesetzt werden per Schaltflaeche neben dem Ortsnamen. Sowie mit Fallback zum Standard-Standort Berlin nach 3 Sekunden, falls die nutzende Person der Lokalisierung aus Datenschutzgruenden nicht zustimmt.  
- **2.6b**: Fehlerbehebung mit erweiterter Fallback-Reihenfolge bei der Geo-Lokalisierung.  
  - Alt: Stadt > Ort > Koordinaten  
  - Neu: Stadt > Ort > Dorf > Weiler > Gemeinde > Bundesland > Koordinaten  
  - Warum? Weil bspw. in Niederfinow (Brandenburg) nur die Koordinate 52.85, 13.94 angezeigt wurde.  
- **2.6c**: Zusaetzliche Fallback-Funktion per ebenfalls selbstgestaltetes N/A-Icon im Light- sowie DarkMode, wenn bei der Condition alias Wetterbeschreibung kein passendes Wetter-Icon vorhanden ist.  

- **2.7**: Implementierung einer Info-Card zwischen der Hour-Card und der 10-Day-Forecast-Card mit 8 Symbolen und Werten. 
- **2.7a**: 8 Werte
 * Tageshöchsttemperatur in C / F
 * Tagestiefsttemperatur in C / F
 * Sonnenaufgang in hh:mm
 * Sonnenuntergang in hh:mm
 * Luftfeuchtigkeit in %
 * Bewoelkungsgrad in %
 * Niederschlag in mm/h
 * Windgeschwindigkeit in km/h
- **2.7b**: Lokale astronomische Berechnung ohne API fuer die Sunset sowie Sunrise Zeiten pro aktuellen Tag in der info-card.
- **2.7c**: Lokale Umrechnung beim oberen current-icon alias aktuellen Temperatur Ist-Wert, ist der cloud-cover Wert aus der info-card bei 15% oder niedriger und die condition ist dry, dann wechselt das current-icon zu clear-day alias Sonnig oder clear-night alias Klare Nacht. Der Zeitstempel wird automatisch nach Astro.-Berechnung der Info-Card ausgewertet fuer day zu night. 
- **2.7d**: Die renderTenDayForecast alias 10-Tage-Vorschau wurde von avgTENP Durchschnittstemperatur zu maxTEMP Hoechsttemperatur geaendert.
- **2.7e**:  Umrechnung der Hour-Card Icons wie bei >2.7c<, mit der 15% Regel bei der condition dry sowie Astro.-Berechnung aus der Info-Card mit den passenden Icons. 



---




## Zusatz: Die 12 Condition-Werte von der API

| API-Wert               | Deutsch          |
|------------------------|------------------|
| clear-day              | Sonnig           |
| clear-night            | Nachtglanz       |
| cloudy                 | Bewoelkt         |
| dry                    | Trocken          |
| fog                    | Nebel            |
| hail                   | Hagel            |
| partly-cloudy-day      | Wolkig           |
| partly-cloudy-night    | Wolkig           |
| rain                   | Regen            |
| sleet                  | Graupel          |
| snow                   | Schnee           |
| thunderstorm           | Gewitter         |

---

**E N D E**