Beiträge von Lord-Grey

    The database is a MySQL one. So you can open and manipulate it with related tools. The config elements are stored in JSON. You should find the dB under the user‘s home directory in „.hyperion/db“.


    We are currently looking creating the selection list dynamically from available devices, but that may take a while...

    @Paul Barden "but even with hyperion disabled adalight is always connected to the wled instance. When I override the instance I have no ability to power off the light. Do you also have this experience or have you moved back to UDP"


    You might want to look at LED Device Features, Fixes and Refactoring development item.
    It does care that network devices incl. UDP will not seed updates when the device is disabled.
    Furthermore, there is now a dedicated WLED device which leverage on the above, as well uses the WLED API to switch-off/on the WLED via it's API.


    Hopefully, the changes on the hyperion/WLED integration & user experience will improve the situation you outlined.
    Furthermore, it is planned to discover WLED devices to ease configuration, but a WLED change is pending for supporting this scenario.
    You may want to test the development version or wait until changes make it to a release.

    @Lumumba76


    "Aber welche ist nun die erste LED, wenn ich Klassisches Layout baue?"


    Die erste LED ist immer die ganz oben links ist (bei richtiger Ausrichtung des Controllers).
    Die LEDs bei Nanoleaf werden aktuell immer von links nach rechts und oben nach unten durchnummeriert.


    Siehe folgendes Schema:




    "Ist es auch möglich nur einen Teil der Canvas als Ambilight zu nutzen / anzusteuern?"


    Ja, aber nur den Teil von LED Nr. 0 bis zu Nr. n (mit n <= Panelanzahl)
    Du kannst im Led Layout einfach weniger LEDs angeben. Die restlichen LEDs werden dann "schwarz" gesetzt.
    Aktuell gibt es keine Möglichkeit die Panels frei auszuwählen. Dafür müsse eine Change/Feature Request auf GitHub erstellt werden.


    "Und wie schalte ich Hyperion aus und wieder an?"


    Du kannst hyperion über das UI ausschalten (Dashboard), per hyperion-remote oder per API call.
    Die LedDevices kannst Du einzeln auch über das UI ausschalten (Remote Control/Fernsteuerung), per hyperion-remote oder per API call.

    Kannst Du bitte mal mehr Infos zu Deinem installierten hyperion System teilen?


    -> In the web interface of the Hyperion config go to System > About Hyperion and Paste the content of "System info (Github Issue)" here


    plus, welche Firmware hat Dein Canvas?
    Am besten schalte in hyperion den Debug-Mode ein und poste die Loglines hier, nachdem Du es neu gestartest hast.


    Zusatzfrage: Könntest Du ein hyperion-ng selbst kompilieren? Dann würde ich Dir sagen, was Du anpassen musst, um mehr Information zur Fehlersuche zu erhalten.


    "Hin und wieder springen die nanoleaf auch einfach auf irgendwelche Szenen."


    Bist Du sicher, dass nicht noch ein anderes Programm (ggf. auch zweites hyperion oder zweite Instanz) Befehle an Dein nanoleaf schicken?
    Ich hatte schon mal den Fall, dass ich auf meinem rpi und auf einem anderen Rechner hyperion mit nanoleaf laufen hatten.
    Dann kommt es zu "komischen" Effekten, da bei Nanoleaf aktualisieren.


    "Ich habe nun schon viele Varianten durch und keine brachte den erwünschten Effekt."
    Als Hintergrund... das liegt daran, dass ich die Canvas Squares von oben nach unten und von rechts nach links sortiere und entsprechend durchnummeriere.
    Die Position der einzelnen Panels liefert der Nanoleaf Controller.

    @schmidtjr


    Zitat

    1. rewriteTime -> can't be configured via hyperion.ng WebUI, or did I miss it somewhere?
    2. hardwareLedCount -> can't be configured via hyperion.ng WebUI, or did I miss it somewhere?


    Please change the "Settings level" to "Expert". Then you should be able to see both configuration elements.
    You can find "settings level" via the most right icon at the top of the hyperion web-UI.


    Zitat

    What's configuration export supposed to do? It only exports the configuration of the currently selected instance. Is this the desired behavior? That's not what I was expecting behind this functionality. (keep in mind, I have 3 instances configured, but in the previously attached config you see only one instance)


    I would suggest you capture this as a change request, that it is considered as part of the development backlog.


    https://github.com/hyperion-project/hyperion.ng/issues


    Kind regards.

    Hi


    a) "udp output is defined to be always sending messages even if there are no changes in the image"


    That is because you configured "rewriteTime": 5000 on the device
    Which means that every 5 seconds the last color is written, if there is no update to the device in between.


    Set the rewriteTime = 0


    Note: with PR 785 the rewrite time will not be configurable for network-devices going forward preventing that one runs into this scenario.


    b) You have 54 Leds in your Layout, but only 1 in the LedController. if you have 54 leds you should have that matching, i.e. Hardware LED count = 54


    For everything else, I tested with your You-Tube Video (via hyperions screen share capability) and have the output send to a "File" device and I cannot see any anything else than "Black" is written.
    So either there is a problem on the input or on the other end of the UDP- Stream.


    Beside that I would suggest you clean-up a) and b) anyway.

    No worries....


    Good to hear that you got a working solution for yourself.


    Nevertheless, in case you would like to polish up your coding skills or learn more C++,
    you are very welcome to contribute while your Lifx shines in the background ;)

    Would you mind sharing the log, please.
    The device button normally get „off“ state, if the devices gets in error.
    You may even run Hyperion with debug on, to have more details on the log.Thank you!

    b) ok. Seems no ssdp, but you might still have a look at the file I linked. It will give you a quick start on sending the broadcast and handle the responses. You „only“ have to cater for the payload.
    On separate note, I am currently planning addIng a general discover method to the LedDevice. So this one could be a good case to fill it with life :).


    „I've found today this git today“


    That looks promising. You get lots of definitions and the endianess for free...


    For the socket and other stuff, please stay with the Qt-framework.

    @Daouid Hi, great to see you joining in getting more devices up to speed with hyperion.


    " have not coded for 15 years and would definitely need some help to move forward."
    Coding is like riding a bicycle, so do not worry about that.
    Let me give you some pointers, food for thought (as I started similar lately with a Nanoleaf device).


    As you are developing for a network device, there is no need to do the coding or testing on a raspberry pi (unless you prefer).
    I am for example running an ubuntu 19.10 in a virtual machine to leverage the horse power of the underlying PC.
    As development environment, I am using QtCreator which nicely fits with the QT framework hyperion is using. I know others using MSVC.
    You can either run hyperion from QtCreator or compile via commandline (./bin/create_all_releases.sh).
    I normally go for commandline, but for debugging use QtCreator.
    In addition, I am using SmartGit to work with GitHub....


    I had a quick lock at the LIFX LAN-API.


    a) Given that the protocol is UDP based, you may want to check inheriting your class from ProviderUDP (similar to LedDeviceUdpArtNet).
    Then you do not need to cover the socket handling stuff, yourself.


    b) Detecting devices requires a UDP broadcast. I do not got from teh documentation quickly, if they mean ssdp discovery or pure broadcast.
    Nevertheless, it may be worth you have a look at SSDPDiscover.cpp. It is an updated version in my repository (with PR outstanding).
    It allows to do ssdp broadcasts flexible to different ports. If not ssdp, the code may provide some guidance how to deal with UDP responses (see discoverServices).


    To see, if LIFX respond to ssdp calls, you may want to check what is out there:

    Code
    SSDP_PORT=56700;
    SSDPDiscover discover;
    discover.setPort(SSDP_PORT);
    QMap<QString, SSDPService> services = discover.getServices();


    c) After you got the general "writes" running, I would suggest that you also override the switch-on and switch-off functions.
    Historically many devices write a continuous stream of Black to "simulate" the off state.
    This is of course a bad idea for network devices. As Lifx has an api function to turn on or off, I suggest you make use of it here.
    You may have a look at the Yeelight or Nanoleaf device for reference.


    d) I am currently adding support for Yeelights. They are not UDP, but TCP.
    Nevertheless, the commits in my repository may provide you an idea what files require changing.
    If not clear what is relevant, just ping me.


    https://github.com/Lord-Grey/hyperion.ng/commits/Yeelight


    Hoping that I provided you additional input for a good start...


    In case of further questions, do not hesitate coming back to me.


    Enjoy coding (again).

    @MSpedy


    I just wanted to give you two options:


    1. Either you continue with the Hyperion-NG Yeelight Bridge (see link 1 above),
    but there you need to amend the configurator.py to add 'color4', 'stripe' to the modelslist array to have Bulb 1S and/or Stripe v2 running.
    i.e. modelsList = ['color', 'color1', 'color2', 'strip1', 'color4', 'stripe']


    2. If you are able to compile hyperion.ng yourself, you can try Hyperion.n Yeelight native support (without Yeelight Bridge) which is under development.
    The development version is not yet officially available. That is why you would need compiling yourself using my repository (see instructions link 2 above).


    Hoping that clarifies.

    Hey


    the number of packages should not be the problem. The lights will only be updated every 200ms which means 5 times/second (5Hz).


    Code
    [hyperiond LEDDEVICE] <DEBUG> <LedDevice.cpp:237:setLatchTime()> LatchTime updated to 200ms


    Per API definition 10Hz should be ok, but maybe we are hitting here an edge case given that we issue two commands every 200ms.
    I do not have a Hue myself, but it also may be that depending on the quality of the bridge/light connection those updates go not through in the expected SLA and therefore the error occurs.
    Changing the latch-time would currently mean a code change (every light configured gets 100ms to stay at max10Hz).


    To cut a long story short. Philips is now offering a new API (Entertainment API) which overcomes the 10 Hz limitation.
    As per your log-file, your Bridge is supporting the API.


    @SJunkies has already a PR592 in development, which seems to be quite mature already.
    I would recommend you wait until the PR is integrated in the master repository or give it a try to compile SJunkie's version yourself.


    It is worth trying before buying a new bridge.... :)

    Hi


    according to Philip's Hue documentation this is an internal error in the bridge:
    "901 Internal error, <error code> This will be returned if there is an internal error in the processing of the command. This indicates an error in the bridge, not in the message being sent."


    Following questions:

    • Does the error occur always, selectively?


    • Are you on the latest firmware of the bridge?
    • Would you mind sharing a full log in Debug mode?
    • Would you be able to compile hyperion.ng yourself with modified code?