# Example configuration for four ADJ VBar Pak fixtures daisy chained with XLR cables # DMX description: https://d295jznhem2tn9.cloudfront.net/ItemRelatedFiles/8659/vbar_pak.pdf # Fixture configuration set for DMX 8 channel mode # Note: for ESP8266 don't forget to also set "esp8266_restore_from_flash: true" in "esphome:" section uart: id: uart_bus baud_rate: 250000 tx_pin: number: GPIO2 #ESP8266 allow_other_uses: true # for ESPHome >= 2023.12.0 stop_bits: 2 dmx512: id: dmx uart_id: uart_bus tx_pin: number: GPIO2 #ESP8266 allow_other_uses: true # for ESPHome >= 2023.12.0 uart_num: 1 output: - platform: dmx512 channel: 1 universe: dmx id: vbar1_red - platform: dmx512 channel: 2 universe: dmx id: vbar1_green - platform: dmx512 channel: 3 universe: dmx id: vbar1_blue - platform: dmx512 channel: 4 universe: dmx id: vbar1_amber - platform: dmx512 channel: 5 universe: dmx id: vbar1_master - platform: dmx512 channel: 6 universe: dmx id: vbar1_effect_level - platform: dmx512 channel: 7 universe: dmx id: vbar1_effect_select - platform: dmx512 channel: 8 universe: dmx id: vbar1_effect_mode - platform: dmx512 channel: 9 universe: dmx id: vbar2_red - platform: dmx512 channel: 10 universe: dmx id: vbar2_green - platform: dmx512 channel: 11 universe: dmx id: vbar2_blue - platform: dmx512 channel: 12 universe: dmx id: vbar2_amber - platform: dmx512 channel: 13 universe: dmx id: vbar2_master - platform: dmx512 channel: 14 universe: dmx id: vbar2_effect_level - platform: dmx512 channel: 15 universe: dmx id: vbar2_effect_select - platform: dmx512 channel: 16 universe: dmx id: vbar2_effect_mode - platform: dmx512 channel: 17 universe: dmx id: vbar3_red - platform: dmx512 channel: 18 universe: dmx id: vbar3_green - platform: dmx512 channel: 19 universe: dmx id: vbar3_blue - platform: dmx512 channel: 20 universe: dmx id: vbar3_amber - platform: dmx512 channel: 21 universe: dmx id: vbar3_master - platform: dmx512 channel: 22 universe: dmx id: vbar3_effect_level - platform: dmx512 channel: 23 universe: dmx id: vbar3_effect_select - platform: dmx512 channel: 24 universe: dmx id: vbar3_effect_mode - platform: dmx512 channel: 25 universe: dmx id: vbar4_red - platform: dmx512 channel: 26 universe: dmx id: vbar4_green - platform: dmx512 channel: 27 universe: dmx id: vbar4_blue - platform: dmx512 channel: 28 universe: dmx id: vbar4_amber - platform: dmx512 channel: 29 universe: dmx id: vbar4_master - platform: dmx512 channel: 30 universe: dmx id: vbar4_effect_level - platform: dmx512 channel: 31 universe: dmx id: vbar4_effect_select - platform: dmx512 channel: 32 universe: dmx id: vbar4_effect_mode - platform: template id: vbar_groupdim type: float write_action: - lambda: |- id(vbar1_master).set_level(state); id(vbar2_master).set_level(state); id(vbar3_master).set_level(state); id(vbar4_master).set_level(state); number: - platform: template name: ${friendly_name} Effect Level icon: mdi:flower-pollen-outline id: vbar_effect_level_num optimistic: true min_value: 0 max_value: 255 step: 1 restore_value: true set_action: - lambda: |- id(vbar1_effect_level).set_level(x / 255); id(vbar2_effect_level).set_level(x / 255); id(vbar3_effect_level).set_level(x / 255); id(vbar4_effect_level).set_level(x / 255); select: - platform: template name: ${friendly_name} Effect optimistic: true restore_value: true icon: mdi:pan disabled_by_default: true id: vbar1_effect_select_dropdown options: - "None" - "Color Macro" - "Color Change" - "Color Fade" - "Sound Active" - "Strobing" set_action: - lambda: |- if (x.compare(std::string{"None"}) == 0) { id(vbar1_effect_select).set_level(0); id(vbar2_effect_select).set_level(0); id(vbar3_effect_select).set_level(0); id(vbar4_effect_select).set_level(0); auto call = id(vbar_effect_level_num).make_call(); call.set_value(0); call.perform(); } if (x.compare(std::string{"Strobing"}) == 0) { id(vbar1_effect_select).set_level(0.04); id(vbar2_effect_select).set_level(0.04); id(vbar3_effect_select).set_level(0.04); id(vbar4_effect_select).set_level(0.04); } if (x.compare(std::string{"Color Macro"}) == 0) { id(vbar1_effect_select).set_level(0.3); id(vbar2_effect_select).set_level(0.3); id(vbar3_effect_select).set_level(0.3); id(vbar4_effect_select).set_level(0.3); } if (x.compare(std::string{"Color Change"}) == 0) { id(vbar1_effect_select).set_level(0.5); id(vbar2_effect_select).set_level(0.5); id(vbar3_effect_select).set_level(0.5); id(vbar4_effect_select).set_level(0.5); } if (x.compare(std::string{"Color Fade"}) == 0) { id(vbar1_effect_select).set_level(0.66); id(vbar2_effect_select).set_level(0.66); id(vbar3_effect_select).set_level(0.66); id(vbar4_effect_select).set_level(0.66); } if (x.compare(std::string{"Sound Active"}) == 0) { id(vbar1_effect_select).set_level(0.9); id(vbar2_effect_select).set_level(0.9); id(vbar3_effect_select).set_level(0.9); id(vbar4_effect_select).set_level(0.9); auto call = id(vbar_effect_level_num).make_call(); call.set_value(200); call.perform(); } - platform: template name: ${friendly_name} Effect Mode icon: mdi:dots-hexagon optimistic: true restore_value: true id: vbar_effect_mode_dropdown options: - Change-Fade-Sound-1-Macro-OFF - Change-Fade-Sound-2-Macro-R - Change-Fade-Sound-3-Macro-G - Change-Fade-Sound-4-Macro-B - Change-Fade-Sound-5-Macro-A - Change-Fade-Sound-6-Macro-RG - Change-Fade-Sound-7-Macro-RB - Change-Fade-Sound-8-Macro-RA - Change-Fade-Sound-9-Macro-GB - Change-Fade-Sound-10-Macro-GA - Change-Fade-Sound-11-Macro-BA - Change-Fade-Sound-12-Macro-RGB - Change-Fade-Sound-13-Macro-RGA - Change-Fade-Sound-14-Macro-RBA - Change-Fade-Sound-15-Macro-GBA - Change-Fade-Sound-16-Macro-RGBA set_action: - lambda: |- if (x.compare(std::string{"Change-Fade-Sound-1-Macro-OFF"}) == 0) { id(vbar1_effect_mode).set_level(0.03); id(vbar2_effect_mode).set_level(0.03); id(vbar3_effect_mode).set_level(0.03); id(vbar4_effect_mode).set_level(0.03); } if (x.compare(std::string{"Change-Fade-Sound-2-Macro-R"}) == 0) { id(vbar1_effect_mode).set_level(0.09); id(vbar2_effect_mode).set_level(0.09); id(vbar3_effect_mode).set_level(0.09); id(vbar4_effect_mode).set_level(0.09); } if (x.compare(std::string{"Change-Fade-Sound-3-Macro-G"}) == 0) { id(vbar1_effect_mode).set_level(0.16); id(vbar2_effect_mode).set_level(0.16); id(vbar3_effect_mode).set_level(0.16); id(vbar4_effect_mode).set_level(0.16); } if (x.compare(std::string{"Change-Fade-Sound-4-Macro-B"}) == 0) { id(vbar1_effect_mode).set_level(0.22); id(vbar2_effect_mode).set_level(0.22); id(vbar3_effect_mode).set_level(0.22); id(vbar4_effect_mode).set_level(0.22); } if (x.compare(std::string{"Change-Fade-Sound-5-Macro-A"}) == 0) { id(vbar1_effect_mode).set_level(0.28); id(vbar2_effect_mode).set_level(0.28); id(vbar3_effect_mode).set_level(0.28); id(vbar4_effect_mode).set_level(0.28); } if (x.compare(std::string{"Change-Fade-Sound-6-Macro-RG"}) == 0) { id(vbar1_effect_mode).set_level(0.35); id(vbar2_effect_mode).set_level(0.35); id(vbar3_effect_mode).set_level(0.35); id(vbar4_effect_mode).set_level(0.35); } if (x.compare(std::string{"Change-Fade-Sound-7-Macro-RB"}) == 0) { id(vbar1_effect_mode).set_level(0.41); id(vbar2_effect_mode).set_level(0.41); id(vbar3_effect_mode).set_level(0.41); id(vbar4_effect_mode).set_level(0.41); } if (x.compare(std::string{"Change-Fade-Sound-8-Macro-RA"}) == 0) { id(vbar1_effect_mode).set_level(0.47); id(vbar2_effect_mode).set_level(0.47); id(vbar3_effect_mode).set_level(0.47); id(vbar4_effect_mode).set_level(0.47); } if (x.compare(std::string{"Change-Fade-Sound-9-Macro-GB"}) == 0) { id(vbar1_effect_mode).set_level(0.53); id(vbar2_effect_mode).set_level(0.53); id(vbar3_effect_mode).set_level(0.53); id(vbar4_effect_mode).set_level(0.53); } if (x.compare(std::string{"Change-Fade-Sound-10-Macro-GA"}) == 0) { id(vbar1_effect_mode).set_level(0.6); id(vbar2_effect_mode).set_level(0.6); id(vbar3_effect_mode).set_level(0.6); id(vbar4_effect_mode).set_level(0.6); } if (x.compare(std::string{"Change-Fade-Sound-11-Macro-BA"}) == 0) { id(vbar1_effect_mode).set_level(0.66); id(vbar2_effect_mode).set_level(0.66); id(vbar3_effect_mode).set_level(0.66); id(vbar4_effect_mode).set_level(0.66); } if (x.compare(std::string{"Change-Fade-Sound-12-Macro-RGB"}) == 0) { id(vbar1_effect_mode).set_level(0.72); id(vbar2_effect_mode).set_level(0.72); id(vbar3_effect_mode).set_level(0.72); id(vbar4_effect_mode).set_level(0.72); } if (x.compare(std::string{"Change-Fade-Sound-13-Macro-RGA"}) == 0) { id(vbar1_effect_mode).set_level(0.78); id(vbar2_effect_mode).set_level(0.78); id(vbar3_effect_mode).set_level(0.78); id(vbar4_effect_mode).set_level(0.78); } if (x.compare(std::string{"Change-Fade-Sound-14-Macro-RBA"}) == 0) { id(vbar1_effect_mode).set_level(0.85); id(vbar2_effect_mode).set_level(0.85); id(vbar3_effect_mode).set_level(0.85); id(vbar4_effect_mode).set_level(0.85); } if (x.compare(std::string{"Change-Fade-Sound-15-Macro-GBA"}) == 0) { id(vbar1_effect_mode).set_level(0.91); id(vbar2_effect_mode).set_level(0.91); id(vbar3_effect_mode).set_level(0.91); id(vbar4_effect_mode).set_level(0.91); } if (x.compare(std::string{"Change-Fade-Sound-16-Macro-RGBA"}) == 0) { id(vbar1_effect_mode).set_level(0.97); id(vbar2_effect_mode).set_level(0.97); id(vbar3_effect_mode).set_level(0.97); id(vbar4_effect_mode).set_level(0.97); } light: - platform: monochromatic name: ${friendly_name} Dimmer output: vbar_groupdim icon: mdi:blur default_transition_length: 1s gamma_correct: 0 restore_mode: RESTORE_DEFAULT_ON - platform: rgbw name: ${friendly_name} 1 id: dmx_bar_1 red: vbar1_red green: vbar1_green blue: vbar1_blue white: vbar1_amber icon: mdi:spotlight default_transition_length: 0.3s color_interlock: false gamma_correct: 0 restore_mode: RESTORE_DEFAULT_ON - platform: monochromatic name: ${friendly_name} 1 Dimmer output: vbar1_master icon: mdi:blur disabled_by_default: true default_transition_length: 2s gamma_correct: 0 restore_mode: RESTORE_DEFAULT_ON - platform: rgbw name: ${friendly_name} 2 id: dmx_bar_2 red: vbar2_red green: vbar2_green blue: vbar2_blue white: vbar2_amber icon: mdi:spotlight default_transition_length: 0.3s color_interlock: false gamma_correct: 0 restore_mode: RESTORE_DEFAULT_ON - platform: monochromatic name: ${friendly_name} 2 Dimmer output: vbar2_master icon: mdi:blur disabled_by_default: true default_transition_length: 2s gamma_correct: 0 restore_mode: RESTORE_DEFAULT_ON - platform: rgbw name: ${friendly_name} 3 id: dmx_bar_3 red: vbar3_red green: vbar3_green blue: vbar3_blue white: vbar3_amber icon: mdi:spotlight default_transition_length: 0.3s color_interlock: false gamma_correct: 0 restore_mode: RESTORE_DEFAULT_ON - platform: monochromatic name: ${friendly_name} 3 Dimmer output: vbar3_master icon: mdi:blur disabled_by_default: true default_transition_length: 2s gamma_correct: 0 restore_mode: RESTORE_DEFAULT_ON - platform: rgbw name: ${friendly_name} 4 id: dmx_bar_4 red: vbar4_red green: vbar4_green blue: vbar4_blue white: vbar4_amber icon: mdi:spotlight default_transition_length: 0.3s color_interlock: false gamma_correct: 0 restore_mode: RESTORE_DEFAULT_ON - platform: monochromatic name: ${friendly_name} 4 Dimmer output: vbar4_master icon: mdi:blur disabled_by_default: true default_transition_length: 2s gamma_correct: 0 restore_mode: RESTORE_DEFAULT_ON