parkerjfl / JellyfishLightingAPIExplorer

This repo contains and API Explorer app, source code, and documentation for the Jellyfish Lighting API
23 stars 2 forks source link

Making Jelly Fish lights pulse to music #3

Open jonrecknagel opened 2 years ago

jonrecknagel commented 2 years ago

Hello All,

I am curious about anyone's ideas on how to integrate the source code into a third-party application that will cause the lights to pulse to the beat/rhythm of the music. Many Christmas light shows will have an AM/FM transmitter for individuals to tune their radio into so the music you are hearing will match the pulsing of the lights you are watching. Any ideas here? I spoke with two sales reps of Jelly Fish and they said this is "in the works" but had no idea on timeline.

Thanks! Jon

jonrecknagel commented 2 years ago

Could this type of interaction work? Or something similar? https://github.com/hrishi1234/Music-reactive-LED-using-Arduino/blob/master/Music_Reactive_RGB_Led.ino

dotchance commented 2 years ago

In theory this shouldn't be that hard. Its just JSON to the controller. That said, the JSON is terrible and not consistent. Further, sending the wrong JSON format will hard lock up your controller (physical unplug and replug required).

Note that I am just a customer and have been playing with the API as documented here (they put it up at my request I think). The author of the API doesn't answer anything here and they seemed to have abandon everything. There are also numerous errors in the documentation.

I am in the (slow) process of writing a python connector to the API (and eventually a container) and you are welcome to use and contribute to the code in my repo: https://github.com/dotchance/jellyroll

jonrecknagel commented 2 years ago

Thanks for the reply dotchance!
I am getting the system installed in a few weeks and will be working on this integration. I am going to see if I can get some help from some colleagues to help push this through as well. I will be sure to check out your repo, thanks for sharing!

vinenoobjelly commented 2 years ago

@dotchance @jonrecknagel I'm very sorry I never thought to look here after this was made. I'm not the one who wrote it but they don't work for us anymore. If there is anything I can do please let me know and I will do my best to get back to you. I didn't think that there had been any activity going on here.

Sorry for the long wait, Jonathan from JellyFish Lighting

jonrecknagel commented 2 years ago

Any chance you can get us in contact with the original developer/s?

I spoke with a receptionist on the phone a few days ago and got the following updates from her:

I also informed her of the very slick link the Philips Smart Hue bulbs have with Spotify. You link your Philips hue app to your Spotify app and then when playing music via Spotify my Philips Hue Smart bulbs pulse to the beat/rhythm.

A lot of these are items are just in the pipeline though. With no end in sight. It would be great to get some dates established or have a discussion with the developers.

Thank you, Jon

vinenoobjelly commented 2 years ago

I am one of the primary developers for JellyFish. While I didn't write this particular program, I am familiar with the API and upcoming features.

If you need anything more I'll do my best to answer and help. I've started up my own personal python api wrapper the other night. I'll see about uploading that and keeping that updated.

dotchance commented 2 years ago

@vinenoobjelly / @jonrecknagel

Great to see that someone is looking at this code and replying. It may spark me to actually keep working on integrating into my home automation and building an integration into homeassistant.

