--- substitutions: device: nspanel-office-j name: Office J NSPanel area: Office J comment: NSPanel esphome: name: mcu-${device} friendly_name: ${name} area: ${area} comment: ${comment} on_boot: then: - switch.turn_off: screen_power - delay: 1s - switch.turn_on: screen_power - delay: 2s - lambda: 'id(nspanel_id).set_display_dim(5, 80);' esp32: variant: esp32 toolchain: esp-idf framework: type: esp-idf advanced: minimum_chip_revision: 3.0 sram1_as_iram: true external_components: - source: type: git url: https://github.com/randybb/esphome-nspanel-lovelace-native ref: devices refresh: 0s components: [nspanel_lovelace] packages: common: !include common/common.yaml api: homeassistant_services: true homeassistant_states: true actions: - action: play_rtttl variables: song: string then: - rtttl.play: rtttl: !lambda 'return song;' - action: notify variables: heading: string message: string song: string then: - lambda: 'id(nspanel_id).notify_on_screensaver(heading, message, 10000);' - rtttl.play: rtttl: !lambda 'return song;' - action: notify_fullscreen variables: title: string description: string button1: string button2: string timeout: int icon: string then: - lambda: 'id(nspanel_id).notify_on_screensaver(title, description, timeout);' - rtttl.play: "scale_up:d=32,o=5,b=100:c,c#,d#,e,f#,g#,a#,b" uart: id: display_uart tx_pin: 16 rx_pin: 17 baud_rate: 115200 nspanel_lovelace: id: nspanel_id sleep_timeout: 10 experimental_vertical_ui: true locale: language: sk temperature_unit: celcius screensaver: time_id: ha_time time_format: '%H:%M' date_format: '%A, %d. %b. %Y' weather: entity_id: sensor.weather_forecast_daily icon_color: [255, 255, 255] entities: - entity_id: sensor.zigbee_office_j_temperature icon: value: home-thermometer-outline color: [255, 255, 255] precision: 1 cards: - type: cardGrid title: Janko entities: - name: Svetlo entity_id: light.mcu_nspanel_office_j_light icon: wall-sconce-flat - name: Nočná lampa entity_id: light.bedside_left icon: lamp - 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_office_j - 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 binary_sensor: - platform: gpio name: Left Button pin: number: 14 inverted: true on_click: - light.toggle: light_1 - lambda: 'id(nspanel_id).render_default_page();' - platform: gpio name: Right Button pin: number: 27 inverted: true on_click: - homeassistant.action: action: light.toggle data: entity_id: light.bedside_left - lambda: 'id(nspanel_id).render_default_page();' output: - platform: ledc id: buzzer_out pin: number: 21 - id: relay_1 platform: gpio pin: number: 22 # - id: relay_2 # platform: gpio # pin: # number: 19 light: - platform: binary name: Light id: light_1 output: relay_1 restore_mode: RESTORE_DEFAULT_OFF # # - platform: binary # # name: Relay 2 # # output: relay_2 switch: - platform: gpio name: Screen Power id: screen_power entity_category: config pin: number: 4 inverted: true restore_mode: ALWAYS_ON rtttl: id: buzzer output: buzzer_out sensor: - platform: adc id: ntc_source pin: 38 update_interval: 5min attenuation: 12db - platform: resistance id: resistance_sensor sensor: ntc_source configuration: DOWNSTREAM resistor: 11.2kOhm - platform: ntc name: Temperature id: temperature sensor: resistance_sensor calibration: b_constant: 3950 reference_temperature: 22°C reference_resistance: 10kOhm text_sensor: - platform: homeassistant id: name_day entity_id: sensor.nameday_sk on_value: - lambda: |- id(nspanel_id).set_time_format("%H:%M~" + x); id(nspanel_id).update_time();