Уличное освещение

В нашем СТ Теремок на улицах стоят старые светильники рассчитанные на ртутные лампы, но в них вкручены обычные светодиодные. И получается что основной световой поток лампы идет не то чтобы горизонтально, а немного вверх. В общем светильник на углу моего участка светит мне на обсерваторию, а не на дорогу.

Замена уличного светильника на мой была одобрена и был приобретен Feron SP3031. Светильник не самый лучший, но из недорого и не большой мощности выбора не было. Из доработок было решено подойти радикально — сделать дистанционное отключение.

Так как расстояние до него метров 30 от дома, то решил для управления использовать модуль ESP-12E и прошивку ESPHome — будет частью IoT устройств дома и можно будет управлять из Home Assistant. Для питания модуля и реле использовал зарядку от телефона, но пришлось немного доработать — поставил дополнительный LC фильтр по питанию. А для питания ESP-12E использовал понижающий DC-DC настроенный на 3.2 В. Собрано все вокруг платы зарядки:

Схема обвязки ESP-12E типовая, управление реле через биполярный транзистор, LED драйвер подключается к нормально замкнутым контактам:

Расположить удалось в отсеке с LED драйвером, место было не много и нужно было расположить модуль ESP-12E максимально ближе к пластиковой накладке линзового блока. В собранном виде ни как не отличается от оригинального:

В ESPHome немного пришлось повозиться с управлением — нужно чтобы свет был по умолчанию включен, а выход GPIO4 по умолчанию выключен. Нужно это чтобы не дергал реле во время загрузки. Пока получилось такое решение:

esphome:
  name: street_light_1
  platform: ESP8266
  board: esp12e

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  power_save_mode: "HIGH"
  fast_connect: "on"
  ap:
    ssid: "street_light_1"
    password: !secret fallback_ap_password

captive_portal:

logger:
  level: INFO

ota:
  password: !secret ota_password

status_led:
  pin:
    number: GPIO2
    inverted: true

switch:
  - platform: restart
    name: "Street Light 1 Restart"

mqtt:
  broker: !secret mqtt_brocker
  username: !secret mqtt_user
  password: !secret mqtt_password

sensor:
  - platform: uptime
    name: "Street Light 1 Uptime"

  - platform: wifi_signal
    name: "Street Light 1 WiFi Signal"
    update_interval: 5s
    filters:
    - sliding_window_moving_average:
        window_size: 20
        send_every: 6
output:
  - platform: gpio
    id: output_4
    pin: GPIO4

  - platform: template
    id: cutoff_relay
    type: binary
    write_action:
      - if:
          condition:
              lambda: return state;
          then:
            - output.turn_off: output_4
      - if:
          condition:
              lambda: return !state;
          then:
            - output.turn_on: output_4

light:
  - platform: binary
    id: light_1
    name: "Street Light 1"
    output: cutoff_relay
    restore_mode: ALWAYS_ON
    
web_server:
  port: 80

Отдал электрику на установку, дождался ночи и проверил что получилось. В целом не плохо — освещает перекресток улиц, и где-то треть моего участка. На дом попадает только его боковой рассеянный свет. Но и его можно выключить: