esphome:
  name: ir-blaster
esp8266:
  board: d1_mini

wifi:
  networks:
  - ssid: "NETZ39"
    password: !secret WifiPassword

# Enable logging
logger:
  level: INFO

# Enable Web server
web_server:
  port: 80

# Enable Home Assistant API
#api:
#  reboot_timeout: 0s
#  encryption:
#    key: ""

mqtt:
  broker: mqtt.n39.eu
  port: 1883

ota:
  - platform: esphome
    password: !secret OtaPassword

time:
  - platform: sntp
    id: sntp_time
    servers:
      - ptbtime1.ptb.de
      - ptbtime2.ptb.de
      - ptbtime3.ptb.de

button:
  - platform: template
    name: Casio Power Button
    on_press:
      - remote_transmitter.transmit_nec:
          address: 0xF484
          command: 0xF40B
          command_repeats: 3
  - platform: template
    name: "Monitor An/Aus"
    on_press:
      - remote_transmitter.transmit_lg:
          data: 0x02FD48B7 # power on/off
          nbits: 32
  - platform: template
    name: "Ventilator An/Aus"
    on_press:
      - remote_transmitter.transmit_pronto:
          data: "0000 006D 0018 0000 002E 0013 002E 0013 000E 0034 002D 0013 002E 0013 000E 0034 000D 0034 000D 0034 000D 0034 000D 0034 000D 0034 002E 0117 002E 0013 002E 0013 000E 0034 002E 0013 002E 0013 000E 0034 000D 0034 000D 0034 000D 0034 000D 0034 000D 0034 002E 0181 06C3"
  - platform: template
    name: "MultisyncX401S Taste 0"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [7910, -4019, 448, -546, 449, -545, 448, -1540, 448, -545, 449, -1540, 448, -1540, 449, -1540, 453, -1534, 448, -4030, 456, -537, 451, -1536, 450, -545, 449, -545, 450, -1538, 449, -547, 447, -546, 448, -545, 450]
          repeat:
            times: 5
            wait_time: 16ms
          carrier_frequency: 38kHz
  - platform: template
    name: "MultisyncX401S Taste 1"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [7903, -4024, 453, -542, 450, -521, 470, -1545, 443, -547, 448, -1538, 450, -1539, 449, -1543, 445, -1539, 448, -4030, 447, -551, 444, -544, 449, -545, 449, -1541, 447, -547, 447, -547, 447, -545, 449, -546, 451]
          repeat:
            times: 5
            wait_time: 16ms
          carrier_frequency: 38kHz
  - platform: template
    name: "MultisyncX401S Taste 2"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [7901, -4024, 454, -546, 445, -543, 449, -1539, 449, -527, 469, -1537, 451, -1538, 448, -1545, 443, -1542, 445, -4029, 448, -1540, 448, -546, 449, -544, 450, -1539, 453, -541, 451, -542, 449, -546, 450, -543, 450]
          repeat:
            times: 5
            wait_time: 16ms
          carrier_frequency: 38kHz
  - platform: template
    name: "MultisyncX401S Taste 3"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [7957, -3970, 502, -493, 501, -493, 502, -1491, 500, -494, 497, -1491, 496, -1487, 501, -1486, 511, -1477, 500, -3977, 501, -493, 502, -1487, 503, -490, 501, -1487, 501, -494, 500, -492, 502, -493, 501, -493, 501]
          repeat:
            times: 5
            wait_time: 16ms
          carrier_frequency: 38kHz
  - platform: template
    name: "MultisyncX401S Taste 4"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [7905, -4023, 475, -522, 445, -547, 447, -1540, 448, -546, 448, -1541, 447, -1541, 472, -1516, 472, -1518, 445, -4028, 449, -1540, 474, -1514, 448, -546, 448, -1545, 469, -520, 476, -517, 449, -546, 448, -546, 472]
          repeat:
            times: 5
            wait_time: 16ms
          carrier_frequency: 38kHz
  - platform: template
    name: "MultisyncX401S Taste 5"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [7901, -4021, 473, -520, 449, -545, 474, -1514, 449, -546, 451, -1537, 453, -1534, 454, -1535, 448, -1540, 448, -4028, 449, -546, 448, -545, 449, -1539, 449, -1539, 449, -545, 449, -545, 449, -546, 448, -545, 449]
          repeat:
            times: 5
            wait_time: 16ms
          carrier_frequency: 38kHz
  - platform: template
    name: "MultisyncX401S Taste 6"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [7903, -4024, 450, -544, 449, -544, 477, -1512, 451, -545, 473, -1513, 449, -1538, 451, -1538, 450, -1538, 449, -4027, 451, -1538, 449, -545, 452, -1536, 472, -1515, 449, -546, 455, -538, 449, -545, 450, -545, 450]
          repeat:
            times: 5
            wait_time: 16ms
          carrier_frequency: 38kHz
  - platform: template
    name: "MultisyncX401S Taste 7"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [7903, -4024, 448, -546, 448, -549, 446, -1543, 444, -546, 448, -1540, 448, -1540, 448, -1543, 451, -1538, 444, -4028, 449, -545, 453, -1541, 444, -1539, 448, -1541, 447, -531, 463, -546, 448, -545, 449, -546, 453]
          repeat:
            times: 5
            wait_time: 16ms
          carrier_frequency: 38kHz
  - platform: template
    name: "MultisyncX401S Taste 8"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [7904, -4024, 448, -546, 449, -547, 446, -1539, 449, -546, 448, -1544, 446, -1539, 447, -1540, 449, -1540, 447, -4031, 450, -1540, 444, -1540, 448, -1539, 449, -1540, 448, -547, 447, -547, 448, -544, 449, -545, 449]
          repeat:
            times: 5
            wait_time: 16ms
          carrier_frequency: 38kHz
  - platform: template
    name: "MultisyncX401S Taste 9"
    on_press:
      - remote_transmitter.transmit_raw:
          code: [7904, -4024, 449, -545, 448, -545, 450, -1540, 447, -546, 449, -1539, 448, -1547, 442, -1539, 448, -1540, 526, -3951, 448, -546, 448, -548, 446, -545, 449, -546, 448, -1541, 449, -547, 445, -549, 445, -545, 450]
          repeat:
            times: 5
            wait_time: 16ms
          carrier_frequency: 38kHz


remote_receiver:
  pin: 
    number: GPIO2
    inverted: True
    mode: INPUT_PULLUP
  dump: all
# Change to dump: all to see all protocols, use dump: raw to see raw codes

remote_transmitter:
  pin: GPIO04
  # Infrared remotes use a 50% carrier signal
  carrier_duty_percent: 50%

sensor:
# Extra sensor to keep track of plug uptime
  - platform: uptime
    name: Uptime Sensor
  - platform: wifi_signal
    name: "WiFi Signal Sensor"
    update_interval: 60s