Hueplusplus Versions Save

A simple C++ library to control Philips Hue lights on Linux, MacOS, Windows, Espressif ESP32 SDK and Arduino. Full documentation at

v1.1.0

2 years ago

Changes

  • #72 Remove certificate parsing in entertainment mode, because it can cause issues on older versions

Bugfixes

  • #73 Fix HttpHandler requests on windows

v1.0.0

3 years ago

Changes

  • Support on/off plugs and other light types
  • Add contribution guide
  • Support transactions to change multiple properties at once
  • Support groups, scenes, schedules, rules and sensors
  • Changed folder structure (hueplusplus->src, hueplusplus/include -> include/hueplusplus)
  • Support searching for new devices
  • Support shared cache or separate cache per object
  • Support entertainment mode, includes mbedTLS library as a submodule for this purpose
  • Add examples and documentation pages with more explanations

Breaking Changes

  • Library is in namespace hueplusplus
  • Rename classes:
    • Hue -> hueplusplus::Bridge
    • HueFinder -> hueplusplus::BridgeFinder
    • HueFinder::HueIdentification -> hueplusplus::BridgeFinder::BridgeIdentification
    • HueLight -> hueplusplus::Light
  • Move light access methods
    • bridge.getLight(id) -> bridge.lights().get(id) (also return type changed from HueLight& to hueplusplus::Light (by value))
    • bridge.getAllLights() -> bridge.lights().getAll() (also return type changed from std::vector<std::reference_wrapper<HueLight>> to std::vector<hueplusplus::Light>)
    • bridge.removeLight(id) -> bridge.lights().remove(id)
    • bridge.lightExists(id) -> bridge.lights().exists(id)
  • Use structs for colors
    • light.setColorHueSaturation(hue, sat) -> light.setColorHueSaturation(hueplusplus::HueSaturation{hue, sat}) (or light.setColorHueSaturation({hue, sat}))
    • light.setColorXY(x,y) -> light.setColorXY(hueplusplus::XYBrightness{{x,y},bri}) (or light.setColorXY({{x,y},bri}))
    • also affected: light.getColorHueSaturation(), light.getColorXY(), light.setColorRGB(), light.alertHueSaturation(), light.alertXY()
  • Remove light.alertRGB(), use light.alertXY() or light.alertHueSaturation() instead and convert RGB first
  • Move bridge.getPictureOfModel(model_id) to ModelPictures.h as a free function, remove bridge.getPictureOfLight(id). Get modelid from light instead
  • Move kelvinToMired(), miredToKelvin() from HueLight to ColorUnits.h as a free function
  • Rename all functions to lowercase
    • light.on(), light.off(), bridgeFinder.addUsername(), bridgeFinder.getBridge(), bridgeFinder.findBridges(), hueplusplus::BridgeFinder::normalizeMac(), kelvinToMired(), miredToKelvin()

Bugfixes

  • #50 Hue.cpp does not compile on Raspberry Pi (Debian Linux I think)
  • #57 Add Philip LCA003 and LCB001 and issues with color conversion