diff --git a/package/1bar_1display.yaml b/package/1bar_1display.yaml new file mode 100644 index 0000000..6a21eef --- /dev/null +++ b/package/1bar_1display.yaml @@ -0,0 +1,161 @@ +############################################ +## ## +## filename: 1bar_1display.yaml ## +## description: Specific configuration ## +## for the 1 BAR 1 Display setup ## +## ## +############################################ + +packages: + base: !include base.yaml + +mcp23008: + - id: 'base_J2' + i2c_id: buttons + address: 0x22 + - id: 'base_J3' + i2c_id: buttons + address: 0x23 + +binary_sensor: + ############################ + ### Buttons Main Display ### + ############################ + - platform: gpio + id: 'base_j2_btn_left' + name: "Display button Left" + pin: + mcp23xxx: base_J2 + number: 6 + mode: INPUT_PULLUP + inverted: true + - platform: gpio + id: 'base_j2_btn_right' + name: "Display button Right" + pin: + mcp23xxx: base_J2 + number: 2 + mode: INPUT_PULLUP + inverted: true + + ############################ + ### Buttons BAR module 1 ### + ############################ + - platform: gpio + id: 'base_j3_btn_left' + name: "BAR button Left" + pin: + mcp23xxx: base_J3 + number: 6 + mode: INPUT_PULLUP + inverted: true + - platform: gpio + id: 'base_j3_btn_right' + name: "BAR button Right" + pin: + mcp23xxx: base_J3 + number: 2 + mode: INPUT_PULLUP + inverted: true + +light: + - id: !extend neopixels + num_leds: 5 + ############################ + ### RGB LED's BAR module ### + ############################ + - platform: partition + name: "BAR J3 Left RGB Front" + id: bar_j3_left_rgb_front + segments: + - id: neopixels + from: 0 + to: 0 + - platform: partition + name: "BAR J3 Left RGB Back" + id: bar_j3_left_rgb_back + segments: + - id: neopixels + from: 1 + to: 1 + - platform: partition + name: "BAR J3 Right RGB Front" + id: bar_j3_right_rgb_front + segments: + - id: neopixels + from: 2 + to: 2 + - platform: partition + name: "BAR J3 Right RGB Back" + id: bar_j3_right_rgb_back + segments: + - id: neopixels + from: 3 + to: 3 + +display: + #################### + ### Main Display ### + #################### + - id: display_j2_main + platform: ili9xxx + model: ili9341 + invert_colors: false + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J2 + number: 5 + mode: + output: true + inverted: false + update_interval: 200ms + show_test_card: false + dimensions: + height: 240 + width: 320 + rotation: 180 + ################## + ### BAR module ### + ################## + - id: display_j3_Left + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J3 + number: 5 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 270 + update_interval: 1s + - id: display_j3_Right + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J3 + number: 1 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 90 + update_interval: 1s diff --git a/package/2bar_1display.yaml b/package/2bar_1display.yaml new file mode 100644 index 0000000..77474a3 --- /dev/null +++ b/package/2bar_1display.yaml @@ -0,0 +1,258 @@ +############################################ +## ## +## filename: 2bar_1display.yaml ## +## description: Specific configuration ## +## for the 2 BAR's, 1 Display setup ## +## ## +############################################ + +packages: + base: !include base.yaml + +mcp23008: + - id: 'base_J1' + i2c_id: buttons + address: 0x21 + - id: 'base_J2' + i2c_id: buttons + address: 0x22 + - id: 'base_J3' + i2c_id: buttons + address: 0x23 + +binary_sensor: + ############################ + ### Buttons Main Display ### + ############################ + - platform: gpio + id: 'base_j1_btn_left' + name: "Display button Left" + pin: + mcp23xxx: base_J1 + number: 6 + mode: INPUT_PULLUP + inverted: true + - platform: gpio + id: 'base_j1_btn_right' + name: "Display button Right" + pin: + mcp23xxx: base_J1 + number: 2 + mode: INPUT_PULLUP + inverted: true + + ############################ + ### Buttons BAR module 1 ### + ############################ + - platform: gpio + id: 'base_j2_btn_left' + name: "BAR 1 button Left" + pin: + mcp23xxx: base_J2 + number: 6 + mode: INPUT_PULLUP + inverted: true + - platform: gpio + id: 'base_j2_btn_right' + name: "BAR 1 button Right" + pin: + mcp23xxx: base_J2 + number: 2 + mode: INPUT_PULLUP + inverted: true + + ############################ + ### Buttons BAR module 2 ### + ############################ + - platform: gpio + id: 'base_j3_btn_left' + name: "BAR 2 button Left" + pin: + mcp23xxx: base_J3 + number: 6 + mode: INPUT_PULLUP + inverted: true + - platform: gpio + id: 'base_j3_btn_right' + name: "BAR 2 button Right" + pin: + mcp23xxx: base_J3 + number: 2 + mode: INPUT_PULLUP + inverted: true + +light: + - id: !extend neopixels + num_leds: 9 + ############################## + ### RGB LED's BAR module 1 ### + ############################## + - platform: partition + name: "BAR 1 Left RGB Front" + id: bar_1_left_rgb_front + segments: + - id: neopixels + from: 0 + to: 0 + - platform: partition + name: "BAR 1 Left RGB Back" + id: bar_1_left_rgb_back + segments: + - id: neopixels + from: 1 + to: 1 + - platform: partition + name: "BAR 1 Right RGB Front" + id: bar_1_right_rgb_front + segments: + - id: neopixels + from: 2 + to: 2 + - platform: partition + name: "BAR 1 Right RGB Back" + id: bar_1_right_rgb_back + segments: + - id: neopixels + from: 3 + to: 3 + ############################## + ### RGB LED's BAR module 2 ### + ############################## + - platform: partition + name: "BAR 2 Left RGB Front" + id: bar_2_left_rgb_front + segments: + - id: neopixels + from: 4 + to: 4 + - platform: partition + name: "BAR 2 Left RGB Back" + id: bar_2_left_rgb_back + segments: + - id: neopixels + from: 5 + to: 5 + - platform: partition + name: "BAR 2 Right RGB Front" + id: bar_2_right_rgb_front + segments: + - id: neopixels + from: 6 + to: 6 + - platform: partition + name: "BAR 2 Right RGB Back" + id: bar_2_right_rgb_back + segments: + - id: neopixels + from: 7 + to: 7 + +display: + #################### + ### Main Display ### + #################### + - id: display_j1_main + platform: ili9xxx + model: ili9341 + invert_colors: false + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J1 + number: 5 + mode: + output: true + inverted: false + update_interval: 200ms + show_test_card: false + dimensions: + height: 240 + width: 320 + rotation: 180 + #################### + ### BAR module 1 ### + #################### + - id: display_j2_Left + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J2 + number: 5 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 270 + update_interval: 1s + - id: display_j2_Right + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J2 + number: 1 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 90 + update_interval: 1s + #################### + ### BAR module 2 ### + #################### + - id: display_j3_Left + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J3 + number: 5 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 270 + update_interval: 1s + - id: display_j3_Right + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J3 + number: 1 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 90 + update_interval: 1s diff --git a/package/3bar_1display.yaml b/package/3bar_1display.yaml new file mode 100644 index 0000000..5298b80 --- /dev/null +++ b/package/3bar_1display.yaml @@ -0,0 +1,355 @@ +############################################ +## ## +## filename: 3bar_1display.yaml ## +## description: Specific configuration ## +## for the 3 BAR's, 1 Display setup ## +## ## +############################################ + +packages: + base: !include base.yaml + +mcp23008: + - id: 'base_J0' + i2c_id: buttons + address: 0x20 + - id: 'base_J1' + i2c_id: buttons + address: 0x21 + - id: 'base_J2' + i2c_id: buttons + address: 0x22 + - id: 'base_J3' + i2c_id: buttons + address: 0x23 + +binary_sensor: + ############################ + ### Buttons Main Display ### + ############################ + - platform: gpio + id: 'base_j0_btn_left' + name: "Display button Left" + pin: + mcp23xxx: base_J0 + number: 6 + mode: INPUT_PULLUP + inverted: true + - platform: gpio + id: 'base_j0_btn_right' + name: "Display button Right" + pin: + mcp23xxx: base_J0 + number: 2 + mode: INPUT_PULLUP + inverted: true + + ############################ + ### Buttons BAR module 1 ### + ############################ + - platform: gpio + id: 'base_j1_btn_left' + name: "BAR 1 button Left" + pin: + mcp23xxx: base_J1 + number: 6 + mode: INPUT_PULLUP + inverted: true + - platform: gpio + id: 'base_j1_btn_right' + name: "BAR 1 button Right" + pin: + mcp23xxx: base_J1 + number: 2 + mode: INPUT_PULLUP + inverted: true + + ############################ + ### Buttons BAR module 2 ### + ############################ + - platform: gpio + id: 'base_j2_btn_left' + name: "BAR 2 button Left" + pin: + mcp23xxx: base_J2 + number: 6 + mode: INPUT_PULLUP + inverted: true + - platform: gpio + id: 'base_j2_btn_right' + name: "BAR 2 button Right" + pin: + mcp23xxx: base_J2 + number: 2 + mode: INPUT_PULLUP + inverted: true + + ############################ + ### Buttons BAR module 3 ### + ############################ + - platform: gpio + id: 'base_j3_btn_left' + name: "BAR 3 button Left" + pin: + mcp23xxx: base_J3 + number: 6 + mode: INPUT_PULLUP + inverted: true + - platform: gpio + id: 'base_j3_btn_right' + name: "BAR 3 button Right" + pin: + mcp23xxx: base_J3 + number: 2 + mode: INPUT_PULLUP + inverted: true + +light: + - id: !extend neopixels + num_leds: 13 + ############################## + ### RGB LED's BAR module 1 ### + ############################## + - platform: partition + name: "BAR 1 Left RGB Front" + id: bar_1_left_rgb_front + segments: + - id: neopixels + from: 0 + to: 0 + - platform: partition + name: "BAR 1 Left RGB Back" + id: bar_1_left_rgb_back + segments: + - id: neopixels + from: 1 + to: 1 + - platform: partition + name: "BAR 1 Right RGB Front" + id: bar_1_right_rgb_front + segments: + - id: neopixels + from: 2 + to: 2 + - platform: partition + name: "BAR 1 Right RGB Back" + id: bar_1_right_rgb_back + segments: + - id: neopixels + from: 3 + to: 3 + ############################## + ### RGB LED's BAR module 2 ### + ############################## + - platform: partition + name: "BAR 2 Left RGB Front" + id: bar_2_left_rgb_front + segments: + - id: neopixels + from: 4 + to: 4 + - platform: partition + name: "BAR 2 Left RGB Back" + id: bar_2_left_rgb_back + segments: + - id: neopixels + from: 5 + to: 5 + - platform: partition + name: "BAR 2 Right RGB Front" + id: bar_2_right_rgb_front + segments: + - id: neopixels + from: 6 + to: 6 + - platform: partition + name: "BAR 2 Right RGB Back" + id: bar_2_right_rgb_back + segments: + - id: neopixels + from: 7 + to: 7 + ############################## + ### RGB LED's BAR module 3 ### + ############################## + - platform: partition + name: "BAR 3 Left RGB Front" + id: bar_3_left_rgb_front + segments: + - id: neopixels + from: 8 + to: 8 + - platform: partition + name: "BAR 3 Left RGB Back" + id: bar_3_left_rgb_back + segments: + - id: neopixels + from: 9 + to: 9 + - platform: partition + name: "BAR 3 Right RGB Front" + id: bar_3_right_rgb_front + segments: + - id: neopixels + from: 10 + to: 10 + - platform: partition + name: "BAR 3 Right RGB Back" + id: bar_3_right_rgb_back + segments: + - id: neopixels + from: 11 + to: 11 + +display: + #################### + ### Main Display ### + #################### + - id: display_j0_main + platform: ili9xxx + model: ili9341 + invert_colors: false + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J0 + number: 5 + mode: + output: true + inverted: false + update_interval: 200ms + show_test_card: false + dimensions: + height: 240 + width: 320 + rotation: 180 + #################### + ### BAR module 1 ### + #################### + - id: display_j1_Left + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J1 + number: 5 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 270 + update_interval: 1s + - id: display_j1_Right + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J1 + number: 1 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 90 + update_interval: 1s + #################### + ### BAR module 2 ### + #################### + - id: display_j2_Left + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J2 + number: 5 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 270 + update_interval: 1s + - id: display_j2_Right + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J2 + number: 1 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 90 + update_interval: 1s + #################### + ### BAR module 3 ### + #################### + - id: display_j3_Left + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J3 + number: 5 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 270 + update_interval: 1s + - id: display_j3_Right + platform: ili9xxx + model: ST7735 + dc_pin: + number: GPIO37 + allow_other_uses: true + cs_pin: + mcp23xxx: base_J3 + number: 1 + mode: + output: true + inverted: false + invert_colors: false + show_test_card: false + dimensions: + height: 160 + width: 80 + offset_width: 24 + rotation: 90 + update_interval: 1s diff --git a/package/base.yaml b/package/base.yaml new file mode 100644 index 0000000..ec37b3b --- /dev/null +++ b/package/base.yaml @@ -0,0 +1,63 @@ +########################################### +## ## +## filename: base.yaml ## +## description: contains configuration ## +## that will be the same for all the ## +## possible configurations ## +## ## +########################################### + +i2c: + - id: temperature_sensor + sda: GPIO1 + scl: GPIO2 + scan: true + - id: buttons + sda: GPIO47 + scl: GPIO48 + scan: true + frequency: 200khz + +spi: + clk_pin: GPIO36 + mosi_pin: GPIO35 + +output: + - platform: ledc + pin: GPIO46 + id: displays_mini_backlight_pwm + inverted: True + - platform: ledc + pin: GPIO3 + id: display_main_backlight_pwm + inverted: True + +sensor: + - platform: sts3x + id: inside_temperature + i2c_id: temperature_sensor + name: "Temperature" + address: 0x4A + update_interval: 10s + +light: + - platform: neopixelbus + id: neopixels + type: RGB + variant: WS2812 + pin: GPIO4 + num_leds: 17 + - platform: monochromatic + output: displays_mini_backlight_pwm + name: "Mini Display Backlight" + id: displays_mini_backlight + restore_mode: ALWAYS_ON + - platform: monochromatic + output: display_main_backlight_pwm + name: "Main Display Backlight" + id: display_main_backlight + restore_mode: ALWAYS_ON + +time: + - platform: homeassistant + id: datetime