--- # Hardware: Sonoff NSPanel (EU) # Pinout: # GPIO2 IO2 # GPIO4 Screen power -> Screen Power (switch gpio) (inverted) # GPIO14 Left button -> Left Button (binary_sensor gpio) (inverted) # GPIO16 Display UART TX -> display_uart (uart tx_pin) # GPIO17 Display UART RX -> display_uart (uart rx_pin) # GPIO19 Relay 2 -> Light MAIN (switch gpio) # GPIO21 Buzzer -> buzzer_out (output ledc) # GPIO22 Relay 1 -> Outside Light Back (switch gpio) # GPIO23 Relay 3 (no relay, connector) # GPIO27 Right button -> Right Button (binary_sensor gpio) (inverted) # GPIO37 ALS (light sensor) # GPIO38 NTC temperature (ADC) -> ntc_source (sensor adc) substitutions: device: nspanel-patio name: Patio NSPanel area: Living Room & Kitchen comment: ${area}, Patio | NSPanel esphome: name: mcu-${device} friendly_name: ${name} area: ${area} comment: ${comment} packages: common: !include common/common.yaml nspanel: !include file: common/nspanel.yaml vars: temperature_entity: sensor.zigbee_living_room_kitchen_temperature temperature_name: Living Room Temperature nspanel_lovelace: cards: - type: cardGrid title: Kuchyňa / Obývačka entities: - name: Kuchyňa / Obývačka entity_id: light.kitchen icon: ceiling-light - name: Stôl entity_id: light.dining_table icon: ceiling-light - name: Gauč entity_id: light.living_room icon: ceiling-light - name: TV entity_id: light.mcu_tv_light_strip icon: led-strip-variant - name: (Stôl) entity_id: light.dining_table_ambilight icon: ceiling-light-multiple-outline - name: (Gauč) entity_id: light.living_room_ambilight icon: ceiling-light-multiple-outline - type: cardGrid title: Kuchyňa entities: - name: Linka entity_id: light.worktop_lights icon: countertop - name: Sporák entity_id: light.mcu_kitchen_stove icon: stove - type: cardGrid title: Von entities: - name: Terasa entity_id: light.patio_lights icon: lightbulb-group - name: Terasa entity_id: switch.mcu_patio_relay icon: power-socket-fr - name: Vzadu entity_id: switch.mcu_nspanel_patio_outside_light_back icon: light-flood-down - name: Z. domček entity_id: switch.mcu_shed_light icon: wall-sconce-flat # state_template: '{{ is_state("binary_sensor.shed_status", "off") }}' - name: Z. domček entity_id: switch.mcu_shed_socket icon: power-socket-fr # state_template: '{{ is_state("binary_sensor.shed_status", "off") }}' - name: Záhrada entity_id: switch.mcu_shed_garden_light icon: light-flood-down # state_template: '{{ is_state("binary_sensor.shed_status", "off") }}' - type: cardGrid title: Závlaha entities: - name: A1 entity_id: switch.mcu_well_irrigation_valve_a1 icon: valve - name: A2 entity_id: switch.mcu_well_irrigation_valve_a2 icon: valve - name: A3 entity_id: switch.mcu_well_irrigation_valve_a3 icon: valve - name: A4 entity_id: switch.mcu_well_irrigation_valve_a4 icon: valve - name: A5 entity_id: switch.mcu_well_irrigation_valve_a5 icon: valve - name: Automatizácia entity_id: navigate.card_irrigation_automation - type: cardGrid title: Brána entities: - name: Otvoriť entity_id: button.mcu_gate_open icon: gate-open - name: Zatvoriť entity_id: button.mcu_gate_close icon: gate - name: Automatizácia entity_id: navigate.card_gate_automation - type: cardThermo title: Kúrenie thermo_entity_id: climate.bt_trv_living_room_kitchen - type: cardEntities title: Automatizácia id: card_gate_automation hidden: true entities: - name: Auto-otváranie entity_id: switch.gate_auto_open - name: Auto-zatváranie entity_id: switch.gate_auto_close - type: cardEntities title: Automatizácia id: card_irrigation_automation hidden: true entities: - name: Ráno entity_id: automation.irrigation_morning - name: Terasa entity_id: automation.irrigation_patio - name: Rast trávy entity_id: automation.irrigation_grow_grass - type: cardEntities title: Info entities: - name: Zariadenie entity_id: button.patio_nspanel_info icon: information-outline binary_sensor: - platform: gpio name: Left Button pin: number: 14 inverted: true on_click: - switch.toggle: relay_1 - lambda: 'id(nspanel_id).render_default_page();' - lambda: 'id(nspanel_id).render_next_page();' - lambda: 'id(nspanel_id).render_next_page();' - platform: gpio name: Right Button pin: number: 27 inverted: true on_click: if: # mcu-patio online -> toggle its lights; otherwise (no API or relay_2 cut its power) the relay condition: and: - api.connected: - binary_sensor.is_on: patio_status then: - homeassistant.action: action: light.toggle data: entity_id: light.patio_lights - lambda: 'id(nspanel_id).render_default_page();' - lambda: 'id(nspanel_id).render_next_page();' - lambda: 'id(nspanel_id).render_next_page();' else: - switch.toggle: relay_2 - platform: homeassistant id: patio_status entity_id: binary_sensor.mcu_patio_status switch: - platform: gpio name: Outside Light Back id: relay_1 pin: number: 22 - platform: gpio name: Light MAIN id: relay_2 restore_mode: always_on entity_category: config pin: number: 19