Note that there are a couple of issues (https://github.com/parkerjfl/JellyfishLightingAPIExplorer/issues) that I opened that someone should look into (one involves crashing the controller).

I started my own python wrapper for for the API, but stopped due to a number of issues in the API. Now that someone is responding I will file more bugs. My wrapper is at: https://github.com/dotchance/jellyroll its ugly, but it works for what I needed at the time -- happy to integrate that with whatever wrapper you have @vinenoobjelly . My goal, was to provide a simple CLI to control things, then from there build a small container to bring into homeassistant.

Glad to hear about the upcoming additions to the product capabilities.

vinenoobjelly commented 2 years ago

Python API wrapper is up at https://github.com/vinenoobjelly/jellyfishlights-py. Not complete, but it can do some things

Littleaton commented 2 years ago

Thanks for the info. I am glad to hear some new stuff is coming. It's been getting stale, and sad to see the neighbors with Trimlights have all this stuff already. Any possibilities of getting on lists to test for beta / etc.?

I am one of the primary developers for JellyFish. While I didn't write this particular program, I am familiar with the API and upcoming features.

  • Cloud and Alexa are very close to being released via a few alpha/betas. I imagine we would have full cloud by no later than the end of February (hopefully a little sooner) for sure.
  • Music with the lights is something I want to do, but not super high on the priority list
  • We SHOULD be releasing an update to the app in the next few weeks

If you need anything more I'll do my best to answer and help. I've started up my own personal python api wrapper the other night. I'll see about uploading that and keeping that updated.

Synse commented 2 years ago

Any possibilities of getting on lists to test for beta / etc.?

:heavy_plus_sign: to this.

Until then, our system was installed this week so I wrote a simple fauxmo plugin (emulates a Belkin WeMo switch that can be controlled by Alexa) to support turning lights on/off.

It only supports a single zone and the currently active pattern right now but multiple zones and setting the pattern would be easy to implement. The usage would be complicated and un-natural as you'd have to configure a new fauxmo device for each pattern you'd like to control and say "Alexa turn on JellyFish Christmas" or "Alexa turn on JellyFish Halloween". A proper Alexa skill would allow for custom commands like "Alexa tell JellyFish to set Christmas Winter Green on All Lights".

https://github.com/Synse/fauxmo-jellyfish

vinenoobjelly commented 2 years ago

Yes it is possible to get on the beta list. Email me at jonathann@jellyfishlighting.com with your email and name. I'll make sure to get you on the list/inform you when it is available.

smikkelsen commented 2 years ago

Hi @vinenoobjelly thanks for responding here. Still no word on the cloud update eh?

Its not documented here, but surely there is a way to create and delete zones? My problem is that too much depends on the way a zone was created. For example I've got a peak and i'd like to create a zone on the left side of the peak with direction going toward the top, and another zone on the right side of the peak with direction also going toward the top. With those zones, i can make lights running from both sides toward the top for example. This would be a cool animation for certain things i'd like to do. But... it messes up stuff if I want to just do a plain old set of colors running around the whole house. So then I have to delete the zones just to run a normal set of lights. Ultimately I wish you guys would fix this another way by allowing groups of zones that can be saved and recalled later for example. I sent a list of suggestions to David Steed like a year ago and he said he'd pass them on, but I'm a software engineer, I know how product roadmaps look :(

In any case, If I can handle this on my own by programmatically deleting and recreating saved configurations for zones, that would be really helpful. Any help on an api command for creating/deleting zones would be amazing. Thanks

vinenoobjelly commented 2 years ago

@smikkelsen I have created an issue in this repo with some examples of how to work with zones. If you have any questions feel free to ask, it likely isn't a perfect explanation

Benjoutjz commented 2 years ago

@vinenoobjelly any chance you are working on getting the controller to work with xlights for Christmas/Halloween light shows? I know that I could by pass the jellyfish control with a raspberry pi and falcon picap, but it would be nice if the controller just connected into xlights

usingapc commented 2 years ago

Anyone have a way to integrate Jellyfish Lighting with Home Assistant yet? @dotchance I know you referenced that you were working towards that. Did you make any progress? Thanks!

Synse commented 2 years ago

Anyone have a way to integrate Jellyfish Lighting with Home Assistant yet? @dotchance I know you referenced that you were working towards that. Did you make any progress? Thanks!

I haven't tested with Home Assistant since I'm directly turning the emulated light on/off from Alexa but in theory you could use the HA WeMo integration with https://github.com/Synse/fauxmo-jellyfish

Synse commented 1 year ago

Yes it is possible to get on the beta list. Email me at jonathann@jellyfishlighting.com with your email and name. I'll make sure to get you on the list/inform you when it is available.

I'm not sure if it's limited to those in the beta but I updated to the 3.1.4 firmware and the latest JellyFish Cloud Android app (1.1.2) today and the Alexa integration is now available. :tada:

I set it up earlier today and it's working well so far.

https://www.amazon.com/gp/product/B0C1GKWFFY

I wish there was a way to configure a default zone for playing a pattern (so the front of the house turns on but not the back) but hopefully they'll iterate on that in the future.

vinenoobjelly commented 1 year ago

@Synse I see you found that! We put the skill out for easier app beta testing but I'm not complaining if you got on "manually". Let me tell you what is coming soon/is in beta now (we are looking at full release likely within a month)

Linking to Alexa from the app, just a little bit easier than going to the skills store for Alexa

Automation Lights, which may be something of a solution to your wish. You create a name for the AL, select a pattern, and select the zones you want to play. After saving, it will shortly appear in your Alexa as its own device! While this may not be perfect for what you want, it hopefully gets you a little closer. As a note, right now we limit to 4 Automation Lights to per controller

Synse commented 1 year ago

Linking to Alexa from the app, just a little bit easier than going to the skills store for Alexa

This is actually the route I went, much smoother than what I've seen from other Alexa Skills.

Automation Lights, which may be something of a solution to your wish. You create a name for the AL, select a pattern, and select the zones you want to play. After saving, it will shortly appear in your Alexa as its own device! While this may not be perfect for what you want, it hopefully gets you a little closer. As a note, right now we limit to 4 Automation Lights to per controller

Thank you for explaining these. I noticed them but wasn't sure what they did--this makes a lot of sense.