thehookup / holiday_leds_2.0 Goto Github PK
View Code? Open in Web Editor NEWTested and 100% working, this new version is easier to setup and can support 6 zones dynamically
Tested and 100% working, this new version is easier to setup and can support 6 zones dynamically
I did not found the [MQTT_CLIENT_ID]/ColorPower in the sketch,
but command_topic: "HolidayLightsMCU/ColorPower" on the configurations.yaml
Thanks
First off, thank you so much for sharing your projects! I recently purchased ws2812b for the front of my house thanks to you and your links. I have them up and originally ran them using WLED by aircookie as I didn't have Hassio yet. Last week I received my raspberry pi, setup Hassio, and my lights are now running off your program and I love it!! When originally deciding whether to get lights like Dr Zzs or strip lights like yours, I remember you saying with strip lights you can get them to look more traditional or do neat effects so I went the strip light way. My wife would really like more traditional look for christmas and so I was wondering if it would be possible for you to add a program where you have 1 Led on then the next off? For example it would look like this and just repeat; Red, off, White, off, Green, Off, . . . No blinking or anything, just constantly on as described.
Thanks again for all your time and expertise.
in Holiday_LEDs_2.0/Quick Reference Sheet.pdf in the pros for SK6812
your LEDs can microcontroller can share power
but this is bad gramer. I think it was supposed to say
your LEDs and microcontroller can share power
I am using the LED locator effect and this happens. It also happens on some of the other effects but not the solid ones like rainbow or fill solid
Not sure why this is happening. I am using ESP8266 v 2.4.2
8 -> Attempting MQTT connection...connected
00:28:59.034 -> BOOT = false
00:29:00.033 -> Attempting MQTT connection...connected
00:29:00.033 -> BOOT = false
00:29:01.041 -> Attempting MQTT connection...connected
00:29:01.076 -> BOOT = false
00:29:02.090 -> Attempting MQTT connection...connected
When I check the logs on HASS I see this
1575179802: Client lockettLights has exceeded timeout, disconnecting.
1575179822: New connection from {{IP}} on port 1883.
1575179822: New client connected from {{IP}} as lockettLights (p2, c1, k15, u'lockett').
1575179845: Client lockettLights has exceeded timeout, disconnecting.
1575179845: New connection from {{IP}} on port 1883.
1575179845: New client connected from {{IP}} as lockettLights (p2, c1, k15, u'lockett').
When I try and turn on any of the lights for testing the toggle turns off immediately.
Any help would be great!
Would you be open to making the LED type a variable instead of hard-coded WS2812B? It took me a little bit to figure out why my WS2811 strings were working, but not well, until I realized I hadn't seen the LED type defined at the top. Doing a quick find and replace isn't a big deal, just one more thing I need to remember to do!
Not sure if you would like issues opened so you can do the modifications or if you would accept a pull requests for these types of things.
Edit: So this doesn't seem to be my issue after all but might still be nice to have.
Shouldn't the sensor state_topic be: "[MQTT_CLIENT_ID]/locator" instead of "LightMCU/locator"?
i am trying to source a quality 24V Pixel strip option in RGBW, with low voltage and larger projects, My clients are ok with the wider Pixel pitch of 24V (typically 6 LED per Channel), the higher wattage allows for a reduction in the number of power supplies of Class 2 rating. if anyone has any input please let me know.
Hello,
I'm not sure where to post this but I'm prototyping the setup while I wait for my SK6812 lights
to come in. Can you give me an idea of what I would hook the clock pin up to? Labeled CI and CO.... which I assume are Clock In and Clock Out.
When I first added the esp8266 code into the Arduino IDE I was able to compile the code and successfully upload it to the esp8266. I tried compiling it a second time without making any changes and got a compile error... Any ideas?
Arduino: 1.8.10 (Mac OS X), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"
In file included from /Users/me/Documents/Arduino/holiday_lights/holiday_lights.ino:7:0:
/Users/me/Documents/Arduino/libraries/FastLED-master/FastLED.h:14:21: note: #pragma message: FastLED version 3.003.002
# pragma message "FastLED version 3.003.002"
^
In file included from /Users/me/Documents/Arduino/libraries/FastLED-master/FastLED.h:65:0,
from /Users/me/Documents/Arduino/holiday_lights/holiday_lights.ino:7:
/Users/me/Documents/Arduino/libraries/FastLED-master/fastspi.h:130:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output
# pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"
^
/Users/me/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/2.5.0-4-b40a506/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld: libraries/FastLED-master/bitswap.cpp.o: in function `transpose8x1_noinline(unsigned char*, unsigned char*)':
Multiple libraries were found for "FastLED.h"
Used: /Users/me/Documents/Arduino/libraries/FastLED-master
Multiple libraries were found for "SimpleTimer.h"
Used: /Users/me/Documents/Arduino/libraries/Simple-Timer-Library-master
Multiple libraries were found for "PubSubClient.h"
Used: /Users/me/Documents/Arduino/libraries/pubsubclient-master
Multiple libraries were found for "ESP8266WiFi.h"
Used: /Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/ESP8266WiFi
Multiple libraries were found for "ESP8266mDNS.h"
Used: /Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/ESP8266mDNS
Multiple libraries were found for "ArduinoOTA.h"
Used: /Users/me/Library/Arduino15/packages/esp8266/hardware/esp8266/2.6.3/libraries/ArduinoOTA
/Users/me/Documents/Arduino/libraries/FastLED-master/bitswap.cpp:11: multiple definition of `transpose8x1_noinline(unsigned char*, unsigned char*)'; libraries/FastLED-master/bitswap 2.cpp.o:/Users/me/Documents/Arduino/libraries/FastLED-master/bitswap 2.cpp:11: first defined here
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
I used your previous house code and loved it. Ive just moved to this version and the code is much easier to configure. Im trying my best not to modify it too much as I would like to update it when you release newer versions with animations etc.
Im struggling with the BeatsPerMinute configuration and how to satisfy the if statements:
void BPM_firstZone()
{
if((red1*2) > (green1 + blue1))
{
CRGBPalette16 palette_firstZone = LavaColors_p;
uint8_t beat = beatsin16( BeatsPerMinute, 64, 255);
for( int i = 0; i < FIRSTZONE_LEDS; i++)
{
firstZone[i] = ColorFromPalette(palette_firstZone, gHue+(i*2), beat-gHue+(i*10));
}
}
if((green1*2) > (red1 + blue1))
{
CRGBPalette16 palette_firstZone = ForestColors_p;
uint8_t beat = beatsin16( BeatsPerMinute, 64, 255);
for( int i = 0; i < FIRSTZONE_LEDS; i++)
{
firstZone[i] = ColorFromPalette(palette_firstZone, gHue+(i*2), beat-gHue+(i*10));
}
}
if((blue1*2) > (green1 + red1))
{
CRGBPalette16 palette_firstZone = CloudColors_p;
uint8_t beat = beatsin16( BeatsPerMinute, 64, 255);
for( int i = 0; i < FIRSTZONE_LEDS; i++)
{
firstZone[i] = ColorFromPalette(palette_firstZone, gHue+(i*2), beat-gHue+(i*10));
}
}
if((blue1*2) == (green1 + red1))
{
CRGBPalette16 palette_firstZone = PartyColors_p;
uint8_t beat = beatsin16( BeatsPerMinute, 64, 255);
for( int i = 0; i < FIRSTZONE_LEDS; i++)
{
firstZone[i] = ColorFromPalette(palette_firstZone, gHue+(i*2), beat-gHue+(i*10));
}
}
}
Could you please explain to me what combination of colours would be needed to get to say... PartyColors?
Love your Work & Videos
Living this work from you. The amount of customization through home assistant is great. I'm trying to get the spooky eyes going correctly and have a test strip of 60 LEDs right now. I was paying with the w setting but they seem to be going way too fast. If I put the w at the highest, I get no eyes. Even one stop lower I get a ton of eyes changing constantly and don't really look like eyes.
Hey there I love your videos and your shopping lists. This year we splurged and we set it up. So while 3 colors worked great for Thanksgiving, for Christmas my wife would like there to be 5 colors available, mainly so we can do Green, Red, White, Orange, Blue. Right now having just Green Red and White on there my wife says it looks like we're supporting a foreign country :). I'm looking at the code for this and I see where you declare the section starts and the red1, green1, blue1 so I see I would have to add sections for colors 4 and 5. However while I typically don't have an issue picking up something and running with it I just don't have enough know how at this time to go in here and just start taking your work and modifying it. Adding the additional colors to HA easy, adding them to this I'm a little lost.
I am using a Wemos D1 Mini and needed to change your default 5 to 2 for my board. its not a big deal but if someone watching needs to do so they have to leave the "user config section" which makes updated much harder
Holiday Lights 1.0 are running like a charm on three NodeMCUs, Update through OTA is working.
An initial Update of the HL2.0 sketch to my NodeMCUs (ESP8266MOD) via OTA is working.
While trying to change the HL2.0 sketch and update it again via OTA , i receive the error message "No Answer to our Authentication".
Update without OTA-authentication results in "No answer".
After some digging it seems that the new sketch consumes more memory space as HL1.0 resulting in too little free memory for OTA to flash?
It would be great to get individual zone control for the effects, to enable different zones to have different effects.
A global control too would be amazing.
Allow all to use one effect, or individual effects.
With some of the modes, I get random LEDs flashing. I don't have glitter or lightning enabled. where can I look for more info on this issue? DrZs code that I came from does not so its a difference with yours and his.
Hi,
Referencing your power consumption chart here, I am getting drastically different results.
Test
Results
Results are for the entire stripe, 150 LEDs @ 100% brightness, power injection only at the beginning
If I add power injection from both ends to compensate for the voltage drop, I see all channels consume ~40 watts.
Why are my results so different than yours? My numbers seem to be about exactly 2x yours for WS2812b.
Adding the option of a static IP will allow the ESP to boot much quicker.
Suggestion to add in the below line of code into the setup_wifi section for the WiFi Hostname:
WiFi.hostname(USER_MQTT_CLIENT_NAME);
void setup_wifi()
{
// We start by connecting to a WiFi network
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.hostname(USER_MQTT_CLIENT_NAME);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
This will mean a human readable device name will appear in your router instead of ESP_
If I set "ZONEONE_SECTION1_END_FIRE" to 0 I get a compile error. Maybe I just don't understand this var. I only want a fire at the peaks of my roof, not the bottoms.
#if FIRSTZONE_SECTIONS >= 1
#define ZONEONE_SECTION1_START 1 //starting LED for this zone
#define ZONEONE_SECTION1_END 50 //ending LED for this zone
#define ZONEONE_SECTION1_START_FIRE 1 //would you like fire to begin from this point? 0 = no 1 = yes
#define ZONEONE_SECTION1_END_FIRE 1 //would you like fire to begin from this point? 0 = no 1 = yes
#endif
If you only have one zone then the LED locator goes up to 500 by default.
Ideally the calculateMax() method would be updated to set maxLEDs to FIRSTZONE_LEDS in this scenario.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.