Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LED Device Features, Fixes and Refactoring (Resubmit PR855) #875

Merged

Conversation

Lord-Grey
Copy link
Collaborator

Summary

Resubmission of PR #855 after merging with latest master.

Features, Fixes and Refactoring around LED Devices

Added

New Devices

  • Yeelight support incl. device discovery and setup-wizard
  • WLED as own device and pre-configuration

Additional device related capabilities

  • discover, getProperties, identify, store/restore state and power-on/off
    available for Philips-Hue, Nanoleaf, Yeelight, partially for Rs232 / USB (Hid)
  • New device capabilities are accessible via JSON-API
  • New REST-API wrapper class in support of network devices, e.g. Philips Hue, Nanoleaf and WLED
  • Flexible ssdp-Discovery incl. RegEx matching and filtering

Documentation

  • Process workflow for LED-Devices
  • Documentation of device classes & methods
  • Code template for new LED-Devices available

Changed

  • LED-Device workflow changed allowing proper suspend/resume & disable/enable scenarios
  • Network LED-Devices will stop sending packages when disabled
  • Rs232 Provider fully reworked and changed to synchronous writes
  • Rs232 configuration via portname and system location (/dev/ style), auto detection is not case-sensitive any longer
  • Additional error handling depending on device type
  • Add Windows compatibility incl. moving to Qt functions
  • Add compatibility for different Qt versions

Fixed

  • AtomOrb: Buffer length fix and new configuration validations
  • Added missing DMX SubTypes to configuration
  • Code clean-ups

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Code style update
  • Refactor
  • Docs
  • Build-related changes
  • Other, please describe:

If changing the UI of web configuration, please provide the before/after screenshot:

Does this PR introduce a breaking change? (check one)

  • Yes
  • No

If yes, please describe the impact and migration path for existing setups:

The PR fulfills these requirements:

  • When resolving a specific issue, it's referenced in the PR's body (e.g. Fixes: #xxx[,#xxx], where "xxx" is the issue number)

If adding a new feature, the PR's description includes:

  • A convincing reason for adding this feature
  • Related documents have been updated (docs/docs/en)
  • Related tests have been updated

To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.

Other information:

Resolves #755
Resolves #727
Resolves #859

Lord-Grey and others added 30 commits June 8, 2020 20:52
# Conflicts:
#	libsrc/leddevice/dev_net/LedDeviceNanoleaf.cpp
#	libsrc/leddevice/dev_net/LedDeviceNanoleaf.h
#	libsrc/leddevice/dev_spi/LedDeviceLpd8806.cpp
#	libsrc/leddevice/dev_spi/LedDeviceLpd8806.h
#	libsrc/leddevice/schemas/schema-nanoleaf.json
# Conflicts:
#	include/leddevice/LedDevice.h
#	include/ssdp/SSDPDiscover.h
#	libsrc/leddevice/LedDevice.cpp
#	libsrc/leddevice/dev_net/LedDeviceAtmoOrb.cpp
#	libsrc/leddevice/dev_net/LedDeviceAtmoOrb.h
#	libsrc/leddevice/dev_net/LedDeviceNanoleaf.cpp
#	libsrc/leddevice/dev_net/LedDevicePhilipsHue.cpp
#	libsrc/leddevice/dev_net/LedDeviceUdpH801.h
#	libsrc/leddevice/dev_net/ProviderUdp.cpp
#	libsrc/leddevice/dev_net/ProviderUdp.h
#	libsrc/leddevice/dev_other/LedDeviceFile.cpp
#	libsrc/leddevice/dev_other/LedDeviceFile.h
#	libsrc/leddevice/dev_serial/ProviderRs232.cpp
#	libsrc/ssdp/SSDPDiscover.cpp
#	libsrc/utils/RgbToRgbw.cpp
@hyperion-project
Copy link

Hello @Lord-Grey 👋

I'm your friendly neighborhood bot and would like to say thank you for
submitting a pull request to Hyperion!

So that you and other users can test your changes more quickly,
you can find your workflow artifacts here.

If you make changes to your PR, i create a new link to your workflow artifacts.

Best regards,
Hyperion-Project

@hyperion-project
Copy link

Here is your new link to your workflow artifacts.

@Paulchen-Panther Paulchen-Panther merged commit 7389068 into hyperion-project:master Jul 12, 2020
@juanesf juanesf mentioned this pull request Jul 23, 2020
1 task
@Lord-Grey Lord-Grey deleted the Refactor_LedDevices branch August 4, 2020 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants