For those wanting to fix it now you should have a nessclient directory under /config/deps/lib/python3.x/site-packages Copy the python3.x directory and name it python3.10. Then go into site-packages/nessclient directory and edit connection.py Remove the line (about line 56) loop=self._loop,. Reboot and test.
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:
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:
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):
I’ve just set up HA Blue and want to integrate my NESS D8XD. Looking at the pics, everyone has been able to connect via serial, but, not sure if it’s because I have an RJ45 plug, my serial pins have a sort of cover over them to prevent a plug being inserted?
Images attached.
Can anyone point me in the right direction for Australian’s to be able to get this working?
I have an Ethernet plug to HA right next to the panel, so would prefer that, as the nearest PC is light years away.
Oh yeah, for anyone opening their box in the future…
THE ALARM BOX HAS A TAMPER SWITCH WHICH WILL SOUND THE SIREN!
Have someone ready to disarm the alarm, and don’t keep your head next to the siren.
Remove the cover from the serial port of your alarm board, plug the appropriate cable supplied with the above into it, then plug this into the IP232, connect this to your network and configure to suit.
I haven’t had an opportunity to have a good look at the serial output from the panel, but from reading through the ASCII protocol document, it seems as though the packets indicate which user has disarmed the panel.
Is there any possibility of expanding on this integration to report the user code that has disarmed to HA?
I imagine it could be an attribute that retains the last identified user code seen in a packet that includes the user code.
I’m good with serial comms but I wouldn’t know where to start with contributing code to HA.
The envisioned application is along the lines of implementing contractor codes, eg: provide a specific code to a cleaner, and when they use their code to disarm the panel, HA identifies the user code and can do things like open roller blinds and turn on lights, etc.
The serial comms abstraction is handled by my client library “nessclient”.
The code for handling the area events is here:
Currently it handles them in a generic way that doesn’t actually pull any additional information (like user ID) out of them, so some additional tweaks would first be required in the library to support it.
Once there is support, more work would need to be done in Home Assistant core to handle and provide that information to make use of it for automations, etc.
Although looking further (sorry am on mobile), looks like the second part of the payload (user ID) might already be coerced into the “zone” field for the event class instance:
(Please forgive my lack of knowledge - I wrote this library 5 years ago and have rarely needed to make changes since then!)
Firstly, thank you to those involved in getting this to work, in particual Nick for writing the library. It was nice to find out I can somewhat make my dumb alarm smarter.
My question is, what is the method to see when the alarm is going off so that I can get HA to notify me? From looking at the library Nick wrote, it appears the library is aware of different events and the Ness integration page states it reports on alarm status. I just can’t figure out where to find the alarm status in the list of triggers when creating an automation via the UI.
e.g. I know how to create an automation where the trigger is a state, and it is for when a motion sensor that changes state, then the action is to send a notification.
I see that entity when I go to Settings > Devices & Services > Entities.
I think the issue is that, I wont be able to create an automation using the UI wizard e.g. Settings > Automations: Triggers, Conditions, Actions.
Looks like it all needs to be done via YAML.
EDIT: I was able to get this to trigger notifications. I have a new issue but not related to NESS.
- alias: 'NEWSend notification when alarm is Arming'
trigger:
- platform: state
entity_id:
- alarm_control_panel.alarm_panel
to: "arming"
action:
- service: notify.notify
data:
message: "ALARM! The alarm is arming {{ states('sensor.date_time') }}"
title: "Alarm is arming"
Does anyone know if there is a way with this integration to only arm specific zones in the house? I was going to use the Arm Home for this as we have our pet sometimes in one part of the house when out, however arming home has a known bug
Yeah I know about that way but I was hoping I could either fix it so that it properly says armed home or at the very least exclude certain sensors via an automation I’d love to try help but I dont even know where to begin