diff --git a/dev-boneio-gen2-32x10_lights_v0_1.yaml b/dev-boneio-gen2-32x10_lights_v0_1.yaml new file mode 100644 index 0000000..b3093b0 --- /dev/null +++ b/dev-boneio-gen2-32x10_lights_v0_1.yaml @@ -0,0 +1,1008 @@ +substitutions: + name: boneio-gen2-32-l-01 + friendly_name: 'BoneIO ESP Gen2 32x10 Lights' + serial_prefix: 'esp2' #Don't change it. + firmware_manifest: 'https://boneio.eu/fwesp/boneio-gen2-32x10_lights.json' + +esphome: + name: '${name}' + friendly_name: '${friendly_name}' + name_add_mac_suffix: true + project: + name: boneio.32x10-lights-gen2 + version: '0.1' + on_boot: + priority: -100 + then: + - delay: 5s + - if: + condition: + lambda: 'return id(serial_no) != nullptr;' + then: + - component.update: serial_no + - logger.log: "Serial No updated on boot" + else: + - logger.log: "Serial No component not found" + +esp32: + board: esp32-s3-devkitc-1 + framework: + type: esp-idf + +ethernet: + id: eth + type: W5500 + clk_pin: GPIO13 + mosi_pin: GPIO39 + miso_pin: GPIO38 + cs_pin: GPIO12 + interrupt_pin: GPIO2 + reset_pin: GPIO1 + clock_speed: 25MHz + use_address: 192.168.50.215 + +i2c: + sda: GPIO10 + scl: GPIO11 + id: i2c_bus + scan: True + frequency: 400kHz + +mcp23017: + - id: 'mcp_inputs_1to16' #do 1-16 + i2c_id: i2c_bus + address: 0x20 + - id: 'mcp_inputs_17to32' #do 17-32 + i2c_id: i2c_bus + address: 0x21 + - id: 'mcp_left' + address: 0x23 + i2c_id: i2c_bus + - id: 'mcp_right' + address: 0x24 + i2c_id: i2c_bus + +one_wire: + - platform: ds2484 + i2c_id: i2c_bus + address: 0x18 + +gp8403: + id: gp8403_dac + i2c_id: i2c_bus + address: 0x58 + voltage: 10V + +packages: + internals_packages: + url: https://github.com/boneIO-eu/esphome + ref: v1.7.1 + files: [ + 'devices/serial_no.yaml' + ] + +# [14:08:47.835][C][i2c.idf:117]: Found device at address 0x18 - ds2484 +#----[14:08:47.841][C][i2c.idf:117]: Found device at address 0x20 - mcp_inputs_1to16 +#---14:08:47.846][C][i2c.idf:117]: Found device at address 0x21 - mcp_inputs_15to28 +# [14:08:47.852][C][i2c.idf:117]: Found device at address 0x23 - output left +# [14:08:47.855][C][i2c.idf:117]: Found device at address 0x24 - output right +#---- [14:08:47.860][C][i2c.idf:117]: Found device at address 0x40 - ina226 +#---- [14:08:47.866][C][i2c.idf:117]: Found device at address 0x48 - lm75b +# [14:08:47.871][C][i2c.idf:117]: Found device at address 0x58 - gp8403 - wyjscia analogowe +# GPIO8 WS2812 + + +dashboard_import: + package_import_url: github://boneIO-eu/esphome/dev-boneio-gen2-32x10_lights_v0_1.yaml@main + import_full_config: true + +logger: + hardware_uart: UART0 + +api: + reboot_timeout: 0s + +ota: + - platform: esphome + - platform: web_server + +web_server: + port: 80 + local: true + version: 3 + +time: + - platform: homeassistant + timezone: Europe/Warsaw + id: homeassistant_time + +debug: + update_interval: 15s + +sensor: + - platform: debug + free: + name: "Heap Free" + block: + name: "Heap Max Block" + loop_time: + name: "Loop Time" + - platform: lm75b + id: boneIO_temp + name: 'Temperature' + update_interval: 30s + entity_category: diagnostic + on_value_range: + - above: 70.0 + then: + - switch.turn_on: buzzer + - below: 70.0 + then: + - switch.turn_off: buzzer + - platform: ina226 + address: 0x40 + adc_time: + voltage: 140us + current: 332us + current: + name: "INA226 Current" + power: + name: "INA226 Power" + bus_voltage: + name: "INA226 Bus Voltage" + shunt_voltage: + name: "INA226 Shunt Voltage" + +switch: + - platform: gpio + id: buzzer + name: 'Buzzer' + pin: + number: GPIO9 + mode: + output: true + inverted: false + - platform: gpio + id: can_bus_switch + name: 'CAN Bus Switch' + pin: + number: GPIO35 + mode: + output: true + inverted: false + +output: + - platform: gpio + id: out_01 + pin: + mcp23xxx: mcp_left + number: 0 + mode: + output: true + inverted: true + - platform: gpio + id: out_02 + pin: + mcp23xxx: mcp_left + number: 1 + mode: + output: true + inverted: true + - platform: gpio + id: out_03 + pin: + mcp23xxx: mcp_left + number: 2 + mode: + output: true + inverted: true + - platform: gpio + id: out_04 + pin: + mcp23xxx: mcp_left + number: 3 + mode: + output: true + inverted: true + - platform: gpio + id: out_05 + pin: + mcp23xxx: mcp_left + number: 4 + mode: + output: true + inverted: true + - platform: gpio + id: out_06 + pin: + mcp23xxx: mcp_left + number: 5 + mode: + output: true + inverted: true + - platform: gpio + id: out_07 + pin: + mcp23xxx: mcp_left + number: 6 + mode: + output: true + inverted: true + - platform: gpio + id: out_08 + pin: + mcp23xxx: mcp_left + number: 7 + mode: + output: true + inverted: true + - platform: gpio + id: out_09 + pin: + mcp23xxx: mcp_left + number: 8 + mode: + output: true + inverted: true + - platform: gpio + id: out_10 + pin: + mcp23xxx: mcp_left + number: 9 + mode: + output: true + inverted: true + - platform: gpio + id: out_11 + pin: + mcp23xxx: mcp_left + number: 10 + mode: + output: true + inverted: true + - platform: gpio + id: out_12 + pin: + mcp23xxx: mcp_left + number: 11 + mode: + output: true + inverted: true + - platform: gpio + id: out_13 + pin: + mcp23xxx: mcp_left + number: 12 + mode: + output: true + inverted: true + - platform: gpio + id: out_14 + pin: + mcp23xxx: mcp_left + number: 13 + mode: + output: true + inverted: true + - platform: gpio + id: out_15 + pin: + mcp23xxx: mcp_left + number: 14 + mode: + output: true + inverted: true + - platform: gpio + id: out_16 + pin: + mcp23xxx: mcp_left + number: 15 + mode: + output: true + inverted: true + - platform: gpio + id: out_17 + pin: + mcp23xxx: mcp_right + number: 0 + mode: + output: true + inverted: true + - platform: gpio + id: out_18 + pin: + mcp23xxx: mcp_right + number: 1 + mode: + output: true + inverted: true + - platform: gpio + id: out_19 + pin: + mcp23xxx: mcp_right + number: 2 + mode: + output: true + inverted: true + - platform: gpio + id: out_20 + pin: + mcp23xxx: mcp_right + number: 3 + mode: + output: true + inverted: true + - platform: gpio + id: out_21 + pin: + mcp23xxx: mcp_right + number: 4 + mode: + output: true + inverted: true + - platform: gpio + id: out_22 + pin: + mcp23xxx: mcp_right + number: 5 + mode: + output: true + inverted: true + - platform: gpio + id: out_23 + pin: + mcp23xxx: mcp_right + number: 6 + mode: + output: true + inverted: true + - platform: gpio + id: out_24 + pin: + mcp23xxx: mcp_right + number: 7 + mode: + output: true + inverted: true + - platform: gpio + id: out_25 + pin: + mcp23xxx: mcp_right + number: 8 + mode: + output: true + inverted: true + - platform: gpio + id: out_26 + pin: + mcp23xxx: mcp_right + number: 9 + mode: + output: true + inverted: true + - platform: gpio + id: out_27 + pin: + mcp23xxx: mcp_right + number: 10 + mode: + output: true + inverted: true + - platform: gpio + id: out_28 + pin: + mcp23xxx: mcp_right + number: 11 + mode: + output: true + inverted: true + - platform: gpio + id: out_29 + pin: + mcp23xxx: mcp_right + number: 12 + mode: + output: true + inverted: true + - platform: gpio + id: out_30 + pin: + mcp23xxx: mcp_right + number: 13 + mode: + output: true + inverted: true + - platform: gpio + id: out_31 + pin: + mcp23xxx: mcp_right + number: 14 + mode: + output: true + inverted: true + - platform: gpio + id: out_32 + pin: + mcp23xxx: mcp_right + number: 15 + mode: + output: true + inverted: true + - platform: gp8403 + gp8403_id: gp8403_dac + id: dac_output_1 + channel: 0 + - platform: gp8403 + gp8403_id: gp8403_dac + id: dac_output_2 + channel: 1 + +light: + - platform: binary + name: 'Light 01' + output: out_01 + id: light_01 + - platform: binary + name: 'Light 02' + output: out_02 + id: light_02 + - platform: binary + name: 'Light 03' + output: out_03 + id: light_03 + - platform: binary + name: 'Light 04' + output: out_04 + id: light_04 + - platform: binary + name: 'Light 05' + output: out_05 + id: light_05 + - platform: binary + name: 'Light 06' + output: out_06 + id: light_06 + - platform: binary + name: 'Light 07' + output: out_07 + id: light_07 + - platform: binary + name: 'Light 08' + output: out_08 + id: light_08 + - platform: binary + name: 'Light 09' + output: out_09 + id: light_09 + - platform: binary + name: 'Light 10' + output: out_10 + id: light_10 + - platform: binary + name: 'Light 11' + output: out_11 + id: light_11 + - platform: binary + name: 'Light 12' + output: out_12 + id: light_12 + - platform: binary + name: 'Light 13' + output: out_13 + id: light_13 + - platform: binary + name: 'Light 14' + output: out_14 + id: light_14 + - platform: binary + name: 'Light 15' + output: out_15 + id: light_15 + - platform: binary + name: 'Light 16' + output: out_16 + id: light_16 + - platform: binary + name: 'Light 17' + output: out_17 + id: light_17 + - platform: binary + name: 'Light 18' + output: out_18 + id: light_18 + - platform: binary + name: 'Light 19' + output: out_19 + id: light_19 + - platform: binary + name: 'Light 20' + output: out_20 + id: light_20 + - platform: binary + name: 'Light 21' + output: out_21 + id: light_21 + - platform: binary + name: 'Light 22' + output: out_22 + id: light_22 + - platform: binary + name: 'Light 23' + output: out_23 + id: light_23 + - platform: binary + name: 'Light 24' + output: out_24 + id: light_24 + - platform: binary + name: 'Light 25' + output: out_25 + id: light_25 + - platform: binary + name: 'Light 26' + output: out_26 + id: light_26 + - platform: binary + name: 'Light 27' + output: out_27 + id: light_27 + - platform: binary + name: 'Light 28' + output: out_28 + id: light_28 + - platform: binary + name: 'Light 29' + output: out_29 + id: light_29 + - platform: binary + name: 'Light 30' + output: out_30 + id: light_30 + - platform: binary + name: 'Light 31' + output: out_31 + id: light_31 + - platform: binary + name: 'Light 32' + output: out_32 + id: light_32 + +binary_sensor: + - platform: gpio + name: 'IN_01' + id: in_01 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_01 + + - platform: gpio + name: 'IN_02' + id: in_02 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_02 + + - platform: gpio + name: 'IN_03' + id: in_03 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_03 + + - platform: gpio + name: 'IN_04' + id: in_04 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_04 + + - platform: gpio + name: 'IN_05' + id: in_05 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_05 + + - platform: gpio + name: 'IN_06' + id: in_06 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_06 + + - platform: gpio + name: 'IN_07' + id: in_07 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_07 + + - platform: gpio + name: 'IN_08' + id: in_08 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 7 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_08 + + - platform: gpio + name: 'IN_09' + id: in_09 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_09 + + - platform: gpio + name: 'IN_10' + id: in_10 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_10 + + - platform: gpio + name: 'IN_11' + id: in_11 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_11 + + - platform: gpio + name: 'IN_12' + id: in_12 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_12 + + - platform: gpio + name: 'IN_13' + id: in_13 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_13 + + - platform: gpio + name: 'IN_14' + id: in_14 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_14 + + - platform: gpio + name: 'IN_15' + id: in_15 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_15 + + - platform: gpio + name: 'IN_16' + id: in_16 + pin: + mcp23xxx: mcp_inputs_1to16 + number: 15 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_16 + + - platform: gpio + name: 'IN_17' + id: in_17 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 0 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_17 + + - platform: gpio + name: 'IN_18' + id: in_18 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 1 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_18 + + - platform: gpio + name: 'IN_19' + id: in_19 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 2 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_19 + + - platform: gpio + name: 'IN_20' + id: in_20 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 3 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_20 + + - platform: gpio + name: 'IN_21' + id: in_21 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 4 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_21 + + - platform: gpio + name: 'IN_22' + id: in_22 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 5 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_22 + + - platform: gpio + name: 'IN_23' + id: in_23 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 6 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_23 + + - platform: gpio + name: 'IN_24' + id: in_24 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 7 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_24 + + - platform: gpio + name: 'IN_25' + id: in_25 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 8 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_25 + + - platform: gpio + name: 'IN_26' + id: in_26 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 9 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_26 + + - platform: gpio + name: 'IN_27' + id: in_27 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 10 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_27 + + - platform: gpio + name: 'IN_28' + id: in_28 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 11 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_28 + + - platform: gpio + name: 'IN_29' + id: in_29 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 12 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_29 + + - platform: gpio + name: 'IN_30' + id: in_30 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 13 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_30 + + - platform: gpio + name: 'IN_31' + id: in_31 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 14 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_31 + + - platform: gpio + name: 'IN_32' + id: in_32 + pin: + mcp23xxx: mcp_inputs_17to32 + number: 15 + mode: + input: true + inverted: true + on_press: + then: + - light.toggle: light_32 + +###################### +### MODBUS SECTION ### +###################### +# UNCOMMENT BELOW TO USE MODBUS +# uart: +# id: uart_pin14_15 +# rx_pin: GPIO14 +# tx_pin: GPIO15 +# baud_rate: 9600 +# stop_bits: 1 + +# modbus: +# send_wait_time: 200ms +# uart_id: uart_pin14_15 +# id: boneio_modbus + +# modbus_controller: +# - id: YOURDEVICE ID +# address: 0x09 +# modbus_id: mod_bus +# setup_priority: -10 +# update_interval: 60s