Ness DX8/DX16 Alarm

My software is a paid product.

http://ness.degabrielle.com.au/

I’ve been testing MQTT over the last couple of months, haven’t been able to get commands to the panel to work correctly but alarm status etc is 100% functional.

Matt

Hi everyone, this thread has finally pushed me over into creating an account here on the forums.

I am the component developer of the Ness D8X/D16X component in home assistant and have been speaking with Yuddy over email.

As you all have noticed, the component was included in the latest release. As expected, there will be some bugs, possibly some of these you have picked up on.

From my testing, I thought I eliminated most, however I am still encountering occasional disconnections until HA is restarted. I will hopefully find time this coming weekend to try track down the cause of these.

For this component, you do the IP232 module, but I want to expend the client library to support connection via plain old RS232 via a computer’s serial port. If you’re a programmer, this could easily be added to the client by extending a new Connection class: nessclient/nessclient/connection.py at master · nickw444/nessclient · GitHub

Any old RS232 to IP module will work for you, as long as it can host a TCP server. I personally use a non-ness branded one (as I embarrassingly thought my Ness one was faulty, but found it was a broken ethernet cable).

3 Likes

Thanks Nick for all your hard work mate. Looking forward to the updates. :+1:

Thanks Nick, if you need any help testing let me know. I’m away until the 22nd but can help with any debugging you need.

Matt

Firstly, huge shout-out to @nickw444 for going to the trouble of developing and releasing this component for those of us who have a Ness alarm allowing us to integrate it with Home Assistant.

I like @Glenn_Pettitt have noticed the sensors aren’t updating as frequently as I’d like, often missing motion events.

I’d also be happy to provide any testing assistance should you require it.

Hey Nick!

I found your GitHub repository a few months back - and had been watching with interest from a thread over in the AusTech forums where a bunch of folks were trying to interface with their NESS’s. Personally I was planning (and trying) to use a NodeMCU/ESP8266 to go serial to WiFi and then into HA - but frustratingly have had nothing but issues with even that most basic approach. Now that you’ve gone all the way into HA, I reckon I’ll just bite the bullet at go via IP232 (or generic - as you did - Looks like Australian stock here for those that are interested …)

Awesome stuff!

(And @aumatt - I reckon you were one of the pioneers in that same “Ness D8X / D16X Serial Comms” thread!)

Cheers,
Chris

Chris, You are correct I am the same auMatt :slight_smile:

Hey Folks

I have now bought the same Serial to IP module that Nick bought (ended up getting it from 99tech in Oz (cheaper even with Express Post)). Have got it “connected” (the device tells me my HASS Pi is connected and receiving data …) but HA doesn’t seem to be liking what it is seeing (no state changes on my zones/PIR sensors).

My NESS is outputting the full string (i.e all P199E elements are on), e.g:

8709036101050018122709413536
87098361000400181227094135b8
8709036101040018122709413735

… which I can read from a telnet session into my IP232/TCP232.

I’ve got debug logging turned on for the component:

logger:
  default: info
  logs:
    homeassistant.components.ness_alarm: debug

But don’t seem to get anything useful out of that …

Config is pretty simple:

ness_alarm:
  host: 192.168.1.70
  port: 2401
  zones:
    - name: Study
      id: 1
    - name: Garage
      id: 2
    - name: Bedroom
etc etc

Anyone else have any issues connecting?

Thanks,
Chris

Chris, I didnt have any issues connecting but it seems to fail on keepalive, so would only run for a few minutes before it would stop processing incoming data.

Matt

Hopefully @nickw444 will be able to resolve these outstanding issue soon. Due to this keepalive issue I’ve temporarily stopped using the component as it’s not able to report the active status of the alarm.

Just a quick, are for the people having issues with losing comms, are you using the ness brand ip232 or a generic interface?

I’m using the ness interface, and I’ve only had a hand full drop outs, mainly after upgrades/restarts , since it’s been released

The 3-4 sec delays I noticed with the sensors not been acknowledged via home assistant, I think the sensor requires to detect x amount of motion before it sends a signal to the ness alarm panel, to avoid false triggering.

@Glenn_Pettitt I’m using a Ness IP232. Along with the panel status not updating I’ve found the sensors to be very reluctant to update upon any motion happening in a room.

In my case I can trigger the sensor multiple times but HA won’t detect that any motion has occurred.

Going by the logs it looks as though the ness component is calculating the zone incorrect as mine errors out with a zone out of range fault.

Hopefully I will find some time in the coming weeks. In the mean time anyone is welcome to raise a pull request against Home Assistant or nessclient if you can find the issue and resolve the drop outs.

Additionally, if you can provide further information about the dropouts like any log output from the ness-alarm component that would be very helpful. Add the following to your config:

logger:
  default: info
  logs:
    homeassistant.components.ness_alarm: debug
    homeassistant.components.alarm_control_panel.ness_alarm: debug
    homeassistant.components.binary_sensor.ness_alarm: debug
    nessclient: debug

Additionally, perhaps if you can, it would be helpful to isolate the issue to either nessclient library or home-assistant. Try running the ness-cli tool by itself and see if that has the same issues.

Interesting, nessclient might need some work to support P199E - There may be some edge cases that need to be handled for that type of output. Perhaps you can continue to capture some more data via telnet and note what actions caused that particular output and these can be added as test cases to nessclient and the edge cases handled.

