Jablotron JA-80 series and JA-100 series alarm integration

I tried several ways, with brackets…, I also tried to activate MOBDUS TCP/RTU in the USR, that doesn’t work.

I changed the port, it doesn’t change anything

socket://192.168.150.162:5220
//192.168.150.162:5220
socket://192.168.150.162:5220

from my PC and the program, I can connect to the USR and see the hexadecimal values of JABLOTRON, since HA I can’t do it.
For the “socket” connection, you don’t need to add anything in a yaml file, or in python?

please help is welcome

Reading through this post I can share I have a Jablotron80 connected to a Raspberry Pi4.

It is an old style printer cable connected to a white box JA82T. From this box a phone wire goes into the OASIS machine.
This setup works on a windows machine with Olink installed.

Now on the Pi to get started with HA I thought… Connect it first to the Pi and see if it spits data. (because in the end it needs to work with ser2net as homeassistant machine is further away).

sudo cat /dev/hidraw0

However nothing happens. So before I continue I think this needs to be solved first in some way. What did I miss in setting this up successfully.

Dear community,

I have a Jablotron JA-80 and, i’m using Node-red installed on a QNAP server by docker.
Do you kwnow if it’s possible to connect this alarm with node-red ?

Thanks :slight_smile:

Nodered direct or via HA entities?

Definitely possible using this integration via HA entities.

Direct for nodered i haven’t tried, but I’d expect it to be much more complex

Depends what sort of HA setup you have…… and since HA is dockerised, it depends on which context you are running this command in.

But bottom line you are correct, your command should spit out data and a similar one does on my setup which is a Rpi4 running Home Assistant supervisor.

But sudo command is not available on my setup.

Tnx. I am running the command directly on the host itself.
So HA is completely out of the picture.
For testing purposes I put my Jablotron 80 in service mode to see if it would generate messages. However no luck here.

USB

[8740307.227652] usb 1-1.3: new full-speed USB device number 4 using xhci_hcd
[8740307.339663] usb 1-1.3: New USB device found, idVendor=16d6, idProduct=0007, bcdDevice= 1.00
[8740307.339684] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[8740307.339695] usb 1-1.3: Product: JA-82T PC Interface
[8740307.339701] usb 1-1.3: Manufacturer: JABLOTRON ALARMS
[8740307.339707] usb 1-1.3: SerialNumber: 00000000
[8740307.349070] hid-generic 0003:16D6:0007.0002: hiddev96,hidraw0: USB HID v1.11 Device [JABLOTRON ALARMS JA-82T PC Interface] on usb-0000:01:00.0-1.3/input0

It will generate messages constantly regardless of service mode or not, and what you are doing should work…… it’s exactly what I did when I developed the integration.

Actually I used hexdump command instead, though cat does work, just displays gibberish as it’s a binary feed.

mmm at the moment it displays nothing.
I Tried
Raspberry Pi4 and a Pi3b both aarch64 GNU/Linux

 sudo cat /dev/hidraw0
 sudo cat /dev/usb/hiddev0

Let me boot the windows machine to check if OLINK is still working… No clue what to try otherwise.

So I booted up the Windows Machine and started OLINK software. That works just fine. The item is recognized as a HID device.
HID Devices

Unfortunately I did not yet figure out how to read data from that port on a windows machine as putty seems to only support COM ports.

The HID seems similar to what the raspberry Pi is mentioning however from the CLI I seem to be unable to retrieve any data.

Although the sudo cat /dev/hidraw0 did not provide any visual info I did the following.

Install homeassistant (in docker) on the machine temporarily where the usb cable was plugged in. The official homeassistant machine is located further away from the USB cable but I wanted to make sure that it worked.

2024-04-06 22:03:04.753 DEBUG (MainThread) [custom_components.jablotron80] JablotronLed function call active
2024-04-06 22:03:04.753 DEBUG (MainThread) [custom_components.jablotron80] JablotronLed function call active
2024-04-06 22:03:04.754 DEBUG (MainThread) [custom_components.jablotron80] JablotronLed function call active
2024-04-06 22:03:04.754 DEBUG (MainThread) [custom_components.jablotron80] JablotronLed function call active
2024-04-06 22:03:04.754 DEBUG (MainThread) [custom_components.jablotron80] JablotronLed function call active
2024-04-06 22:03:04.755 DEBUG (MainThread) [custom_components.jablotron80] JablotronAlert function call value
2024-04-06 22:03:04.755 DEBUG (MainThread) [custom_components.jablotron80] JablotronSensor function call value
2024-04-06 22:03:04.755 DEBUG (MainThread) [custom_components.jablotron80] JablotronSensor(1): value changed from 0.0 to 25.0
2024-04-06 22:03:04.755 DEBUG (MainThread) [custom_components.jablotron80] publishing updates
2024-04-06 22:03:04.757 DEBUG (MainThread) [custom_components.jablotron80] Zone A action disarm
2024-04-06 22:03:04.759 DEBUG (MainThread) [custom_components.jablotron80] Zone B action disarm
2024-04-06 22:03:04.760 DEBUG (MainThread) [custom_components.jablotron80] Zone C action disarm

So made some slight progress.

Ok so the spare Homeassistant is able to connect via hidraw0.

Jablotron80

Now let’s see if we can get this thing working remotely.
I assume this is the easiest way USR-TCP232-T2 ?

Would that mean get another ‘Printer Cable’ cut off the USB connector and solder the wires to the USR-TCP232-T2 or should something else ?

Before I buy something I tried the following
Jablotron is connected to a Server (raspberry pi 4) via the usb cable

Homeassistant is installed on the Client (raspberry pi 5).
Client and Server can reach each other over the LAN network.

With the help of:
https://derushadigital.com/other%20projects/2019/02/19/RPi-USBIP-ZWave.html

I was able to connect to the /dev/hidraw0 USB over the LAN via TCP. As I could not find the package linux-tools-generic , I needed to modify the script on the Client a bit.
I installed on the client:
apt install usbip hwdata usbutils

And Modified the script to:

[Unit]
Description=usbip client
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c "/usr/sbin/usbip attach -r CLIENTIP -b $(/usr/sbin/usbip list -r CLIENTIP | grep '16d6:0007' | cut -d: -f1)"
ExecStop=/bin/sh -c "/usr/sbin/usbip detach --port=$(/usr/sbin/usbip port | grep '<Port in Use>' | sed -E 's/^Port ([0-9][0-9]).*/\1/')"

[Install]
WantedBy=multi-user.target

And I was able to use the custom integration on a remote Homeassistant.

2024-04-07 18:08:52.382 DEBUG (MainThread) [custom_components.jablotron80] JablotronLed function call active
2024-04-07 18:08:52.382 DEBUG (MainThread) [custom_components.jablotron80] JablotronLed function call active
2024-04-07 18:08:52.382 DEBUG (MainThread) [custom_components.jablotron80] JablotronLed function call active
2024-04-07 18:08:52.382 DEBUG (MainThread) [custom_components.jablotron80] JablotronLed function call active
2024-04-07 18:08:52.382 DEBUG (MainThread) [custom_components.jablotron80] JablotronLed function call active
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] JablotronAlert function call value
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] JablotronSensor function call value
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] JablotronSensor(1): value changed from 75.0 to 25.0
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] publishing updates
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] Zone A action disarm
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] JablotronZone function call status
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] Zone B action disarm
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] JablotronZone function call status
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] Zone C action disarm
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] JablotronZone function call status
2024-04-07 18:08:52.383 DEBUG (MainThread) [custom_components.jablotron80] message: Triggered detector