Skip to content

1.3.0

Choose a tag to compare

@TexhFex TexhFex released this 28 Sep 12:01
· 14 commits to main since this release
dc1c2b0

Highlights

  • Typed commands. Register callbacks with the value type you pick in the HydroNode app: onBool, onInt32, onUInt32, onInt64, onUInt64, onString. Hex like 0x20124 works for the integer types.
  • Declines with a reason. A command without a matching callback, with another type or with a value that does not fit is declined (NO_HANDLER, TYPE_MISMATCH, INVALID_VALUE) instead of confirmed, and never runs. The apps show why.
  • Fewer dependencies. HMAC-SHA256 and Base64 now use the mbedTLS built into the ESP32 core. Crypto and base64_arduino are no longer needed.
  • ArduinoJson 7 without deprecation warnings; responses up to 8 KB (the backend's maximum of 8 commands).
  • Input checks before sending. ERR_INVALID_TYPE (-4) for types like temperature, ERR_INVALID_VALUE (-5) for NaN or infinity. No TLS handshake is spent on them.
  • Default host hydronode.tech. hydronode.texhfexlabs.de stays reachable, devices in the field keep working.

Compatibility

  • Sketches from 1.2.0 compile unchanged: on() and bindCallback still work.
  • Requires the current HydroNode backend (already live).

Docs

  • Rate limit is one value per sensor and type every 10 s; different types can be sent right after each other.
  • 400 and 503 documented, free usage with up to 20 sensors, pump run-time clamp in ActuatorControl.

Verified

  • All examples compile for ESP32, ESP32-C3 and ESP32-S3 without warnings from the library.
  • The unchanged library code ran on the host against a local HydroNode backend: signed uploads, per-type rate limit, and typed commands confirmed or declined exactly as expected.
  • TLS 1.2 chain against hydronode.tech verified with the bundled root CAs.