{
  "D_2.3.0": {
    "de": [
      "Feature: Update des zugrundeliegenden Systems.",
      "Feature: Alle Science-Varianten des air-Q Radon kommen mit aktivierter USB-Funktionalität. Nun unterstütz die Firmware das auch, so dass die Geräte rein über USB betrieben werden können.",
      "Feature: Erweiterte Messbereichsumschaltung für die elektrochemischen Sensoren, um auch bei extrem hohen Konzentrationen von Gasen wie CO, NO2, SO2, H2S, O3, NH3 etc. den maximalen Messbereich der Sensoren voll ausnutzen zu können.",
      "Feature: WPA2 Enterprise-Unterstützung für den WLAN-Zugang, um auch in gesicherten Unternehmensnetzwerken eine Verbindung herstellen zu können.",
      "Feature: Die Gerätewebseite bietet nun die Einstellungsoption für eine feste IP im WLAN.",
      "Feature: Neuer Einstellungsoption, die die Festlegung erlaubt, ob der air-Q seinen Hotspot öffnen soll, wenn die WLAN-Verbindung verloren geht. Standard war bisher und weiterhin, dass der Hotspot geöffnet wird.",
      "Feature: Die absolute Luftfeuchtigkeit kann nun direkt kalibriert werden.",
      "Feature: Die Kalibrierung der Sensoren kann nun auch über die SD-Karte durchgeführt werden.",
      "Feature: Ein neuer Einstellungsschlüssel 'sd_config' erlaubt es, Einstellungen über die SD Karte auszuschließen. Standard ist 'false', außer für Industrie-Geräte.",
      "Feature: Vorbereitung eines virtuellen Premium-Sensors für Wärmefluss, der die aktuelle Heiz- bzw. Kühlungsleistung des Raums abschätzt.",
      "Feature: Vorbereitung eines virtuellen Premium-Sensors für die Feuchtkugeltemperatur.",
      "Feature: Vorbereitung eines virtuellen Premium-Sensors für die Radon-Generierung bzw. Radon-Zufuhr über die Zeit.",
      "Feature: Vorbereitung für ein Premium-Feature für häufigere Cloud-Upload-Rate.",
      "Feature: Bei benutzerdefiniertem MQTT können nun alle Messwerte optional in separate Topics gesendet werden.",
      "Feature: Microsoft Azure wird nun als Ziel der Nutzer-definierten MQTT-Verbindungen unterstützt.",
      "Feature: Daten für das Hochladen in der Cloud werden nun im RAM zwischengespeichert, falls keine SD-Karte im Gerät vorhanden ist.",
      "Feature: Die Anzahl der Werte über der der gleitende Mittelwert gebildet wird, kann nun für jeden Sensor individuell festgelegt werden.",
      "Feature: Die automatische Driftkompensation für die Sensoren wurde verbessert. Sie erfolgt nun graduell und erzeugt keine Sprünge mehr. Zudem funktioniert sie nun auch bei extremen Messwerten zuverlässiger.",
      "Feature: Der Kalman-Filter für den Radon-Sensor wurde stark verbessert. Durch rechnerisches Tracking der Zerfallsprodukte wird das Rauschen bei geringen Konzentrationen stark vermindert, eine Lüftung wird deutlich schneller erkannt und ein starker Konzentrationsanstieg ebenso deutlich schneller.",
      "Feature: Unterstützung des Phosgen-Sensors von Sensorix",
      "Feature: Unterstützung des SeH2-Sensors von Sensorix",
      "Änderung: Wenn Geräte vor der Ersteinrichtung längere Zeit Daten aufzeichnen, wurden diese Daten nach der Ersteinrichtung nicht mehr auf der Gerätewebseite angezeigt wegen Passwortwechsel. Nun gibt es bei dem Laden der Daten einen Fallback auf das Standardpasswort, so dass auch diese Daten angezeigt werden können.",
      "Änderung: Wenn die Uhrzeit nicht stimmt, weil die Batterie gewechselt wurde oder kurz den Kontakt verloren hat nach Sturz, wird der Nachtmodus nun nicht mehr ausgeführt, bis die Uhrzeit wieder korrekt ist (Uhrzeiteinstellung passiert im WLAN automatisch).",
      "Änderung: Für die Gebäudestandards WELL und RESET empfielt der Hersteller des SGP40-VOC-Sensors (Sensirion) eine Lernzeit von 720 h statt 12 h. Das wurde umgesetzt. Die normale Lernzeit wurde zudem auf 72 h erhöht. Dadurch werden länger andauernde VOC-Belastungen langsamer als neuer Normalzustand akzeptiert.",
      "Änderung: Die automatischen internen Kalibrierfunktionen können nun für jeden Sensor individuell deaktiviert werden.",
      "Änderung: Zertifikate für benutzerdefinierte MQTT- und HTTPS-Verbindungen werden nun im sicheren internen Speicher statt der SD-Karte abgelegt.",
      "Änderung: Verbesserte automatische Driftkompensation für den Sauerstoffsensor.",
      "Änderung: Live-Daten in der App über die /data-Route für Sensoren, für die die Luftfeuchteschockkorrektur (HumidityEnvoronmentCompensation) aktiv ist, werden nun für diese Sensoren mit den bereits korrigierten Messwerten aus der /average-Route ersetzt, so lange HumidityEnvoronmentCompensation aktiv ist. Kunden hatten die Abweichung von den Live angezeigten Daten von den aufgezeichneten Mittelwerten bemängelt. Diese Mittelwerte sind aber nah am realen Wert im Gegensatz zu den Live-Daten in diesen Fällen.",
      "Änderung: Für akustischte Benachrichtugungen konnten individuelle Schwellwerte festegelegt werden, aber nur insgesamt wieder gelöscht werden. Nun kann jeder eingestellte Wert individuell gelöscht werden.",
      "Änderung: Die Schwellwerte für Feueralarm und Gasalarm können nun individuell modifiziert werden.",
      "Bugfix: Verbesserte Validierung für über API gesendete Befehlszeilen.",
      "Bugfix: Durch einen Fehler im Logging-System konnte es bei einer vollen oder defekten SD-Karte zu Reboots kommen, wenn ein Fehlereintrag in die Logdatei auf der SD-Karte geschrieben werden sollte.",
      "Bugfix: Sommer- und Winterzeiumstellung des Nachtmodus hat nicht zuverlässig funktioniert.",
      "Bugfix: Seriennummer des HDC3022 Temperatur- und Feuchtigkeitssensors wurde nicht korrekt ausgelesen.",
      "Bugfix: Gesundheits- und Leitsungsbewertung des Luftdrucks wurden nicht angewendet.",
      "Bugfix: Logging-Level konnte in Firmware 2.2.x nicht geändert werden.",
      "Bugfix: Häufig wurde die letzte Messwert-Datei des Tages auf der SD-Karte nicht als komprimierte zlib-Version auf der SD-Karte gespiegelt.",
      "Bugfix: Der in älteren Geräten verbaute SGP30-VOC-Sensor konnte intern anhand seiner Basislinie kalibriert werden. Dabei gab es keinen Überlaufschutz bei den gesetzt Werten. Dadruch konnte es zu einer fatalen Fehlverkalibrierung des Sensors kommen, so dass er dauerhaft 0 oder 60000 ppb anzeigte. Die Kalibrerfunktion wurde nun so verbessert, dass ein solcher dauerhafter Wert nicht mehr auftreten kann.",
      "Bugfix: Ein Reboot-Loop konnte auftreten, wenn auf dem Gerät die Funktion für automatische Updates aktiv war, dies aber von einer Firewall geblockt wurde.",
      "Bugfix: Wurde für einen VOC-PID-Sensor ein Response Factor gesetzt und danach ein anderer, kam es zu einer Fehlberechnung der Offset-Angleichung, woduch danach ein sehr großer falscher Offset bestand.",
      "Bugfix: Für Geräte die länger als 72 h nicht am Strom waren, wurden alte Puffer für die automatische Driftkompensation nicht verworfen, was zu einer Fehlberechnung der Offset-Angleichung führen konnte.",
      "Bugfix: Fehlerhafter Abruf der NTP-Uhrzeit konnte zu einem falschen Zeitstempel führen. Jetzt wird die abgerufene Zeit bei einem großen Zeitsprung mehrfach verifiziert, bevor sie übernommen wird.",
      "Bugfix: Ein fremdes Gerät im selben Netzwerk mit nicht Unicode-Zeichen im mDNS-Broadcast konnte zu einem Reboot des air-Q führen.",
      "Bugfix: Durch einen Fehler im Produktionsprozess konnte bei sehr wenigen Geräten zusätzlich zum aktiven Cloud-Zertifikat noch ein inaktives vorhanden sein, welches die Cloud-Funktion verhinderte. Dieses wird nun automatisch bereinigt.",
      "Bugfix: Bei dem Bugfix zum sprunghaften Verhalten einiger weniger CO2-Sensoren gab es bei der Firmware 2.2.x eine Regression gegenüber 2.1.x. Das wurde nun behoben.",
      "Bugfix: LED-Theme für die gemessene Helligkeit warf Fehler.",
      "Bugfix: LED-Helligkeit hing nach einem Alarm auf sehr hellen 50 % fest.",
      "Bugfix: Nutzer-Konfigurationen auf der SD-Karte, die mit dem Windows-Editor erstellt wurden, konnten an dem von Windows vorangestellten Byte Order Mark scheitern.",
      "Bugfix: Der Nutzer-konfigurierte MQTT-Server konnte QOS 1 nicht korrekt verarbeiten. Nun geht QOS 1 korrekt.",
      "Bugfix: In der Hartnäckigkeit beim Versuch der Herstellung einer WLAN-Verbindung kam es zu einer Regression zwischen Firmware 2.2.0 und 2.2.2. Das ist nun behoben.",
      "Bugfix: Die spezifizierte Temperaturabhängigkeit elektrochemischer Plugin-Sensoren wurde nicht korrekt verarbeitet. Das führte zu einem zusätzlichen Fehler von 1 bis 5 % bei Temperaturschwankungen.",
      "Bugfix: Untere Grenze der automatischen Lärmsensor-Kalibrierung konnte unter bestimmten Bedingungen unterschritten werden und danach zu mathematischen Fehlern führen.",
      "Bugfix: Wochenmittelwertliste der Länge 0 konnte zum Berechnen des Schimmelindex herangezogen werden und zu einer Division durch Null führen."
    ],
    "en": [
      "Feature: Update of the underlying system.",
      "Feature: All Science variants of the air-Q Radon come with USB functionality enabled. The firmware now supports this as well, so that the devices can be operated purely via USB.",
      "Feature: Extended measurement range switching for the electrochemical sensors to be able to fully utilize the maximum measurement range of the sensors even at extremely high concentrations of gases such as CO, NO2, SO2, H2S, O3, NH3 etc.",
      "Feature: WPA2 Enterprise support for WLAN access to be able to connect even in secured corporate networks.",
      "Feature: The device web page now offers the setting option for a fixed IP in WLAN.",
      "Feature: New setting option that allows the determination of whether the air-Q should open its hotspot when the WLAN connection is lost. The default was and still is that the hotspot is opened.",
      "Feature: The absolute humidity can now be calibrated directly.",
      "Feature: Sensor calibration can now also be performed via the SD card.",
      "Feature: A new configuration key 'sd_config' allows excluding settings via the SD card. The default is 'false', except for Industry devices.",
      "Feature: Preparation of a virtual premium sensor for heat flow, which estimates the current heating or cooling power of the room.",
      "Feature: Preparation of a virtual premium sensor for wet-bulb temperature.",
      "Feature: Preparation of a virtual premium sensor for Radon generation or Radon supply over time.",
      "Feature: Preparation of a premium feature for more frequent cloud upload rate.",
      "Feature: For user defined MQTT topics, all measurement values can now be optionally sent to separate topics.",
      "Feature: Microsoft Azure is now supported as a target for user-defined MQTT connections.",
      "Feature: Data for uploading to the cloud is now temporarily stored in RAM if no SD card is present in the device.",
      "Feature: The number of values over which the moving average is calculated can now be set individually for each sensor.",
      "Feature: The automatic drift compensation for the sensors has been improved. It now occurs gradually and no longer produces jumps. Additionally, it now works more reliably even at extreme measurement values.",
      "Feature: The Kalman filter for the Radon sensor has been significantly improved. By computationally tracking the decay products, noise at low concentrations is greatly reduced, ventilation is detected much faster, and a rapid increase in concentration is also detected much faster.",
      "Feature: Support for the Phosgene sensor from Sensorix.",
      "Feature: Support for the SeH2 sensor from Sensorix.",
      "Change: If devices recorded data for a long time before the initial setup, this data was no longer displayed on the device web page after the initial setup due to password change. Now there is a fallback to the default password when loading the data, so that this data can also be displayed.",
      "Change: If the time is incorrect because the battery was changed or briefly lost contact after a fall, the night mode will no longer be executed until the time is correct again (time synchronization happens automatically in WLAN).",
      "Change: For the WELL and RESET building standards, the manufacturer of the SGP40 VOC sensor (Sensirion) recommends a learning time of 720 h instead of 12 h. This has been implemented. The normal learning time has also been increased to 72 h. As a result, longer-lasting VOC loads are accepted more slowly as a new normal state.",
      "Change: The automatic internal calibration functions can now be disabled individually for each sensor.",
      "Change: Certificates for custom MQTT and HTTPS connections are now stored in secure internal storage instead of on the SD card.",
      "Change: Enhanced automatic drift compensation for the oxygen sensor.",
      "Change: Live data in the app via the /data route for sensors with active HumidityEnvironmentCompensation is now replaced with the already corrected values from the /average route as long as HumidityEnvironmentCompensation is active. This addresses customer complaints about discrepancies between live displayed data and recorded averages. Averages are closer to the real value compared to the live data in those cases.",
      "Change: For acoustic notifications, individual threshold values could be set, but could only be deleted altogether. Now each set value can be deleted individually.",
      "Change: Threshold values for alarms can now be individually modified.",
      "Bugfix: Improved validation of command strings sent over the API.",
      "Bugfix: Due to an error in the logging system, reboots could occur with a full or defective SD card when an error entry was to be written to the log file on the SD card.",
      "Bugfix: Summer and winter time change of the night mode did not work reliably.",
      "Bugfix: Serial number of the HDC3022 temperature and humidity sensor was not read correctly.",
      "Bugfix: Health and performance rating of air pressure was not applied.",
      "Bugfix: Logging level could not be changed in firmware 2.2.x.",
      "Bugfix: The last measurement value file of the day was often not mirrored on the SD card as a compressed zlib version.",
      "Bugfix: The SGP30 VOC sensor built into older devices could be calibrated internally based on its baseline. There was no overflow protection for the set values. This could lead to a fatal miscalibration of the sensor, so that it permanently displayed 0 or 60000 ppb. The calibration function has now been improved so that such a permanent value can no longer occur.",
      "Bugfix: A reboot loop could occur if the automatic update function was active on the device, but this was blocked by a firewall.",
      "Bugfix: If a response factor was set for a VOC-PID sensor and then another one, it led to a miscalculation of the offset equation, resulting in a very large incorrect offset.",
      "Bugfix: For devices that were not powered for more than 72 h, old buffers for automatic drift compensation were not discarded, which could lead to a miscalculation of the offset equation.",
      "Bugfix: Faulty retrieval of NTP time could lead to an incorrect timestamp. Now the retrieved time is verified multiple times in case of a large time jump before it is adopted.",
      "Bugfix: A foreign device on the same network with non-Unicode characters in the mDNS broadcast could cause the air-Q to reboot.",
      "Bugfix: Due to an error in the production process, a small number of devices could still have an inactive cloud certificate in addition to the active one, which prevented the cloud function from working. This is now automatically cleaned up.",
      "Bugfix: The bugfix for the erratic behavior of a small number of CO2 sensors introduced a regression in firmware 2.2.x compared to 2.1.x. This has now been resolved.",
      "Bugfix: LED theme for measured brightness didn't work.",
      "Bugfix: LED brightness could get stuck at very bright 50 % after an alarm.",
      "Bugfix: User configurations on the SD card created with the Windows editor could fail due to the byte order mark prepended by Windows.",
      "Bugfix: The user-configured MQTT server could not correctly handle QOS 1. Now QOS 1 works correctly.",
      "Bugfix: Between firmware 2.2.0 and 2.2.2, there was a regression in the persistence of the WLAN connection attempt. This has now been resolved.",
      "Bugfix: The specified temperature dependence of electrochemical plugin sensors was not correctly processed. This led to an additional error of 1 to 5 % with temperature fluctuations.",
      "Bugfix: The lower limit of the automatic noise sensor calibration could be undershot under certain conditions, leading to mathematical errors afterwards.",
      "Bugfix: Weekly average list of length 0 could be used to calculate the mold index, leading to a division by zero."
    ]
  },
  "D_2.2.3": {
    "de": [
      "Änderung: DNS-Server deaktiviert, da mit iOS 27 inkompatibel."
    ],
    "en": [
      "Change: DNS server deactivated as incompatible with iOS 27."
    ]
  },
  "D_2.2.2": {
    "de": [
      "Änderung: Politur der Gerätewebseite, um die Bedienung noch intuitiver zu gestalten.",
      "Änderung: GET /config gibt nun auch den Cloud-Verbindungsstatus zurück.",
      "Änderung: Der air-Q Hotspot war, wenn aktiv, durchgehend im WLAN-Energiesparmodus. Nun verlässt er diesen Modus solange ein Client verbunden ist, um eine stabile Verbindung zu gewährleisten.",
      "Bugfix: Die API-Schlüssel 'warmup-phase' und 'UnencryptedFolder' wurden für GET /config nicht angezeigt."
    ],
    "en": [
      "Change: Polishing of the device web page to make operation even more intuitive.",
      "Change: GET /config now also returns the cloud connection status.",
      "Change: The air-Q hotspot was, when active, continuously in WLAN power saving mode. Now it leaves this mode as long as a client is connected to ensure a stable connection.",
      "Bugfix: The API keys 'warmup-phase' and 'UnencryptedFolder' were not displayed for GET /config."
    ]
  },
  "D_2.2.1": {
    "de": [
      "Bugfix: Eine Fremddatei im Datenordner auf der SD-Karte konnte die Speicherung von Daten stören.",
      "Bugfix: Die Messung über Gasflusssensoren wurde nach dem Ausführen des Shutdown-Befehls nicht angehalten.",
      "Bugfix: Konnte eine komprimierte Datei im SD-Ordner .zlib nicht geschrieben werden, wurde der Schreibvorgang irrtümlich als erfolgreich gemeldet.",
      "Bugfix: Ein Ausnahmefehler beim Lesen eines einzelnen Sensor-Datenpunktes, konnte zum Verwerfen auch der Werte aller anderen Sensoren bei diesem Datenpunkt führen. Nun wird nur der fehlerhafte Sensorwert verworfen und die anderen Sensorwerte werden weiterhin verarbeitet.",
      "Bugfix: War der Name einer Logdatei auf der SD-Karte durch Dateisystemfehler korrumpiert, ist das Logging auf der SD-Karte nicht weiter möglich gewesen",
      "Bugfix: Die Tage für die Zeitumstellung in unterschiedlichen Zeitzonen wurden bisher über eine feste Tabelle bestimmt, die zunächst nur bis zum Jahr 2034 reichte. Nun werden die Tage algorithmisch berechnet, so dass keine Limitierung in der Zukunft mehr besteht.",
      "Bugfix: War eine userconfig.json auf der SD-Karte vorhanden, die keine korrekte JSON-Struktur hatte, wurde das Gerät trotzdem als 'konfiguriert' angenommen, obwohl die Einstellungen nicht übernommen werden konnten.",
      "Bugfix: Ein bisher nicht beachteter NTP-Rollover im Jahr 2036 konnte zu einem fehlerhaften Zeitstempel ab 2036 führen, der die Datenverarbeitung und den Cloud-Upload stört.",
      "Bugfix: Der 'SensorInfo'-Eintrag für die Feinstaubsensoren und den Lärmsensor war inkonsistent zu den anderen Sensoren mit Leerzeichen benannt, statt 'RoundDigits'.",
      "Bugfix: Der interne Laufzeit-Zähler führte nach 6,2 Tagen zu einem Überlauf, der zu unbestimmten Verhalten des Gerätes führen konnte, was in einem Reboot endete.",
      "Bugfix: Durch einen Timing-Bug war die Umgebungskompensation für NO2 und O3 seit Firmware 1.86.0 nicht mehr aktiv.",
      "Bugfix: Bei extrem hoher Luftfeuchtigkeit von > 99 % konnte es durch einen Rechenfehler bei der Luftfeuchtigkeitskompensation des SGP40 VOC-Sensors zu einem Ausfall der Messwerte kommen, so lange die Luftfeuchtigkeit so hoch war.",
      "Bugfix: Wurde eine Maßeinheit wie °F bei Temperatur oder % bzw. massenbezogene Einheiten bei CO2 am Gerät konfiguriert, wurden Virusindex und Schimmelindex falsch berechnet.",
      "Bugfix: Netzwerkunterbrechung bei Abspielen eines Testalarms über die Route /playsound konnte zu kontinuierlichem Dauerton bis zum nächsten Reboot führen.",
      "Bugfix: Waren bei der manuellen Einstellung einer einzelnen Alarmtonschwelle fälschlich keine Zahlenwerte, sondern Strings angegeben, konnten gar keine benutzerdefinierten Alarme mehr abgespielt werden.",
      "Bugfix: Bei einem Firmware-Update wurde der Zeitstempel für den letzten erfolgreich Lauf falsch geschrieben, so dass nach dem Firmware-Update mit der vollen Laufzeit der Aufwärmphase begonnen wurde.",
      "Bugfix: Ein SD-Kartenfehler beim Abrufen von Daten über den Webserver konnte dazu führen, dass der Webserver bis zum nächsten Reboot komplett ausfiel.",
      "Bugfix: Die Rückgabe von GET /config konnte abgeschnitten werden, bei sehr vielen Sensoren im Gerät (air-Q Industry).",
      "Bugfix: Beim Schreiben der Messdaten auf SD wurde jedes Mal der Inhalt des Root-Verzeichnisses geprüft, was bei gut gefüllter SD-Karte zu einer spürbaren Verzögerung beim Schreiben der Messdaten führen konnte."
    ],
    "en": [
      "Bugfix: A foreign file in the data folder on the SD card could disrupt data storage.",
      "Bugfix: Measurement via gas flow sensors was not stopped after executing the shutdown command.",
      "Bugfix: If a compressed file in the SD folder .zlib could not be written, the write operation was erroneously reported as successful.",
      "Bugfix: An exception error when reading a single sensor data point could lead to discarding the values of all other sensors at this data point. Now only the faulty sensor value is discarded and the other sensor values are still processed.",
      "Bugfix: If the name of a log file on the SD card was corrupted by file system errors, logging on the SD card was no longer possible.",
      "Bugfix: The days for daylight saving time in different time zones were previously determined by a fixed table that initially only went up to the year 2034. Now the days are calculated algorithmically, so there is no longer any limitation in the future.",
      "Bugfix: If a userconfig.json on the SD card did not have a correct JSON structure, the device was still considered 'configured', even though the settings could not be applied.",
      "Bugfix: A previously unconsidered NTP rollover in the year 2036 could lead to an incorrect timestamp from 2036 onwards, which disrupts data processing and cloud upload.",
      "Bugfix: The 'SensorInfo' entry for the particulate matter sensors and the noise sensor was inconsistently named with spaces, instead of 'RoundDigits', compared to the other sensors.",
      "Bugfix: The internal runtime counter overflowed after 6.2 days, which could lead to undefined behavior of the device, resulting in a reboot.",
      "Bugfix: Due to a timing bug, the ambient compensation for NO2 and O3 has not been active since firmware 1.86.0.",
      "Bugfix: At extremely high humidity of > 99%, a calculation error in the humidity compensation of the SGP40 VOC sensor could lead to a failure of the measurement values as long as the humidity was so high.",
      "Bugfix: If a unit such as °F for temperature or % or mass-related units for CO2 was configured on the device, virus index and mold index were calculated incorrectly.",
      "Bugfix: Network interruption when playing a test alarm via the /playsound route could lead to continuous tone until the next reboot.",
      "Bugfix: If no numeric values but strings were erroneously specified when manually setting a single alarm threshold, no user-defined alarms could be played at all.",
      "Bugfix: During a firmware update, the timestamp for the last successful run was written incorrectly, so that after the firmware update, the full warm-up phase runtime was started.",
      "Bugfix: An SD card error when retrieving data via the web server could cause the web server to fail completely until the next reboot.",
      "Bugfix: The return of GET /config could be truncated with very many sensors in the device (air-Q Industry).",
      "Bugfix: When writing the measurement data to SD, the contents of the root directory were checked each time, which could lead to a noticeable delay when writing the measurement data with a well-filled SD card."
    ]
  },
  "D_2.2.0": {
    "de": [
      "Feature: Update des zugrunde liegenden Systems und Sicherheitsverbesserungen.",
      "Feature: Unterstützung des SCD43 CO2-Sensors von Sensirion.",
      "Feature: Gerätewebseite zeigt nun auch den Verlauf der zurückliegenden Daten für jeden Messwert an.",
      "Feature: Gerätewebseite unterstützt nun Dark Mode.",
      "Feature: Gerätewebseite erlaubt nun das setzen von LED-Themes und Nutzerkalibrierung.",
      "Feature: Gerätewebseite unterstützt nun auch italienisch als Sprache.",
      "Feature: Firmware-Update kann nun ohne eingelegte SD-Karte durchgeführt werden. Dabei wird die Firmware direkt beim Download aus der Cloud geflasht.",
      "Feature: Neues LED-Theme für die Temperatur.",
      "Feature: Neues zusätzliches LED-Thema für die Radon-Konzentration für Farbenblindheit optimiert.",
      "Änderung: Die Geräte-Webseite wird nun als gzip-komprimierte Version ausgeliefert, was die Ladezeiten verkürzt.",
      "Änderung: Firmwareupdate über die Gerätewebseite kann nun auch wahlweise auf die Beta-Version erfolgen",
      "Änderung: Das Firmware-Update wird nun nicht mehr auf der SD-Karte zwischengespeichert, sondern direkt während des Downloads geflasht.",
      "Änderung: Fehler beim Updaten der Uhrzeit über NTP Server werden nur noch als Warnung geloggt, da dies keinen Einfluss auf die Funktionalität des Gerätes hat.",
      "Änderung: Werden in userconfig.json auf der SD-Karte WLAN-Netzwerke definiert, werden dieser nun ergänzend zu den intern konfigurierten Netzwerken gespeichert und überschreiben diese nicht mehr.",
      "Änderung: Die typsiche Partikelgröße TypPS wird nicht mehr im Standarddatenstrom ausgegeben, wenn 'pm_cnts' als deaktivierter Sensor konfiguriert ist.",
      "Änderung: Das Gerät muss beim Ändern des Passwortes und beim Eintragen eines neuen WLANs nicht mehr neu gestartet werden, damit die Änderungen wirksam werden.",
      "Bugfix: Buffer für die automatische Kalibrierung konnte bereits einen Eintrag erhalten, bevor die Warmup-Phase beendet war.",
      "Bugfix: Wurde ein nutzerdefiniertes LED-Theme fehlerhaft angelegt, war die Rückmeldung vom air-Q nicht hilfreich bei der Fehlersuche.",
      "Bugfix: UTF-16 kodierte Sonderzeichen im Gerätenamen wurden vom Webserver nicht abgelehnt, was im Anschluss zu diversen Folgefehlern geführt hat. Diese werden nun abgelehnt.",
      "Bugfix: GET /dir ohne spezifiziertes Jahr gab gesamten Inhalt des SD-Root-Verzeichnisses zurück, statt nur die verfügbaren Jahreszahlen.",
      "Bugfix: Für CO2-Sensoren wird die Sensorinterne automatische Offsetkalibrierung nun auch deaktiviert, wenn 'AutoDriftCompensation' auf 'false' gesetzt ist.",
      "Bugfix: Für die elektrochemischen Sensoren und den VOC-PID-Sensor wurde bei der Fehlerberechnung irrtümlich der Fehleranteil der Sensitivität mit dem Fehleranteil des gemessenen Stromes zu früh verrechnet, was zu zu großen Fehlerbalken geführt hat.",
      "Bugfix: Bei Fehlern in den auf der SD-Karte für den Cloud-Upload zwischengespeicherten Datenpaketen konnte es zu einem Reboot kommen, der nach dem nächsten Upload erneut zu Reboot führte, so lange die fehlerhafte Datei auf der SD-Karte war.",
      "Bugfix: Wenn die interne Konfiguration einen fehlerhaften Eintrag für den Nachtmodus hatte, konnte das zu Folgefehlern führen. Nun wird der Eintrag validiert und im Fehlerfall auf den Standardwert zurückgesetzt.",
      "Bugfix: Werden dem air-Q Befehle gesendet, die mit einem falschen Passwort verschlüsselt wurden, ist die Rückgabe nun 401 Unauthorized statt 200 OK.",
      "Bugfix: Der Messbereich folgender Sensoren wurde bisher nicht in der Konfigurationsübersicht für die Sensoren ausgegeben: Propad, Methan, Lachgas, Kältemittel und VOC-PID.",
      "Bugfix: Wird eine Nutzerkalibrierung für die relative Luftfeuchtigkeit gesetzt, werden die absolute Luftfeuchtigkeit und der Taupunkt nun korrekt unter Einbeziehung dieser Nutzerkalibrierung berechnet.",
      "Bugfix: Der CSV-Export für air-Q Science konnte in einigen Fällen falsche Zeilenformatierung aufweisen und schrieb auch Sensoren, die deaktiviert waren.",
      "Bugfix: Einrichtungs-Prozess für Flotten über den Weg des Konfigurations-Hotspots scheiterte an nicht übernommener Einstellung für die Cloud-Fernbedienung, was nun behoben ist.",
      "Bugfix: Status des Feinstaubsensors konnte in einigen Fällen als OK angezeigt werden, obwohl ein Fehler vorlag.",
      "Bugfix: WLAN in der Umgebung mit nicht UTF-8 kodierten Sonderzeichen im Namen konnten nicht korrekt verarbeitet werden, was zum Crash des WLAN-Suchlaufs und damit zum Abbruch des kompletten WLAN-Findungsprozesses führen konnte.",
      "Bugfix: Wurde zusätzlich zur SSID eines WLANs eine BSSID angegeben, wurde nicht zuverlässig nur das Netz mit der gewählten BSSID gewählt und verbunden.",
      "Bugfix: Fehlerhafte benutzerdefinierte Firmware-Update-URLs lassen interne Update-Statusflags nicht mehr dauerhaft gesetzt.",
      "Bugfix: Eine beschädigte Datei 'lastIntWdt' auf der SD-Karte stört die Watchdog- und Reset-Ursachenerkennung beim Start nicht mehr.",
      "Bugfix: Ungültige vorhandene Zertifikatsdateien im Flash blockieren den Import eines gültigen Zertifikatsbundles von der SD-Karte nicht mehr.",
      "Bugfix: Die Reparatur mehrfach vorhandener Jahresordner auf der SD-Karte aktualisiert nach dem Umbenennen die Root-Verzeichnisliste.",
      "Bugfix: Die Reparatur mehrfach vorhandener Jahresordner entfernt nach dem Zusammenführen von Dateien nun temporäre Duplikate statt Zieldateien.",
      "Bugfix: Nichtnumerische Dateien in '/sd/unsent' verhindern das Puffern neuer Cloud-Daten nicht mehr.",
      "Bugfix: Nichtnumerische Dateien in '/sd/unsent' verhindern den Upload zwischengespeicherter Cloud-Daten nicht mehr.",
      "Bugfix: Reparierte JSON-Dateien im Flash werden nun an den angefragten Dateipfad zurückgeschrieben.",
      "Bugfix: DeleteKey für 'Rejection' entfernt nun auch legacy Top-Level-Konfigurationen.",
      "Bugfix: Die Unicode-Reparatur beschädigter AWS-Zertifikatsdateinamen erzeugt keine Zertifikatsdateien mit leerer ID mehr.",
      "Bugfix: Ein fehlgeschlagener Flash-Schreibvorgang beim Löschen einer Konfiguration (DeleteKey) wird nicht mehr als Erfolg gemeldet.",
      "Bugfix: DeleteKey-Objekte mit mehreren Schlüsseln werden nun abgelehnt, statt nur teilweise ausgeführt zu werden.",
      "Bugfix: Eine inkonsistente Plugin-Sensor-Zuordnung beim Setzen eines Sensitivitäts-Offsets führt nun zu einer kontrollierten Fehlermeldung statt zu einem Abbruch.",
      "Bugfix: Beim Import des Zertifikatsbundles von der SD-Karte werden nach einem Schreibfehler bereits kopierte Teildateien wieder entfernt.",
      "Bugfix: Die Reparatur doppelter Messdatendateien prüft nun das jeweilige Elternverzeichnis statt fest '/sd', sodass bereinigte verschachtelte Dateien nicht mehr fälschlich als fehlerhaft gemeldet werden.",
      "Bugfix: Der Fehlerbalken des relativen Luftdrucks skaliert nun linear mit dem Höhenfaktor; zuvor wurde der Messfehler fälschlich potenziert, was bei gesetzter Höhe zu falschen Fehlerbalken führte.",
      "Bugfix: Bei der Feinstaub-Sensorauswertung wird das nächste Datenpaket nun an seiner absoluten Position im Puffer gesucht; bei verschobenem Puffer mit defektem erstem Paket konnte zuvor ein gültiges Folgepaket übersehen und der Messzyklus verworfen werden.",
      "Bugfix: Neuere Smartphones (z. B. iPhone 17) konnten sich nur unzuverlässig mit dem Einrichtungs-Hotspot verbinden. Der Hotspot öffnet nun in WPA2 (AES) statt im WPA2/WPA3-Mischmodus, und bei der Ersteinrichtung wird zusätzlich der Performance- statt Stromsparmodus genutzt, um eine zuverlässige Verbindung zu gewährleisten."
    ],
    "en": [
      "Feature: Update of the underlying system and security improvements.",
      "Feature: Support of the SCD43 CO2 sensor from Sensirion.",
      "Feature: The device web page now also shows the history of past data for each measurement.",
      "Feature: The device web page now supports Dark Mode.",
      "Feature: The device web page now allows setting LED themes and user calibration.",
      "Feature: The device web page now also supports Italian as a language.",
      "Feature: Firmware update can now be performed without an SD card inserted. Then the firmware is flashed directly during download from the cloud.",
      "Feature: New LED theme for temperature.",
      "Feature: New additional LED theme for the Radon concentration optimized for color blindness.",
      "Change: The device web page is now delivered as a gzip-compressed version, which reduces loading times.",
      "Change: Firmware update via the device web page can now also optionally be performed on the beta version.",
      "Change: The firmware update is no longer stored on the SD card, but flashed directly during download.",
      "Change: Errors when updating the time via NTP server are now only logged as a warning, as this does not affect the functionality of the device.",
      "Change: If WLAN networks are defined in userconfig.json on the SD card, these are now stored in addition to the internally configured networks and no longer overwrite them.",
      "Change: The typical particle size TypPS is no longer output in the standard data stream when 'pm_cnts' is configured as a deactivated sensor.",
      "Change: The device no longer needs to be restarted when changing the password and when entering a new WLAN for the changes to take effect.",
      "Bugfix: Buffer for automatic calibration could already receive an entry before the warmup phase was over.",
      "Bugfix: If a user-defined LED theme was created incorrectly, the feedback from the air-Q was not helpful in troubleshooting.",
      "Bugfix: UTF-16 encoded special characters in the device name were not rejected by the web server, which subsequently led to various follow-up errors. These are now rejected.",
      "Bugfix: GET /dir without specified year returned the entire content of the SD root directory instead of only the available years.",
      "Bugfix: For CO2 sensors, the sensor-internal automatic offset calibration is now also deactivated when 'AutoDriftCompensation' is set to 'false'.",
      "Bugfix: For electrochemical sensors and the VOC-PID sensor, the error calculation erroneously combined the sensitivity error with the measured current error too early, resulting in overly large error bars.",
      "Bugfix: In case of errors in the data packets cached on the SD card for cloud upload, it could lead to a reboot, which after the next upload led to another reboot, as long as the faulty file was on the SD card.",
      "Bugfix: If the internal configuration had an incorrect entry for night mode, it could lead to subsequent errors. Now the entry is validated and reset to the default value in case of an error.",
      "Bugfix: When commands are sent to the air-Q that are encrypted with a wrong password, the return is now 401 Unauthorized instead of 200 OK.",
      "Bugfix: The measurement range of the following sensors was not previously output in the configuration overview for the sensors: Propad, Methane, Nitrous oxide, Refrigerant, and VOC-PID.",
      "Bugfix: When a user calibration for relative humidity is set, the absolute humidity and dew point are now calculated correctly taking this user calibration into account.",
      "Bugfix: The CSV export for air-Q Science could in some cases have incorrect line formatting and also wrote sensors that were deactivated.",
      "Bugfix: Setup process for fleets via the path of the configuration hotspot failed due to non-adopted setting for cloud remote control, which is now fixed.",
      "Bugfix: Status of the particulate matter sensor could in some cases be displayed as OK even though an error was present.",
      "Bugfix: WiFi in the environment with non-UTF-8 encoded special characters in the name could not be processed correctly, which could lead to the crash of the WiFi search and thus to the abortion of the entire WiFi finding process.",
      "Bugfix: If a BSSID was specified in addition to the SSID of a WLAN, the network with the chosen BSSID was not reliably selected and connected.",
      "Bugfix: Malformed custom firmware update URLs no longer leave internal update status flags set permanently.",
      "Bugfix: A corrupted 'lastIntWdt' file on the SD card no longer interferes with watchdog and reset-cause detection during startup.",
      "Bugfix: Invalid existing certificate files in flash no longer block importing a valid certificate bundle from the SD card.",
      "Bugfix: Repairing duplicate year folders on the SD card now refreshes the root directory listing after renaming.",
      "Bugfix: Repairing duplicate year folders now removes temporary duplicates after merging files instead of target files.",
      "Bugfix: Non-numeric files in '/sd/unsent' no longer prevent buffering new cloud data.",
      "Bugfix: Non-numeric files in '/sd/unsent' no longer prevent uploading buffered cloud data.",
      "Bugfix: Repaired JSON files in flash are now written back to the requested file path.",
      "Bugfix: DeleteKey for 'Rejection' now also removes legacy top-level configurations.",
      "Bugfix: Unicode recovery for corrupted AWS certificate filenames no longer creates certificate files with an empty ID.",
      "Bugfix: A failed flash write when deleting a configuration (DeleteKey) is no longer reported as success.",
      "Bugfix: DeleteKey objects with multiple keys are now rejected instead of being only partially executed.",
      "Bugfix: An inconsistent plugin sensor mapping when setting a sensitivity offset now results in a controlled error message instead of an abort.",
      "Bugfix: When importing the certificate bundle from the SD card, partially copied files are now removed after a write error.",
      "Bugfix: Repair of duplicate measurement data files now checks the respective parent directory instead of a hardcoded '/sd', so cleaned nested files are no longer incorrectly reported as faulty.",
      "Bugfix: The error bar of the relative air pressure now scales linearly with the altitude factor; previously the measurement error was erroneously exponentiated, which led to incorrect error bars when an altitude was set.",
      "Bugfix: When parsing particulate sensor data the next data packet is now located at its absolute position in the buffer; with a misaligned buffer and a corrupt first packet a valid following packet could previously be missed and the measurement cycle discarded.",
      "Bugfix: Newer smartphones (e.g. iPhone 17) could only connect unreliably to the setup hotspot. The hotspot now opens in WPA2 (AES) instead of WPA2/WPA3 mixed mode, and during initial setup it additionally uses performance instead of power-saving mode to ensure a reliable connection."
    ]
  },
  "D_2.1.2": {
    "de": [
      "Bugfix: air-Q-Hardware-Revision für air-Q Radon wurde nicht richtig erkannt."
    ],
    "en": [
      "Bugfix: air-Q hardware revision for air-Q Radon was not recognized correctly."
    ]
  },
  "D_2.1.1": {
    "de": [
      "Bugfix: Nutzerdefinierte akustische Alarme haben sporadisch nicht funktioniert.",
      "Bugfix: Wenn Gerätepasswort geändert wurde, während Gerät offline Daten für den Cloud-Upload gesammelt hat, wurden diese Daten als Garbage hochgeladen. Nun werden diese Daten nicht mehr hochgeladen.",
      "Bugfix: Einstellungen über die Option 'config.json' auf der SD-Karte führten zu einer Reboot-Schleife.",
      "Bugfix: SPS30-Feinstaubsensor des air-Q Radon ging im Nachtmodus nicht aus, obwohl FanNightOff gesetzt war.",
      "Bugfix: Bei Cloud-Verbindungsproblemen hat der air-Q in einigen Fällen die Gerätekonfiguration online unablässig aktualisiert."
    ],
    "en": [
      "Bugfix: User-defined acoustic alarms have sporadically not worked.",
      "Bugfix: If the device password was changed while the device was offline collecting data for cloud upload, this data was uploaded as garbage. This data is no longer uploaded.",
      "Bugfix: Settings via the 'config.json' option on the SD card led to a reboot loop.",
      "Bugfix: SPS30 particulate matter sensor of air-Q Radon did not turn off in night mode, although FanNightOff was set.",
      "Bugfix: In case of cloud connection problems, the air-Q in some cases updated the device configuration online incessantly."
    ]
  },
  "D_2.1.0": {
    "de": [
      "Feature: Unterstützung der Kühlmittel-Sensoren für R32, R454B und R454C von Dynament.",
      "Feature: Neuer virtueller Sensor für WiFi-Signalstärke.",
      "Feature: GET /config gibt nun auch den Status des air-Q Access Points zurück, falls ein Client direkt mit dem air-Q verbunden ist.",
      "Feature: Unterstützung des HDC3022 Temperatur- und Feuchtigkeitssensors.",
      "Feature: Der Helligkeitssensor nutzt nun seinen kompletten Dynamikbereich aus und kann nun auch bei beinahe Dunkelheit präzise messen.",
      "Feature: Es gibt nun eine Funktionalität für automatische Firmware-Updates.",
      "Änderung: Der in Firmware 2.0.0 eingeführte schnelle Kalman-Filter für die Radon-Konzentration hat die deutlich schnellere Reaktion auf Lüften durch erhöhtes Rauschen für geringe Radon-Konzentrationen erkauft. Jetzt reagiert der Kalman-Filter dynamisch auf die gemessene Radon-Konzentration, um sowohl schnelle Reaktion bei Lüften als auch geringes Rauschen bei niedrigen Radon-Konzentrationen zu gewährleisten.",
      "Änderung: Beim Firmware-Update wird die Checksumme nun bereits während des Downloads geprüft, um fehlerhafte Downloads zu vermeiden. Im Falle eines fehlerhaften Downloads wird mehrfach erneut versucht die Firmware herunterzuladen.",
      "Änderung: Asynchrone Initialisierung der Sensoren, um die Startzeit des Gerätes zu verkürzen.",
      "Änderung: Asynchrones Auslesen der Sensoren, um eine Messzeit von wenigen Sekunden auch für Geräte mit sehr vielen Sensoren zu ermöglichen.",
      "Änderung: Feueralarm für Feinstaub wird nun nur noch für die PM1.0-Bewertung gegeben, da es durch Wüstenfeinstaub zu Fehlalarmen speziell in PM10 kommen kann (in entsprechenden Ländern).",
      "Änderung: Der aktuelle Messbereichzustand der elektrochemischen Sensoren wird nun in GET /config SensorInfo angegeben.",
      "Änderung: Load-Widerstand und Basislinienkonzentration für EC Sense SO2- und H2S-Sensor angepasst, da diese nicht mit den älteren SPEC SO2- und H2S-Sensoren übereinstimmen.",
      "Änderung: Beim Abspielen individueller Alarme blinken die LEDs nun für zwei Sekunden in Orange, um den Ursprung des eventuell arbiträr erscheinenden Alarms besser lokalisieren zu können.",
      "Änderung: Hotspot öffnet nun im WPA2/WPA3-Mischmodus, um auch Verbindungen über WPA3 zu ermöglichen.",
      "Änderung: Veraltete Einstellungsschlüssel 'AdvancedDataProcessing' und 'ErrorBars' wurden entfernt.",
      "Bugfix: Der API-Befehl zum Ändern des LED-Themes musste immer beide LED-Seiten enthalten. Nun reicht nur eine Seite, die andere bleibt dann unverändert.",
      "Bugfix: Für einige Einstellungsschlüssel wie Altitude und NightMode wurde nicht geprüft, ob die übergebene Werte das richtige Format haben. Das konnte bei Verwendung des falschen Formates zu unerwartetem Verhalten führen.",
      "Bugfix: In sehr seltenen Fällen wurde fehlerhafte Datenübertragung vom Sauerstoffsensor nicht erkannt, was zu Error-Einträgen im Log führte.",
      "Bugfix: Nach dem Auslösen des Shutdown-Befehls wurde das WLAN nicht deaktiviert.",
      "Bugfix: Der Hotspot-Modus war auf Leistung statt auf Stromersparnis eingestellt, was zu erhöhter Temperatur um 3.7 °C führte, wenn dieser Modus an war (z.B. Nachts wenn WLAN-Router aus war).",
      "Bugfix: Wenn auf der SD-Karte Firmware-Dateien mit einer Größe von 0 Bytes waren, lief der air-Q in einen Bug, der dazu führt, dass das Gerät den Bootprozess nicht abschließen konnte.",
      "Bugfix: Wenn eine Sensor-Kalibrierung vom Nutzer gesetzt wurde, wurde der Kalibrierungspuffer auf der SD-Karte nicht invalidiert, was dazu führen konnte, dass plötzlich Sprünge zu niedrigen Werten hin im laufenden Betrieb oder unmittelbar nach dem Booten auftreten konnten.",
      "Bugfix: Wenn keine SD-Karte eingelegt war, gab der Webserver auf GET /dirbuff ein '200 OK' zurück und kein richtig formatiertes JSON. Nun gibt er '404 not found' zurück und ein leeres JSON-Objekt.",
      "Bugfix: Wenn die SD-Karte im laufenden Betrieb entfernt und wieder eingesteckt wurde, kam es zum Reboot des Gerätes. Nun läuft der Betrieb normal weiter und die SD-Karte wird neu eingebunden.",
      "Bugfix: air-Q Hotspot startet nun einen eigenen DNS-Server, um die 'kein Internet'-Meldung zu unterdrücken. Das funktioniert noch nicht auf Android Version 10 und höher.",
      "Bugfix: 6 air-Q Radon-Geräte, die mit FW 2.0.4 produziert wurden, hatten einen fehlerhaften Tempertur-Kalibrierwert. Dieser wird mit diesem Firmware-Update korrigiert.",
      "Bugfix: LED-Themen für Sauerstoff, Methan und Propan funktionierten nicht korrekt."
    ],
    "en": [
      "Feature: Support of Dynament refrigerant sensors for R32, R454B, and R454C.",
      "Feature: New virtual sensor for WiFi signal strength.",
      "Feature: GET /config now also returns the status of the air-Q access point if a client is directly connected to the air-Q.",
      "Feature: Support for the HDC3022 temperature and humidity sensor.",
      "Feature: The brightness sensor now uses its full dynamic range and can now also measure precisely in almost darkness.",
      "Feature: There is now a functionality for automatic firmware updates.",
      "Change: The fast Kalman filter for Radon concentration introduced in firmware 2.0.0 has bought the significantly faster reaction to ventilation by increased noise for low Radon concentrations. Now the Kalman filter reacts dynamically to the measured Radon concentration to ensure both fast reaction to ventilation and low noise at low Radon concentrations.",
      "Change: During firmware update, the checksum is now checked during download to avoid faulty downloads. In case of a faulty download, it will be retried multiple times to download the firmware again.",
      "Change: Asynchronous initialization of sensors to reduce device startup time.",
      "Change: Asynchronous reading of sensors to enable a measurement time of a few seconds even for devices with many sensors.",
      "Change: Fire alarm for particulate matter is now only given for PM1.0 rating, as desert particulate matter can cause false alarms especially in PM10 (in corresponding countries).",
      "Change: The current measurement range state of the electrochemical sensors is now provided in GET /config SensorInfo.",
      "Change: Load resistance and baseline concentration for EC Sense SO2 and H2S sensors adjusted, as they do not match the older SPEC SO2 and H2S sensors.",
      "Change: When playing individual alarms, the LEDs now blink in orange for two seconds to better localize the origin of the possibly arbitrarily appearing alarm.",
      "Change: Hotspot now opens in WPA2/WPA3 mixed mode to also allow connections via WPA3.",
      "Change: Deprecated setting keys 'AdvancedDataProcessing' and 'ErrorBars' have been removed.",
      "Bugfix: The API command to change the LED theme always had to contain both LED sides. Now only one side is sufficient, the other remains unchanged.",
      "Bugfix: For some setting keys like Altitude and NightMode, it was not checked whether the passed values had the correct format. Using the wrong format could lead to unexpected behavior.",
      "Bugfix: In very rare cases, faulty data transmission from the oxygen sensor was not detected, which led to error entries in the log.",
      "Bugfix: After triggering the shutdown command, the WiFi was not deactivated.",
      "Bugfix: The hotspot mode was set to performance instead of power saving, which led to an increased temperature of 3.7 °C when this mode was on (e.g. at night when WiFi router was off).",
      "Bugfix: If there were firmware files with a size of 0 bytes on the SD card, the air-Q ran into a bug that caused the device to not be able to complete the boot process.",
      "Bugfix: When a sensor calibration was set by the user, the calibration buffer on the SD card was not invalidated, which could lead to sudden jumps to low values during operation or immediately after booting.",
      "Bugfix: If no SD card was inserted, the web server returned on GET /dirbuff a '200 OK' and not a properly formatted JSON. Now it returns '404 not found' and an empty JSON object.",
      "Bugfix: If the SD card was removed and reinserted during operation, it led to a reboot of the device. Now the operation continues normally and the SD card is re-mounted.",
      "Bugfix: air-Q hotspot now starts its own DNS server to suppress the 'no internet' message. This does not work yet on Android version 10 and higher.",
      "Bugfix: 6 air-Q Radon devices produced with FW 2.0.4 had an incorrect temperature calibration value. This is corrected with this firmware update.",
      "Bugfix: LED themes for oxygen, methane, and propane did not work correctly."
    ]
  },
  "D_2.0.5": {
    "de": [
      "Bugfix: Wenn N2O, CH4 oder C3H8-Sensoren unter ihren Nullwert-Offset von 0.4 V fielen, wurden die resultierenden Werte trotzdem verarbeitet, wodurch ein immenser Offset aufgrund der automatischen Driftkompensation entstehen konnte. Nun werden Fehlermeldungen ausgegeben und die Daten nicht mehr verwendet."
    ],
    "en": [
      "Bugfix: When N2O, CH4, or C3H8 sensors fell below their zero-offset of 0.4 V, the resulting values were still processed, leading to a massive offset due to automatic drift compensation. Error messages are now issued, and the data is no longer used."
    ]
  },
  "D_2.0.4": {
    "de": [
      "Bugfix: Effizienz des Algorithmus zur Identifikation der noch zu komprimierenden Dateien auf der SD-Karte verbessert, um Responsivität des Gerätes auch in diesem Moment zu gewährleisten.",
      "Bugfix: Wenn die MQTT-Verbindung zur air-Q Cloud verloren ging, konnten nach Wiederherstellung der Verbindung keine Einstellungen über das Webinterface vorgenommen werden."
    ],
    "en": [
      "Bugfix: Improved efficiency of the algorithm to identify files to be compressed on the SD card to ensure device responsiveness even at this moment.",
      "Bugfix: When the MQTT connection to the air-Q cloud was lost, no settings could be made via the web interface after the connection was restored."
    ]
  },
  "D_2.0.3": {
    "de": [
      "Bugfix: In seltenen Fällen waren nach dem Firmware-Update von < 2.0.0 Dateien mit korrumpiertem Dateinamen im internen Dateisystem, was den Betrieb des Geräts beeinträchtigen konnte. Dies wird nun automatisch behoben."
    ],
    "en": [
      "Bugfix: In rare cases, files with corrupted filenames were present in the internal file system after the firmware update from < 2.0.0, which could affect the operation of the device. This is now automatically fixed."
    ]
  },
  "D_2.0.2": {
    "de": [
      "Bugfix: In manchen Fällen wurde ein Bug in der Lüftersteuerung ausgelöst, obwohl gar kein Lüfter verbaut ist."
    ],
    "en": [
      "Bugfix: In some cases, a bug in the fan control was triggered even though no fan was installed."
    ]
  },
  "D_2.0.1": {
    "de": [
      "Bugfix: Nachtmodus mit deaktiviertem WLAN funktionierte nicht.",
      "Bugfix: Für die Synchronisiation mit dem Zeitserver stand in einigen Fällen nicht genügend Speicher zur Verfügung.",
      "Bugfix: Die Hardware-Revision des Gerätes wurde nicht korrekt bestimmt."
    ],
    "en": [
      "Bugfix: Night mode with disabled WiFi did not work.",
      "Bugfix: In some cases, there was not enough memory available for synchronization with the time server.",
      "Bugfix: The hardware revision of the device was not determined correctly."
    ]
  },
  "D_2.0.0": {
    "de": [
      "Feature: Grundlegende Überarbeitung der Code-Basis. Dadurch wesentlich responsiver und stabiler im Betrieb.",
      "Feature: Neuer virtueller Sensor für Schimmelbildungsrisiko mit LED-Theme.",
      "Feature: Für benutzerdefiniertes MQTT und HTTP POST kann der Fehlerbalken nun weggelassen werden.",
      "Feature: VOC kann nun nach WELL- oder RESET-Gebäudestandard gemessen werden.",
      "Feature: Die Anzahl der offline gesammelten Datenblöcke, die beim Cloud-Upload im 2-Minuten-Takt hochgeladen werden, kann nun spezifiziert werden.",
      "Feature: WLAN unterstützt nun die Verbindung über WPA3.",
      "Feature: Gescheiterte Netzwerkverbindung aufgrund eines falschen Passworts wird nun durch mehrfaches Blinken aller LEDs in lila angezeigt.",
      "Feature: LED-Themen für den Helligkeits- und Formaldehydsensor.",
      "Feature: Für das Firmware-Update kann nun ein spezifischer Server angegeben werden.",
      "Feature: Für air-Q Science ist nun die Ausgabe in eine CSV-Datei direkt auf SD-Karte möglich.",
      "Feature: Versteckte WLAN SSIDs können nun auf der Gerätewebseite konfiguriert werden.",
      "Feature: JSON-Dateien zur Konfiguration auf der SD-Karte werden nun sehr viel resilienter gegenüber Benutzereingabefehlern geladen.",
      "Feature: Die Gerätewebseite hat nun einen zusätzlichen Menüpunkt, um benutzerspezifische Kommandos aus der Dokumentation direkt auszuführen.",
      "Feature: Die Gerätewebseite unterstützt nun auch Französisch und Spanisch.",
      "Feature: Passworteingabe auf der Gerätewebseite nun versteckt möglich und im Browser speicherbar.",
      "Feature: Diverse Einstellungsmöglichkeiten nun direkt über Gerätewebseite möglich.",
      "Feature: Abgeschlossene Dateien auf der SD-Karte werden nun in einen separaten Ordner .zlib zusätzlich komprimiert, um in einer späteren App-Version schnelleren Datendownload zu ermöglichen.",
      "Feature: Rückwirkend werden nach jeder erfolgreichen Komprimierung drei weitere historische Dateien auf der SD-Karte komprimiert, um letztendlich den kompletten gesammelten Datensatz beschleunigt herunterladen zu können.",
      "Feature: Neue Webserver Route /file_zlib, um komprimierte Dateien direkt herunterzuladen.",
      "Änderung: Verbesserung der Auswertung der PPB-Konzentration entsprechend Herstellerangaben für den Sensirion SGP40-VOC-Sensor.",
      "Änderung: Status-LED für Zustand 'nicht mit dem WLAN verbunden' nun für alle LED-Themes gleich in einem etwas rötlicherem Orange-Ton, damit es besser vom Orange des eingestellten Themes unterschieden werden kann.",
      "Änderung: Abgleich der Uhrzeit mit dem Zeitserver nur noch alle 24 Stunden, nicht mehr alle 6 Stunden.",
      "Änderung: Bereits ausgelieferte Geräte mit Radon-Sensor werden entsprechend unserer nun erfolgten zertifizierten Radon-Kalibrierung in ihren Kalibrierwerten angepasst, so dass sie der zertifizierten Kalibrierung entsprechen.",
      "Änderung: Der Kalman-Filter für die Berechnung der Radon-Konzentration wurde verbessert, um die Reaktionszeit auf Lüften deutlich zu erhöhen.",
      "Änderung: Limitierung der minimalen Messwert-Updaterate auf 2 Sekunden, um der fixen Sample-Rate des Sensirion SGP40-Algorithmus zu entsprechen.",
      "Bugfix: WLANs, die mit BSSID gespeichert wurden, konnten nicht offen (ohne Passwort) konfiguriert werden.",
      "Bugfix: Erhöhte LED-Helligkeit im Alarmfall nur dann, wenn Feuer- oder Gasalarm aktiviert ist.",
      "Bugfix: Molare Masse von CH4S war falsch.",
      "Bugfix: Error-Check beim Setzen der Einstellungen über config.json auf der SD-Karte ging schief, wenn der Schlüssel IgnorePMFanError gesetzt wurde.",
      "Bugfix: Offene WLAN-Netzwerke konnten nicht über die Gerätewebseite konfiguriert werden.",
      "Bugfix: Gesundheitsindex-Wert von CH2O und NH3 erreichte nie 100 %, selbst bei Konzentration von 0 µg/m³.",
      "Bugfix: Verbindung zur air-Q Cloud auch unter schwierigen Netzwerkbedingungen stabiler.",
      "Bugfix: Fehlerfortpflanzung im Moving-Average korrigiert: Größtfehler der Einzelmessungen werden nun arithmetisch gemittelt statt per RMS-Berechnung, sodass der Grenzfehler des Mittelwerts normgerecht angegeben wird.",
      "Bugfix: Bei mehreren LED-Themen wurden die LEDs nicht entsprechend der Beschreibung des Themas geschaltet, sondern ein wenig versetzt."
    ],
    "en": [
      "Feature: Fundamental overhaul of code base. This makes it much more responsive and stable in operation.",
      "Feature: New virtual sensor for mold formation risk with LED theme.",
      "Feature: For custom MQTT and HTTP POST, error bars can now be omitted.",
      "Feature: VOC can now be measured according to WELL or RESET building standard.",
      "Feature: The number of offline data blocks transmitted for cloud upload every 2 minutes can now be specified.",
      "Feature: WiFi now supports connection via WPA3.",
      "Feature: Failed network connection due to wrong password is now indicated by flashing all LEDs in violet.",
      "Feature: LED theme for brightness and formaldehyde sensor.",
      "Feature: For firmware update, a specific server can now be specified.",
      "Feature: For air-Q Science, output to a CSV file directly on SD card is now possible.",
      "Feature: Hidden WLAN SSIDs can now be configured on device web page.",
      "Feature: JSON files for configuration on SD card are now much more resilient to user input errors.",
      "Feature: Device web page now has an additional menu item to execute user-specific commands from the documentation directly.",
      "Feature: Device web page now also supports French and Spanish.",
      "Feature: Password input on device web page now possible hidden and storable in browser.",
      "Feature: Various settings can now be made directly via device web page.",
      "Feature: Completed files on SD card are now additionally compressed into a separate folder .zlib to allow faster data download in a later app version.",
      "Feature: Retroactively, after each successful compression, three more historical files on the SD card are compressed to ultimately allow accelerated download of the complete collected data set.",
      "Feature: New web server route /file_zlib to download compressed files directly.",
      "Change: Improved evaluation of PPB concentration according to manufacturer specifications for Sensirion SGP40 VOC sensor.",
      "Change: Status LED for 'not connected to WiFi' now for all LED themes in a slightly redder orange tone, so that it can be better distinguished from the orange of the set theme.",
      "Change: Time synchronization with time server only every 24 hours, no longer every 6 hours.",
      "Change: Already delivered devices with Radon sensor are adjusted in their calibration values according to our now certified Radon calibration, so that they correspond to the certified calibration.",
      "Change: The Kalman filter for calculating Radon concentration has been improved to significantly increase the reaction time to ventilation.",
      "Change: Limitation of the minimum measurement value update rate to 2 seconds to match the fixed sample rate of the Sensirion SGP40 algorithm.",
      "Bugfix: WiFi networks saved with BSSID could not be configured open (without password).",
      "Bugfix: Increased LED brightness only in case of alarm when fire or gas alarm is activated.",
      "Bugfix: Molar mass of CH4S was wrong.",
      "Bugfix: Error check when setting settings via config.json on SD card failed if the key IgnorePMFanError was set.",
      "Bugfix: Open WiFi networks could not be configured via device web page.",
      "Bugfix: Health rating of H2S and NH3 never reached 100 %, even at zero concentration.",
      "Bugfix: Connection to air-Q cloud more stable even under difficult network conditions.",
      "Bugfix: Error propagation in moving average corrected: Largest error of individual measurements are now averaged arithmetically instead of by RMS calculation, so that the limit error of the mean value is specified according to standard.",
      "Bugfix: In case of multiple LED themes, the LEDs were not switched according to the description of the theme, but a little offset."
    ]
  }
}