Skip to content

Instantly share code, notes, and snippets.

@xirixiz
Last active September 24, 2024 19:01
Show Gist options
  • Save xirixiz/a3ac757bd671dbdb37cf8769d95a80f9 to your computer and use it in GitHub Desktop.
Save xirixiz/a3ac757bd671dbdb37cf8769d95a80f9 to your computer and use it in GitHub Desktop.

Revisions

  1. Bram revised this gist Jan 9, 2022. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions esphome_fireplace.yml
    Original file line number Diff line number Diff line change
    @@ -10,7 +10,7 @@ substitutions:
    wifi:
    ssid: !secret wifi_ssid
    password: !secret wifi_password
    domain: !secret network_domain
    domain: .skynet.local

    manual_ip:
    static_ip: x.x.x.x
    @@ -86,12 +86,12 @@ switch:
    name: "${devicename} - Dummy"
    pin: GPIO15 #D8
    id: DUMMY
    restore_mode: ALWAYS_ON
    restore_mode: RESTORE_DEFAULT_ON

    - platform: template
    name: "${devicename} - On/Off"
    id: fireplace
    lambda: 'return id(DUMMY).state;'
    #lambda: 'return id(DUMMY).state;'
    turn_on_action:
    if:
    condition:
    @@ -151,7 +151,7 @@ switch:
    - platform: template
    name: "${devicename} - Limit burner"
    id: fireplace_burner_limit
    lambda: 'return id(DUMMY).state;'
    #lambda: 'return id(DUMMY).state;'
    turn_on_action:
    if:
    condition:
  2. Bram revised this gist Dec 24, 2021. 1 changed file with 147 additions and 110 deletions.
    257 changes: 147 additions & 110 deletions esphome_fireplace.yml
    Original file line number Diff line number Diff line change
    @@ -10,12 +10,12 @@ substitutions:
    wifi:
    ssid: !secret wifi_ssid
    password: !secret wifi_password
    domain: .skynet.local
    domain: !secret network_domain

    manual_ip:
    static_ip: 192.168.10.110
    gateway: 192.168.10.1
    subnet: 255.255.255.0
    static_ip: x.x.x.x
    gateway: x.x.x.x
    subnet: x.x.x.x

    ap:
    ssid: "${devicename} - ESP fallback hotspot"
    @@ -93,137 +93,174 @@ switch:
    id: fireplace
    lambda: 'return id(DUMMY).state;'
    turn_on_action:
    - then:
    - switch.template.publish:
    if:
    condition:
    switch.is_off:
    id: fireplace
    state: ON
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE
    - delay: 15s
    - switch.turn_on: POWER
    - delay: 500ms
    - switch.turn_on: INCREASE
    - delay: 3s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - delay: 60s
    - switch.template.publish:
    id: fireplace_burner_limit
    state: ON
    - switch.turn_on: DECREASE
    - delay: 100ms
    - switch.turn_on: POWER
    - delay: 2s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE
    - switch.template.publish:
    id: fireplace_cosy
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_on: INCREASE
    - delay: 6s
    then:
    - switch.template.publish:
    id: fireplace
    state: ON
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE
    - delay: 15s
    - switch.turn_on: POWER
    - delay: 500ms
    - switch.turn_on: INCREASE
    - delay: 3s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - delay: 60s
    - switch.template.publish:
    id: fireplace_burner_limit
    state: ON
    - switch.turn_on: DECREASE
    - delay: 100ms
    - switch.turn_on: POWER
    - delay: 2s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE
    - switch.template.publish:
    id: fireplace_cosy
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_on: INCREASE
    - delay: 5s
    - switch.turn_off: INCREASE
    turn_off_action:
    - then:
    - switch.template.publish:
    if:
    condition:
    switch.is_on:
    id: fireplace
    state: OFF
    - switch.template.publish:
    id: fireplace_burner_limit
    state: OFF
    - switch.turn_on: POWER
    - delay: 3s
    - switch.turn_off: POWER
    - switch.turn_off: INCREASE
    - switch.turn_off: DECREASE
    then:
    - switch.template.publish:
    id: fireplace
    state: OFF
    - switch.template.publish:
    id: fireplace_burner_limit
    state: OFF
    - switch.turn_on: POWER
    - delay: 3s
    - switch.turn_off: POWER
    - switch.turn_off: INCREASE
    - switch.turn_off: DECREASE

    - platform: template
    name: "${devicename} - Limit burner"
    id: fireplace_burner_limit
    lambda: 'return id(DUMMY).state;'
    turn_on_action:
    - then:
    - switch.template.publish:
    id: fireplace_burner_limit
    state: ON
    - switch.turn_on: DECREASE
    - delay: 100ms
    - switch.turn_on: POWER
    - delay: 2s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE
    if:
    condition:
    switch.is_on:
    id: fireplace
    then:
    - switch.template.publish:
    id: fireplace_burner_limit
    state: ON
    - switch.turn_on: DECREASE
    - delay: 100ms
    - switch.turn_on: POWER
    - delay: 2s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE
    turn_off_action:
    - then:
    - switch.template.publish:
    id: fireplace_burner_limit
    state: OFF
    - switch.turn_on: INCREASE
    - delay: 100ms
    - switch.turn_on: POWER
    - delay: 2s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE
    if:
    condition:
    switch.is_on:
    id: fireplace
    then:
    - switch.template.publish:
    id: fireplace_burner_limit
    state: OFF
    - switch.turn_on: INCREASE
    - delay: 100ms
    - switch.turn_on: POWER
    - delay: 2s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE

    - platform: template
    name: "${devicename} - Cosy"
    id: fireplace_cosy
    turn_on_action:
    - then:
    - switch.template.publish:
    id: fireplace_cosy
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_on: INCREASE
    - delay: 5s
    - switch.turn_off: INCREASE
    if:
    condition:
    switch.is_on:
    id: fireplace
    then:
    - switch.template.publish:
    id: fireplace_cosy
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_on: INCREASE
    - delay: 5s
    - switch.turn_off: INCREASE
    turn_off_action:
    - then:
    - switch.template.publish:
    id: fireplace_cosy
    state: OFF
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_off: DECREASE
    if:
    condition:
    switch.is_on:
    id: fireplace
    then:
    - switch.template.publish:
    id: fireplace_cosy
    state: OFF
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_off: DECREASE

    - platform: template
    name: "${devicename} - Cosy plus"
    id: fireplace_cosy_plus
    turn_on_action:
    - then:
    - switch.template.publish:
    id: fireplace_cosy_plus
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_on: INCREASE
    - delay: 7s
    - switch.turn_off: INCREASE
    if:
    condition:
    switch.is_on:
    id: fireplace
    then:
    - switch.template.publish:
    id: fireplace_cosy_plus
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_on: INCREASE
    - delay: 7s
    - switch.turn_off: INCREASE
    turn_off_action:
    - then:
    - switch.template.publish:
    id: fireplace_cosy_plus
    state: OFF
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_off: DECREASE
    if:
    condition:
    switch.is_on:
    id: fireplace
    then:
    - switch.template.publish:
    id: fireplace_cosy_plus
    state: OFF
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_off: DECREASE

    - platform: template
    name: "${devicename} - Pilot"
    id: fireplace_pilot
    turn_on_action:
    - then:
    - switch.template.publish:
    id: fireplace_pilot
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.template.publish:
    id: fireplace_pilot
    state: OFF
    - switch.turn_off: DECREASE
    if:
    condition:
    switch.is_on:
    id: fireplace
    then:
    - switch.template.publish:
    id: fireplace_pilot
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.template.publish:
    id: fireplace_pilot
    state: OFF
    - switch.turn_off: DECREASE

  3. Bram revised this gist Dec 24, 2021. 1 changed file with 56 additions and 0 deletions.
    56 changes: 56 additions & 0 deletions espeasy
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,56 @@
    ESPeasy rules
    //GIO14 == Relay 1 = blauw
    //GPIO12 == Relay 2 = geel
    //GPIO13 == Relay 3 = oranje

    on IGNITION do
    // Close relays contacts
    gpio,14,1
    gpio,13,1
    timerSet 1,1 // 1 second delay
    Publish,/fireplace/status,event,IGNITION
    endon

    On Rules#Timer=1 do
    ///Open relays contacts
    gpio,14,0
    gpio,12,0
    gpio,13,0
    endon

    on FIRE_OFF do
    // Close relays contacts
    gpio,14,1
    gpio,12,1
    gpio,13,1
    timerSet 1,1 // 1 second delay
    Publish,/fireplace/status,event,FIRE_OFF
    endon

    on SECONDBURNER_ON do
    // Close relays contacts
    gpio,14,1
    gpio,12,1
    timerSet 1,1 // 1 second delay
    Publish,/fireplace/status/centerfire,event,SECONDBURNER_ON
    endon

    on SECONDBURNER_OFF do
    // Close relays contacts
    gpio,12,1
    gpio,13,1
    timerSet 1,1 // 1 second delay
    Publish,/fireplace/status/centerfire,event,SECONDBURNER_OFF
    endon

    on INCREASE_FIRE do
    // Close relays contacts
    gpio,14,1
    timerSet 1,3 // 1 second delay
    endon

    on DECREASE_FIRE do
    // Close relays contacts
    gpio,13,1
    timerSet 1,3 // 1 second delay
    endon
  4. Bram revised this gist Dec 24, 2021. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions esphome_fireplace.yml
    Original file line number Diff line number Diff line change
    @@ -142,6 +142,7 @@ switch:
    - platform: template
    name: "${devicename} - Limit burner"
    id: fireplace_burner_limit
    lambda: 'return id(DUMMY).state;'
    turn_on_action:
    - then:
    - switch.template.publish:
  5. Bram revised this gist Dec 24, 2021. 1 changed file with 21 additions and 14 deletions.
    35 changes: 21 additions & 14 deletions esphome_fireplace.yml
    Original file line number Diff line number Diff line change
    @@ -62,29 +62,36 @@ switch:
    - platform: restart
    name: "${devicename} - ESP reboot"

    - platform: gpio
    name: "${devicename} - Increase flame"
    pin: GPIO13 #D7
    id: INCREASE
    interlock: [DECREASE]

    - platform: gpio
    name: "${devicename} - Power button"
    pin: GPIO12 #D6
    id: POWER
    on_turn_on:
    - delay: 2s
    - switch.turn_off: POWER
    - switch.turn_off: POWER

    - platform: gpio
    name: "${devicename} - Increase flame"
    pin: GPIO13 #D7
    id: INCREASE
    interlock: [DECREASE]

    - platform: gpio
    name: "${devicename} - Decrease flame"
    pin: GPIO14 #D5
    id: DECREASE
    interlock: [INCREASE]

    - platform: gpio
    name: "${devicename} - Dummy"
    pin: GPIO15 #D8
    id: DUMMY
    restore_mode: ALWAYS_ON

    - platform: template
    name: "${devicename} - On/Off"
    id: fireplace
    lambda: 'return id(DUMMY).state;'
    turn_on_action:
    - then:
    - switch.template.publish:
    @@ -102,7 +109,7 @@ switch:
    - switch.turn_off: POWER
    - delay: 60s
    - switch.template.publish:
    id: fireplace_burners
    id: fireplace_burner_limit
    state: ON
    - switch.turn_on: DECREASE
    - delay: 100ms
    @@ -124,7 +131,7 @@ switch:
    id: fireplace
    state: OFF
    - switch.template.publish:
    id: fireplace_burners
    id: fireplace_burner_limit
    state: OFF
    - switch.turn_on: POWER
    - delay: 3s
    @@ -133,12 +140,12 @@ switch:
    - switch.turn_off: DECREASE

    - platform: template
    name: "${devicename} - Toggle burner(s)"
    id: fireplace_burners
    name: "${devicename} - Limit burner"
    id: fireplace_burner_limit
    turn_on_action:
    - then:
    - switch.template.publish:
    id: fireplace_burners
    id: fireplace_burner_limit
    state: ON
    - switch.turn_on: DECREASE
    - delay: 100ms
    @@ -150,7 +157,7 @@ switch:
    turn_off_action:
    - then:
    - switch.template.publish:
    id: fireplace_burners
    id: fireplace_burner_limit
    state: OFF
    - switch.turn_on: INCREASE
    - delay: 100ms
    @@ -171,7 +178,7 @@ switch:
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_on: INCREASE
    - delay: 6s
    - delay: 5s
    - switch.turn_off: INCREASE
    turn_off_action:
    - then:
  6. Bram created this gist Dec 23, 2021.
    221 changes: 221 additions & 0 deletions esphome_fireplace.yml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,221 @@
    esphome:
    name: fireplace

    esp8266:
    board: nodemcuv2

    substitutions:
    devicename: Fireplace

    wifi:
    ssid: !secret wifi_ssid
    password: !secret wifi_password
    domain: .skynet.local

    manual_ip:
    static_ip: 192.168.10.110
    gateway: 192.168.10.1
    subnet: 255.255.255.0

    ap:
    ssid: "${devicename} - ESP fallback hotspot"
    password: !secret ota_wifi_password

    captive_portal:

    logger:

    api:
    password: !secret ota_wifi_password

    ota:
    password: !secret ota_wifi_password

    web_server:
    port: 80

    time:
    - platform: homeassistant
    id: homeassistant_time

    text_sensor:
    - platform: version
    name: "${devicename} - ESPHome version"

    - platform: wifi_info
    ip_address:
    name: "${devicename} - IP"
    ssid:
    name: "${devicename} - SSID"
    bssid:
    name: "${devicename} - BSSID"

    sensor:
    - platform: uptime
    name: "${devicename} - Uptime"

    - platform: wifi_signal
    name: "${devicename} - WiFi signal"
    update_interval: 60s

    switch:
    - platform: restart
    name: "${devicename} - ESP reboot"

    - platform: gpio
    name: "${devicename} - Increase flame"
    pin: GPIO13 #D7
    id: INCREASE
    interlock: [DECREASE]

    - platform: gpio
    name: "${devicename} - Power button"
    pin: GPIO12 #D6
    id: POWER
    on_turn_on:
    - delay: 2s
    - switch.turn_off: POWER

    - platform: gpio
    name: "${devicename} - Decrease flame"
    pin: GPIO14 #D5
    id: DECREASE
    interlock: [INCREASE]

    - platform: template
    name: "${devicename} - On/Off"
    id: fireplace
    turn_on_action:
    - then:
    - switch.template.publish:
    id: fireplace
    state: ON
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE
    - delay: 15s
    - switch.turn_on: POWER
    - delay: 500ms
    - switch.turn_on: INCREASE
    - delay: 3s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - delay: 60s
    - switch.template.publish:
    id: fireplace_burners
    state: ON
    - switch.turn_on: DECREASE
    - delay: 100ms
    - switch.turn_on: POWER
    - delay: 2s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE
    - switch.template.publish:
    id: fireplace_cosy
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_on: INCREASE
    - delay: 6s
    turn_off_action:
    - then:
    - switch.template.publish:
    id: fireplace
    state: OFF
    - switch.template.publish:
    id: fireplace_burners
    state: OFF
    - switch.turn_on: POWER
    - delay: 3s
    - switch.turn_off: POWER
    - switch.turn_off: INCREASE
    - switch.turn_off: DECREASE

    - platform: template
    name: "${devicename} - Toggle burner(s)"
    id: fireplace_burners
    turn_on_action:
    - then:
    - switch.template.publish:
    id: fireplace_burners
    state: ON
    - switch.turn_on: DECREASE
    - delay: 100ms
    - switch.turn_on: POWER
    - delay: 2s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE
    turn_off_action:
    - then:
    - switch.template.publish:
    id: fireplace_burners
    state: OFF
    - switch.turn_on: INCREASE
    - delay: 100ms
    - switch.turn_on: POWER
    - delay: 2s
    - switch.turn_off: INCREASE
    - switch.turn_off: POWER
    - switch.turn_off: DECREASE

    - platform: template
    name: "${devicename} - Cosy"
    id: fireplace_cosy
    turn_on_action:
    - then:
    - switch.template.publish:
    id: fireplace_cosy
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_on: INCREASE
    - delay: 6s
    - switch.turn_off: INCREASE
    turn_off_action:
    - then:
    - switch.template.publish:
    id: fireplace_cosy
    state: OFF
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_off: DECREASE

    - platform: template
    name: "${devicename} - Cosy plus"
    id: fireplace_cosy_plus
    turn_on_action:
    - then:
    - switch.template.publish:
    id: fireplace_cosy_plus
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_on: INCREASE
    - delay: 7s
    - switch.turn_off: INCREASE
    turn_off_action:
    - then:
    - switch.template.publish:
    id: fireplace_cosy_plus
    state: OFF
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.turn_off: DECREASE

    - platform: template
    name: "${devicename} - Pilot"
    id: fireplace_pilot
    turn_on_action:
    - then:
    - switch.template.publish:
    id: fireplace_pilot
    state: ON
    - switch.turn_on: DECREASE
    - delay: 15s
    - switch.template.publish:
    id: fireplace_pilot
    state: OFF
    - switch.turn_off: DECREASE