Skip to content

Commit

Permalink
make bpm settable via mqtt
Browse files Browse the repository at this point in the history
  • Loading branch information
CWempe committed Sep 2, 2017
1 parent 24387c7 commit 3516635
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 3 deletions.
7 changes: 7 additions & 0 deletions SuperLEDstrip.ino
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,11 @@ bool lightSceneHandler(const HomieRange& range, const String& value) {
return true;
}

bool lightTempoHandler(const HomieRange& range, const String& value) {
setTempo(value.toInt());
return true;
}



bool lightOnHandler(const HomieRange& range, const String& value) {
Expand Down Expand Up @@ -151,9 +156,11 @@ void setup(void)
lightNode.advertise("on").settable(lightOnHandler);
lightNode.advertise("brightness").settable(lightBrightnessHandler);
lightNode.advertise("scene").settable(lightSceneHandler);
lightNode.advertise("tempo").settable(lightTempoHandler);
Homie.setGlobalInputHandler(globalInputHandler);
Homie.setup();

setTempo(BeatsPerMinute);
NextionSetup();
setTextTitle();
delay(1000);
Expand Down
5 changes: 5 additions & 0 deletions led_functions.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ void setBrightness(uint8_t newBrightness)
lightNode.setProperty("brightness").send(String(currentBrightness));
}

void setTempo(uint8_t tempo) {
BeatsPerMinute = tempo;
lightNode.setProperty("tempo").send(String(BeatsPerMinute));
}

// toggle brightness between 0 and current
void toggleBrightness()
{
Expand Down
1 change: 0 additions & 1 deletion led_patterns.h
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,6 @@ void rainbow()
void bpm()
{
// colored stripes pulsing at a defined Beats-Per-Minute (BPM)
uint8_t BeatsPerMinute = 80;
CRGBPalette16 palette = PartyColors_p;
uint8_t beat = beatsin8( BeatsPerMinute, 64, 255);
for( int i = 0; i < NUM_LEDS; i++) { //9948
Expand Down
5 changes: 3 additions & 2 deletions openhab/superledstrip.items
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ Number sLED_signal "Signal [%d %%]" <signal> { mqtt="<[mosquitto:homie/5ccf7
Number sLED_uptime "Uptime [%d s]" <clock> { mqtt="<[mosquitto:homie/5ccf7f15b638/$stats/uptime:state:default]"}


Switch sLED_light "Light" <light> { mqtt="<[mosquitto:homie/5ccf7f15b638/light/on:state:ON:true], <[mosquitto:homie/5ccf7f15b638/light/on:state:OFF:false], >[mosquitto:homie/5ccf7f15b638/light/on/set:command:ON:true], >[mosquitto:homie/5ccf7f15b638/light/on/set:command:OFF:false]" }
Dimmer sLED_brightness "Brightness [%d]" <light> { mqtt="<[mosquitto:homie/5ccf7f15b638/light/brightness:state:default], >[mosquitto:homie/5ccf7f15b638/light/brightness/set:command:*:default]" }
Switch sLED_light "Light" <light> { mqtt="<[mosquitto:homie/5ccf7f15b638/light/on:state:ON:true], <[mosquitto:homie/5ccf7f15b638/light/on:state:OFF:false], >[mosquitto:homie/5ccf7f15b638/light/on/set:command:ON:true], >[mosquitto:homie/5ccf7f15b638/light/on/set:command:OFF:false]" }
Dimmer sLED_brightness "Brightness [%d]" <slider> { mqtt="<[mosquitto:homie/5ccf7f15b638/light/brightness:state:default], >[mosquitto:homie/5ccf7f15b638/light/brightness/set:command:*:default]" }
Number sLED_scene "Scene" <colorwheel> { mqtt="<[mosquitto:homie/5ccf7f15b638/light/scene:state:default], >[mosquitto:homie/5ccf7f15b638/light/scene/set:command:*:default]" }
Number sLED_tempo "Tempo [%d bpm]" <chart> { mqtt="<[mosquitto:homie/5ccf7f15b638/light/tempo:state:default], >[mosquitto:homie/5ccf7f15b638/light/tempo/set:command:*:default]" }

Number sLED_temp "Temperatur [%.1f °C]" <temperature> { mqtt="<[mosquitto:homie/5ccf7f15b638/temperature/degrees:state:default]"}
Number sLED_humid "Humidity [%.1f %%]" <humidity> { mqtt="<[mosquitto:homie/5ccf7f15b638/humidity/percentage:state:default]"}
1 change: 1 addition & 0 deletions openhab/superledstrip.sitemap
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ sitemap superledstrip label="SuperLEDstrip"
506='magenta',
507='cyan',
508='yellow' ]
Setpoint item=sLED_tempo minValue=0 maxValue=255
Text item=sLED_temp
Text item=sLED_humid
}
Expand Down
Binary file modified photos/openhab_sitemap.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 3516635

Please sign in to comment.