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

LEDDevices - WLED enhancements and minor fixes #1204

Merged
merged 14 commits into from
Mar 19, 2021

Conversation

Lord-Grey
Copy link
Collaborator

Summary

Added

Changed

  • Nanoleaf: Consider Nanoleaf-Shape Controlers
  • LED-Devices: Show HW-Ledcount in all setting levels

Fixed

  • LED-Hue: Minor fix of setColor command
  • Nanoleaf: Fix,if external control mode cannot be set

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

PLEASE DON'T FORGET TO ADD YOUR CHANGES TO CHANGELOG.MD

  • Yes, CHANGELOG.md is also 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:

Fixes #1101, #1095

@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

@schwatter
Copy link

@Lord-Grey

I compiled new with the last changes for WLED. The bri in LedDeviceWled.cpp is fixed at 255.

const int BRI_MAX = 255;

I use most of the time just half bri around 120-150. So i changed it. I think, the best would be some inputbox to set the value.

cheers schwatter

@Lord-Grey
Copy link
Collaborator Author

Lord-Grey commented Apr 2, 2021

@schwatter Thanks for the feedback. I will consider it.
I only set it per default to full brightness, as there were complaints before that WLED triggered by Hyperion was not using the full range of brightness....

What configuration scenarios are required from your perspective?
a) Overwrite WLED brightness when start streaming yes/no (default=yes)
b) Set maximum WLED brightness to x (255 is default)
c) both above
d) something else/in addition...

Thank you.

@Lord-Grey
Copy link
Collaborator Author

@schwatter Please see the last update to PR #1164 . I made the brightness setting/overwrite configurable for WELD.
Please have a look, if it works as expected.

image

@schwatter
Copy link

schwatter commented Apr 2, 2021

Wow, fast response :)
Compiled and work as aspected.

Indeed, i think another setup must be added. In Enigmalight, i send the following cmd's to interact with WLED.

def wledOn(self): .... r = http.request('GET', 'http://' + ip + '/win&T=1&RD=1&SN=0&RN=0')
def wledOff(self): .... r = http.request('GET', 'http://' + ip + '/win&T=0&RD=1&SN=1&RN=1')
&T= | 0, 1, or 2 | Master Off/On/Toggle
&RD= | 0 or 1 | Toggle realtime UDP
&SN= | 0 or 1 | Send UDP Notifications
&RN= | 0 or 1 | Receive UDP Notifications

Say, we have more then one WLED-Device and all are syned in one group. We start with all lights off. Now we want just the main device behind tv to act for ambilight and switch it on. Because of sync (UDP Notifications )the rest from the group will also switch on.

I ask aircoookie for enhancement in a time i was new at all of this stuff, but the way i described here is a better way. (Pclin gave me that hint).

Here is my question:
Aircoookie/WLED#1641

Cheers schwatter

@Lord-Grey
Copy link
Collaborator Author

Lord-Grey commented Apr 2, 2021

@schwatter Do get you right that for your standard WLED setup you habe a group that syncs themselves using an WLED feature.
Now, you would like to break the group temporarily when streaming to the TV WLED device via Hyperion... When stopping streaming, I expect you would like to restore the state before streaming. Is my understanding correct?
If you would have only Hyperion, you could have multiple instances...

PS: The PR does include some additional features when configuring the device and layout. You might want to have a look too. I am always interested in feedback. Objective is to make things easier and get to a working setup quickly.

@schwatter
Copy link

Yes, you understand me right. Breaking the group, that the right words.
I know that hyperion can handle multiple instances. But that is not the point.
Say you have some open room (kitchen, dining room, living room) and you want only activate the living room lights for
ambilight. In this case i would be good to set the ambilights to &SN=0&RN=0, so that they can not make trouble.

@Lord-Grey
Copy link
Collaborator Author

Lord-Grey commented Apr 2, 2021

Let me have a look any try myself.
The complexity Start when I power off the device and need to restore the previous state of notifications, but not restoring the light state...

@Lord-Grey
Copy link
Collaborator Author

@schwatter Have a look at PR #1164.
I have implemented the ability to disable WLED synchronization when streaming via hyperion (and restoring the state when disabling the device via remote control or stopping hyperion)

image

Please test and report back.
You can easily test the behaviour, if you disable/enable the WLED device via the Remonte Control.
Just toggle the switch.

image

If you want to monitor the WLED's, state just put

http://wled-ip/json/state

into the browser and check for "udpn":{"send":false,"recv":true}

@schwatter
Copy link

Sorry,

was busy the last days with other stuff. Now fresh compiled and tested.
Great improvement, it works as designed. Time for merge.

cheers schwatter

@Lord-Grey Lord-Grey deleted the LEDDevices branch November 20, 2021 16:46
EliteScientist pushed a commit to EliteScientist/hyperion.ng that referenced this pull request Dec 24, 2022
* Yeelight minor updates

* Add Timeout to REST API

* LEDDevice - Correct storeState

* Add WaitTime function

* Always show HW-LEDCount for configuration

* WLED - New features ("live" support, storing state and identification)

* Yeelight - Refactoring

* Cololight - Refactoring

* Karate - getProperties Support

* Atmo - getProperties Support

* AtmoOrb - refactoring

* Nanoleaf - Refactoring, New "Shapes" considerations

* PhilipHue - Minor corrections

* Update Changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Uses WLED brightness settings instead of full range set in Hyperion settings
2 participants