@nickw444

Just enabled the logger for what you wanted.

2019-01-29 09:50:10 DEBUG (MainThread) [nessclient.client] Decoding data: ‘8704036100120019012909332957’
2019-01-29 09:50:10 DEBUG (MainThread) [nessclient.packet] Decoding bytes: ‘8704036100120019012909332957’
2019-01-29 09:50:10 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/local/lib/python3.6/site-packages/nessclient/client.py”, line 141, in keepalive
self._update_loop(),
File “/usr/local/lib/python3.6/site-packages/nessclient/client.py”, line 123, in _recv_loop
self.alarm.handle_event(event)
File “/usr/local/lib/python3.6/site-packages/nessclient/alarm.py”, line 51, in handle_event
self._handle_system_status_event(event)
File “/usr/local/lib/python3.6/site-packages/nessclient/alarm.py”, line 89, in _handle_system_status_event
return self._update_zone(event.zone, True)
File “/usr/local/lib/python3.6/site-packages/nessclient/alarm.py”, line 120, in _update_zone
zone = self.zones[zone_id - 1]
IndexError: list index out of range

Hope that helps

Matt

I’m using the Ness branded and I have the same issues as everyone else. Only works after a HASSIO restart and my sensors don’t ever work.

Hi All

Just an update on my setup & integration. At the moment everything is working (touch wood). All my PIR sensors remain connected and update correctly, as does the overall alarm state and the ability to Arm/Disarm via the UI.

@nickw444 - regarding the ASCII output - it seems the NESS library is handling the “Full” string just fine (i.e all P199E elements enabled:

Option No. Description
1e Send Address
2e Send time Stamp
3e Send Alarms
4e Send Warnings
5e Send Access events
6e Zone Seal State (D8x/D16x V6 and later)

My only unknown is overall stability - I’ve been playing around with my HA a bit, so have been restarting regularly.

Cheers

@nickw444

I’ve just ran a log for 20 hours - then i lost feedback from the sensor (i could still set the alarm though?)

2019-01-30 18:46:13 DEBUG (MainThread) [nessclient.client] Forcing a keepalive state update
2019-01-30 18:46:13 DEBUG (MainThread) [nessclient.client] Decoding data: ‘820003600000001b’
2019-01-30 18:46:13 DEBUG (MainThread) [nessclient.packet] Decoding bytes: ‘820003600000001b’

2019-01-30 18:47:13 DEBUG (MainThread) [nessclient.client] Forcing a keepalive state update
2019-01-30 18:47:14 DEBUG (MainThread) [nessclient.client] Decoding data: ‘8200036014000007
820003600000001b’
2019-01-30 18:47:14 DEBUG (MainThread) [nessclient.packet] Decoding bytes: ‘8200036014000007
820003600000001b’
2019-01-30 18:47:14 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/local/lib/python3.6/site-packages/nessclient/client.py”, line 141, in keepalive
self._update_loop(),
File “/usr/local/lib/python3.6/site-packages/nessclient/client.py”, line 118, in _recv_loop
pkt = Packet.decode(decoded_data)
File “/usr/local/lib/python3.6/site-packages/nessclient/packet.py”, line 126, in decode
raise ValueError(‘Unable to consume all data’)
ValueError: Unable to consume all data
2019-01-30 18:48:13 DEBUG (MainThread) [nessclient.client] Forcing a keepalive state update
2019-01-30 18:49:13 DEBUG (MainThread) [nessclient.client] Forcing a keepalive state update
2019-01-30 18:49:13 DEBUG (MainThread) [nessclient.client] Closing stale connection and reconnecting
2019-01-30 18:49:13 DEBUG (MainThread) [nessclient.client] Attempting to connect
2019-01-30 18:50:13 DEBUG (MainThread) [nessclient.client] Forcing a keepalive state update
2019-01-30 18:51:13 DEBUG (MainThread) [nessclient.client] Forcing a keepalive state update
2019-01-30 18:51:13 DEBUG (MainThread) [nessclient.client] Closing stale connection and reconnecting
2019-01-30 18:51:13 DEBUG (MainThread) [nessclient.client] Attempting to connect
2019-01-30 18:52:13 DEBUG (MainThread) [nessclient.client] Forcing a keepalive state update
2019-01-30 18:53:13 DEBUG (MainThread) [nessclient.client] Forcing a keepalive state update
2019-01-30 18:53:13 DEBUG (MainThread) [nessclient.client] Closing stale connection and reconnecting

Just replying to myself … I’ve been up for 48 hrs - rock solid.

Cheers

The results from my logs are no different from what @aumatt or @Glenn_Pettitt have posted.

Since the component hasn’t changed I’d be interested to find out what is different in your setup @FrontBottom to mine and others experiencing similar issues.

It doesn’t look like a keepalive issue since I keep seeing nessclient activity in the log but the sensor reporting is slow as hell. I would expect once a zone has been tripped within 1-2 seconds the state in HA should update. Except in my case it seems to only update if it’s timed perfectly with a polling request form nessclient, almost as if it’s lagging behind?

Then once the zone has been triggered it says active for almost 1 minute before resetting, this cannot be normal.