Skip to content
This repository has been archived by the owner on Jul 18, 2024. It is now read-only.

Releases: mxkmn/EspOpenWeatherMap

v2.0.0

25 Aug 06:33
Compare
Choose a tag to compare

Crashes on ESP8266 with secure connection were finally fixed. The solution works by replacing the status strings with new functions, that take a status ID int-value as input and return a string-value.

Other changes:

  • Changed the names of variables to match the style of the C++ language, simplified work with the API key, units and functions. Look at example OWM_for_ESP_Test.ino and Notes.ino carefully to understand the new logic of the library.
  • New functions: getIconCode(), getShortStatus(), getStatus(), getStatus16(), setApiKey() and setUnits(). See their usage in the example.
  • New definitions: ENABLE_STRINGS, LANGUAGE, DEFAULT_UNITS. With ENABLE_STRINGS you can use cityName, countryCode and timezoneName strings. With LANGUAGE you can set your language for getShortStatus(), getStatus() and getStatus16(). With DEFAULT_UNITS you can set default units, which can be changed with setUnits().
  • Accelerated getting time for ESP8266 secure connection.
  • Logging is now provided through additional functions. It looks cleaner than before.
  • Merged equivalent code segments for ESP8266 and ESP32.
  • Some fixes and refactoring to improve code quality.

Version 2.0.0 confirmed the ease of use and fault tolerance. It is not planned to change the code structure or add new functions in the near future, so you can modify my library for yourself without fear that tomorrow all the code will be refactored and a lot of important features will appear.


More info about Out-of-memory crashes:
I followed the tips from this article, completely abandoned strings in favor of char[], abandoned structures in favor of regular variables, and even completely disabled the JSON_Decoder library. None of this helps: if your RAM is full of data, sooner or later client.connect() will crash the system. There is no solution to this problem, and its cause sits deep in the core.

v1.0.2

02 Jul 11:29
Compare
Choose a tag to compare
  • Logging is more understandable
  • Reworked URL creation scheme to send GETs faster
  • README files are extended to include useful information
  • Some fixes

v1.0.2.1 contains updated library.properties file, v1.0.2 has unupdated one

v1.0.1

25 Jun 17:34
Compare
Choose a tag to compare
  • Padding improvements for better readability
  • All const are capitalized
  • Added class constructor and new X509List initialization

Unfortunately, HTTPS crashes on ESP8266 didn't fixed with constructor and new X509List initialization

v1.0.0 - First release for users

17 Jun 10:47
Compare
Choose a tag to compare

Tested on Arduino IDE 1.8.13 with ESP8266 core v3.0.0 and ESP32 core v1.0.6.

Based on Bodmer's OpenWeather library, version 0.1.7. Contains these changes:

  • Full Current and One Call APIs support (without useless minutely and alerts in One Call API)
  • Individual function for Current .getCurrentWeather() and One Call .getFullWeather()
  • True secure (HTTPS) connection
  • Unsecure (HTTP) connection from OpenWeather v0.2.1
  • Default parameters for units, language and type
  • Deleted partial data set functionality
  • Extended example (OWM_for_ESP_Test.ino)
  • Deleted unused variables and functions
  • Combined repeating code
  • Tons of bugfixes and improvements

Secure mode on ESP8266 cause crashes. Fixed in v2.0.0.