From 86f2ea4b02a1233a9c0ea76490d80c71e6153148 Mon Sep 17 00:00:00 2001 From: Victor Alexandrovich Tsyrenschikov <77172321+tsyrenschikov@users.noreply.github.com> Date: Wed, 16 Jul 2025 00:16:55 +0500 Subject: [PATCH] EspHome --- .gitignore | 1 + kc868-a16.yaml | 420 +++++++++++++++++++++++++++++++++++++++++++++++++ kc868-a6.yaml | 217 +++++++++++++++++++++++++ kc868-a8.yaml | 203 ++++++++++++++++++++++++ 4 files changed, 841 insertions(+) create mode 100644 kc868-a16.yaml create mode 100644 kc868-a6.yaml create mode 100644 kc868-a8.yaml diff --git a/.gitignore b/.gitignore index 36b13f1..a51f3bc 100644 --- a/.gitignore +++ b/.gitignore @@ -174,3 +174,4 @@ cython_debug/ # PyPI configuration file .pypirc +/.idea/ \ No newline at end of file diff --git a/kc868-a16.yaml b/kc868-a16.yaml new file mode 100644 index 0000000..855f4e4 --- /dev/null +++ b/kc868-a16.yaml @@ -0,0 +1,420 @@ +esphome: + name: kontroller_kochegarka + friendly_name: KC868-A16 + +esp32: + board: esp32dev + framework: + type: arduino + +# Enable logging +logger: + +# Enable Home Assistant API +api: + encryption: + key: "b59KOqOrvn/NFCIyInQdhWFXlODKAVGn7xtj9h/N4Rc=" + +ota: + - platform: esphome + password: "36b59390fed54e38bd8fea5722e9358f" + +ethernet: + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO17_OUT + phy_addr: 0 + use_address: 192.168.10.214 + +# wifi: +# ssid: !secret wifi_ssid +# password: !secret wifi_password + + # Enable fallback hotspot (captive portal) in case wifi connection fails + # ap: + # ssid: "Kc868-A16 Fallback Hotspot" + # password: "gCJlyJ5kec3y" + +uart: + - id: uart_modbus + tx_pin: GPIO13 + rx_pin: GPIO16 + baud_rate: 9600 + +remote_receiver: + pin: + number: GPIO2 + ignore_strapping_warning: true + +remote_transmitter: + pin: + number: GPIO15 + ignore_strapping_warning: true + carrier_duty_percent: 100% + +# Config Modbus +modbus: + uart_id: uart_modbus + id: modbus1 + +modbus_controller: + - id: modbus_sensor + address: 0x01 # device address + modbus_id: modbus1 + +i2c: + sda: GPIO4 + scl: + number: GPIO5 + ignore_strapping_warning: true + +pcf8574: + - id: inputs_1_8 + address: 0x22 + pcf8575: false + - id: inputs_9_16 + address: 0x21 + pcf8575: false + - id: outputs_1_8 + address: 0x24 + pcf8575: false + - id: outputs_9_16 + address: 0x25 + pcf8575: false + +binary_sensor: + - platform: gpio + name: "KC868-A16-HT1" + pin: + number: GPIO32 + inverted: true + + - platform: gpio + name: "KC868-A16-HT2" + pin: + number: GPIO33 + inverted: true + + - platform: gpio + name: "KC868-A16-HT3" + pin: + number: GPIO14 + inverted: true + + - platform: gpio + name: "KC868-A16-X01" + pin: + pcf8574: inputs_1_8 + number: 0 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X02" + pin: + pcf8574: inputs_1_8 + number: 1 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X03" + pin: + pcf8574: inputs_1_8 + number: 2 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X04" + pin: + pcf8574: inputs_1_8 + number: 3 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X05" + pin: + pcf8574: inputs_1_8 + number: 4 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X06" + pin: + pcf8574: inputs_1_8 + number: 5 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X07" + pin: + pcf8574: inputs_1_8 + number: 6 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X08" + pin: + pcf8574: inputs_1_8 + number: 7 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X09" + pin: + pcf8574: inputs_9_16 + number: 0 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X10" + pin: + pcf8574: inputs_9_16 + number: 1 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X11" + pin: + pcf8574: inputs_9_16 + number: 2 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X12" + pin: + pcf8574: inputs_9_16 + number: 3 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X13" + pin: + pcf8574: inputs_9_16 + number: 4 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X14" + pin: + pcf8574: inputs_9_16 + number: 5 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X15" + pin: + pcf8574: inputs_9_16 + number: 6 + mode: INPUT + inverted: true + + - platform: gpio + name: "KC868-A16-X16" + pin: + pcf8574: inputs_9_16 + number: 7 + mode: INPUT + inverted: true + + +switch: + - platform: gpio + name: "KC868-A16-Y01" + id: out_y01 + pin: + pcf8574: outputs_1_8 + number: 0 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y02" + id: out_y02 + pin: + pcf8574: outputs_1_8 + number: 1 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y03" + id: out_y03 + pin: + pcf8574: outputs_1_8 + number: 2 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y04" + id: out_y04 + pin: + pcf8574: outputs_1_8 + number: 3 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y05" + id: out_y05 + pin: + pcf8574: outputs_1_8 + number: 4 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y06" + id: out_y06 + pin: + pcf8574: outputs_1_8 + number: 5 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y07" + id: out_y07 + pin: + pcf8574: outputs_1_8 + number: 6 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y08" + id: out_y08 + pin: + pcf8574: outputs_1_8 + number: 7 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y09" + id: out_y09 + pin: + pcf8574: outputs_9_16 + number: 0 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y10" + id: out_y10 + pin: + pcf8574: outputs_9_16 + number: 1 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y11" + id: out_y11 + pin: + pcf8574: outputs_9_16 + number: 2 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y12" + id: out_y12 + pin: + pcf8574: outputs_9_16 + number: 3 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y13" + id: out_y13 + pin: + pcf8574: outputs_9_16 + number: 4 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y14" + id: out_y14 + pin: + pcf8574: outputs_9_16 + number: 5 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y15" + id: out_y15 + pin: + pcf8574: outputs_9_16 + number: 6 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "KC868-A16-Y16" + id: out_y16 + pin: + pcf8574: outputs_9_16 + number: 7 + mode: OUTPUT + inverted: true + +# substitutions: +# update_interval: 1s + +sensor: + - platform: modbus_controller + modbus_controller_id: modbus_sensor + name: "Temperature SHT30" + id: temperature_sensor + address: 0x0000 + register_type: holding + value_type: U_WORD + unit_of_measurement: "°C" + accuracy_decimals: 1 + filters: + - throttle_average: 1s + - lambda: if (x < 10000) return x * 0.1; else return -1 * (x - 10000) * 0.1; +# - throttle_average: ${update_interval} + + - platform: modbus_controller + modbus_controller_id: modbus_sensor + name: "Humidity_SHT30" + id: humidity_sensor + address: 0x0001 + register_type: holding + value_type: U_WORD + unit_of_measurement: "%" + accuracy_decimals: 1 + filters: + - throttle_average: 1s + - multiply: 0.1 +# - throttle_average: ${update_interval} + + +web_server: + port: 80 + +mqtt: + broker: 192.168.88.4 + username: 'miroca' + password: 'cbvgcjy0' + discovery: False # disable entity discovery + discover_ip: True # enable device discovery \ No newline at end of file diff --git a/kc868-a6.yaml b/kc868-a6.yaml new file mode 100644 index 0000000..08ece99 --- /dev/null +++ b/kc868-a6.yaml @@ -0,0 +1,217 @@ +esphome: + name: ventilation + friendly_name: KC868-A6 + +esp32: + board: esp32dev + framework: + type: arduino + +# Enable logging +logger: + +# Enable Home Assistant API +api: + encryption: + key: "/Tq+moXS9oIsH4e7/QMtww6zqAdP23DCzeTaM+6KxdM=" + +ota: + - platform: esphome + password: "64c599445a6dddc9a3cfc44a1413086e" + +wifi: + ssid: 'SmartHome' + password: '' + use_address: 192.168.88.192 + + manual_ip: + static_ip: 192.168.88.192 + gateway: 192.168.88.1 + subnet: 255.255.255.0 + + # Enable fallback hotspot (captive portal) in case wifi connection fails + # ap: + # ssid: "Kc868-A6 Fallback Hotspot" + # password: "Eqh4eO1YIQUi" + +uart: + #RS485 + - id: uart_modbus + tx_pin: GPIO27 + rx_pin: GPIO14 + baud_rate: 9600 + stop_bits: 1 + + + #RS2332 + - id: rs232 + tx_pin: GPIO17 + rx_pin: GPIO16 + baud_rate: 9600 + +spi: + clk_pin: GPIO18 + mosi_pin: GPIO23 + miso_pin: GPIO19 + # cs pin: GPIO5 + +modbus: + uart_id: uart_modbus + id: modbus1 + +modbus_controller: + - id: modbus_sensor + address: 0x01 # device address + modbus_id: modbus1 + +i2c: + sda: GPIO4 + scl: + number: GPIO15 + ignore_strapping_warning: true + +pcf8574: + - id: inputs + address: 0x22 + - id: outputs + address: 0x24 + +time: + - platform: ds1307 + id: rtc_time + + +binary_sensor: + - platform: gpio + name: "KC868-A6-IN-1" + pin: + pcf8574: inputs + number: 0 + mode: INPUT + inverted: true + - platform: gpio + name: "KC868-A6-IN-2" + pin: + pcf8574: inputs + number: 1 + mode: INPUT + inverted: true + - platform: gpio + name: "KC868-A6-IN-3" + pin: + pcf8574: inputs + number: 2 + mode: INPUT + inverted: true + - platform: gpio + name: "KC868-A6-IN-4" + pin: + pcf8574: inputs + number: 3 + mode: INPUT + inverted: true + - platform: gpio + name: "KC868-A6-IN-5" + pin: + pcf8574: inputs + number: 4 + mode: INPUT + inverted: true + - platform: gpio + name: "KC868-A6-IN-6" + pin: + pcf8574: inputs + number: 5 + mode: INPUT + inverted: true + +switch: + - platform: gpio + name: "KC868-A6-RELAY-1" + id: relay_1 + pin: + pcf8574: outputs + number: 0 + mode: OUTPUT + inverted: true + - platform: gpio + name: "KC868-A6-RELAY-2" + id: relay_2 + pin: + pcf8574: outputs + number: 1 + mode: OUTPUT + inverted: true + - platform: gpio + name: "KC868-A6-RELAY-3" + id: relay_3 + pin: + pcf8574: outputs + number: 2 + mode: OUTPUT + inverted: true + - platform: gpio + name: "KC868-A6-RELAY-4" + id: relay_4 + pin: + pcf8574: outputs + number: 3 + mode: OUTPUT + inverted: true + - platform: gpio + name: "KC868-A6-RELAY-5" + id: relay_5 + pin: + pcf8574: outputs + number: 4 + mode: OUTPUT + inverted: true + - platform: gpio + name: "KC868-A6-RELAY-6" + id: relay_6 + pin: + pcf8574: outputs + number: 5 + mode: OUTPUT + inverted: true + +sensor: + - platform: modbus_controller + modbus_controller_id: modbus_sensor + name: "Temperature SHT30" + id: temperature_sensor + address: 0x0000 + register_type: holding + value_type: U_WORD + unit_of_measurement: "°C" + accuracy_decimals: 1 + filters: + - throttle_average: 1s + - lambda: if (x < 10000) return x * 0.1; else return -1 * (x - 10000) * 0.1; +# - throttle_average: ${update_interval} + + - platform: modbus_controller + modbus_controller_id: modbus_sensor + name: "Humidity_SHT30" + id: humidity_sensor + address: 0x0001 + register_type: holding + value_type: U_WORD + unit_of_measurement: "%" + accuracy_decimals: 1 + filters: + - throttle_average: 1s + - multiply: 0.1 +# - throttle_average: ${update_interval} + + + +web_server: + port: 80 + +mqtt: + broker: 192.168.88.4 + username: 'miroca' + password: 'cbvgcjy0' + discovery: False # disable entity discovery + discover_ip: True # enable device discovery \ No newline at end of file diff --git a/kc868-a8.yaml b/kc868-a8.yaml new file mode 100644 index 0000000..0c35417 --- /dev/null +++ b/kc868-a8.yaml @@ -0,0 +1,203 @@ +esphome: + name: kc868-a8 + friendly_name: KC868-A8 + +esp32: + board: esp32dev + framework: + type: arduino + +# Enable logging +logger: + +# Enable Home Assistant API +api: + encryption: + key: "3iphXwtysZ+BHDKmxmTnXKCjASbfFW+W1r6la1n9OIA=" + +ota: + - platform: esphome + password: "402f0dc3631f8d2379d60af0df352763" + +# wifi: + # ssid: !secret wifi_ssid + # password: !secret wifi_password + + # # Enable fallback hotspot (captive portal) in case wifi connection fails + # ap: + # ssid: "Kc868-A8 Fallback Hotspot" + # password: "II3iptTzripY" + + +i2c: + sda: 4 + scl: 5 + scan: true + id: bus_a + +ethernet: + type: LAN8720 + mdc_pin: GPIO23 + mdio_pin: GPIO18 + clk_mode: GPIO17_OUT + phy_addr: 0 + +pcf8574: + - id: 'pcf8574_hub_out_1' # for output channel 1-8 + address: 0x24 + + - id: 'pcf8574_hub_in_1' # for input channel 1-8 + address: 0x22 + +# Individual outputs +switch: + - platform: gpio + name: "a8-light1" + pin: + pcf8574: pcf8574_hub_out_1 + number: 0 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "a8-light2" + pin: + pcf8574: pcf8574_hub_out_1 + number: 1 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "a8-light3" + pin: + pcf8574: pcf8574_hub_out_1 + number: 2 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "a8-light4" + pin: + pcf8574: pcf8574_hub_out_1 + number: 3 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "a8-light5" + pin: + pcf8574: pcf8574_hub_out_1 + number: 4 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "a8-light6" + pin: + pcf8574: pcf8574_hub_out_1 + number: 5 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "a8-light7" + pin: + pcf8574: pcf8574_hub_out_1 + number: 6 + mode: OUTPUT + inverted: true + + - platform: gpio + name: "a8-light8" + pin: + pcf8574: pcf8574_hub_out_1 + number: 7 + mode: OUTPUT + inverted: true + +binary_sensor: + - platform: gpio + name: "a8-input1" + pin: + pcf8574: pcf8574_hub_in_1 + number: 0 + mode: INPUT + inverted: true + + - platform: gpio + name: "a8-input2" + pin: + pcf8574: pcf8574_hub_in_1 + number: 1 + mode: INPUT + inverted: true + + - platform: gpio + name: "a8-input3" + pin: + pcf8574: pcf8574_hub_in_1 + number: 2 + mode: INPUT + inverted: true + + - platform: gpio + name: "a8-input4" + pin: + pcf8574: pcf8574_hub_in_1 + number: 3 + mode: INPUT + inverted: true + + - platform: gpio + name: "a8-input5" + pin: + pcf8574: pcf8574_hub_in_1 + number: 4 + mode: INPUT + inverted: true + + - platform: gpio + name: "a8-input6" + pin: + pcf8574: pcf8574_hub_in_1 + number: 5 + mode: INPUT + inverted: true + + - platform: gpio + name: "a8-input7" + pin: + pcf8574: pcf8574_hub_in_1 + number: 6 + mode: INPUT + inverted: true + + - platform: gpio + name: "a8-input8" + pin: + pcf8574: pcf8574_hub_in_1 + number: 7 + mode: INPUT + inverted: true + + - platform: gpio + name: "a8-s3" + pin: + number: 32 + inverted: true + + - platform: gpio + name: "a8-s4" + pin: + number: 33 + inverted: true + +one_wire: + - platform: gpio + pin: GPIO14 + +sensor: + - platform: dallas_temp + address: 0x1c0000031edd2a28 #replace with your sensor's ID + name: "ds18b20-1" +