Ness DX8/DX16 Alarm

Sharing my solution for a panel that won’t accept commands. I wanted to be able to arm and disarm the panel and trigger the alarm. After going through a few ideas on another forum I was pointed to this:

So if like me you have zone 8 spare then you can use this to achieve what i wanted. I constructed this:

I 3D printed a simple box with external dimensions of 94x54x29mm (I used 2mm wall thickness and also a 2mm thick lid made the total height 31mm) to house it and that fits perfectly to the left of the battery. Running ESPHOME on the D1 mini with this config:

esphome:
  name: ness-alarm-control-d1
  platform: ESP8266
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "12345678901234567890123456789012"

wifi:
  ssid: "your_ssid"
  password: "your_password"

  manual_ip:
    static_ip: 192.168.1.97
    gateway: 192.168.1.254
    dns1: 192.168.1.206
    dns2: 192.168.1.165
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Ness-Alarm-Control-D1"
    password: "some_password"

captive_portal:

switch:
  - platform: gpio
    pin: D5
    id: momentary_keyswitch
  - platform: gpio
    pin: D7
    id: panic_button
  - platform: template
    name: "Ness Momentary Keyswitch"
    icon: "mdi:shield-key"
    turn_on_action:
    - switch.turn_on: momentary_keyswitch
    - delay: 1000ms
    - switch.turn_off: momentary_keyswitch
  - platform: template
    name: "Ness Panic Button"
    icon: "mdi:alarm-bell"
    turn_on_action:
    - switch.turn_on: panic_button
    - delay: 1000ms
    - switch.turn_off: panic_button
    
sensor:
  - platform: wifi_signal
    name: "Ness Alarm Control WiFi Signal Strength"
    update_interval: 60s

text_sensor:
  - platform: template
    name: "Ness Alarm Control Wifi Channel"
    lambda: |-
      std::string out;
      char buffer[64];
      sprintf(buffer, "%u", wifi_get_channel());
      out.append(buffer);
      return out;
    update_interval: 60s

I have two switches which I can use to dis/arm the panel and trigger the alarm. I am using ha-floorplan to build my own alarm control panel. This is where I am currently at (The disarmed on the left is the NESS panel and on the right is the HA automations):

1 Like