Home Assistant Home Assistant WGL Designs W800RF32 Integration

pete_c

Guru
WGL Designs W800RF32

Here still using the W800RF32 with Homeseer. I am running Homeseer 4 and Home Assistant on an Ubuntu 22.04 computer.

Homeseer 4 is running on native Ubuntu 22.04 and Home Assistant is running in a Virtual Box. The hardware is an IBM Lenova Tiny M900.

I am going to switch the W800 currently running on Homeseer 3 (another computer) to Home Assistant.

1 - add current user to dialout group.==> sudo adduser $USER dialout
2 - plugged in USB to serial device and checked HA via SSH to make sure it is recognized.

Code:
| |  | |                          /\           (_)   | |            | |
| |__| | ___  _ __ ___   ___     /  \   ___ ___ _ ___| |_ __ _ _ __ | |_
|  __  |/ _ \| '_ \ _ \ / _ \   / /\ \ / __/ __| / __| __/ _\ | '_ \| __|
| |  | | (_) | | | | | |  __/  / ____ \\__ \__ \ \__ \ || (_| | | | | |_
|_|  |_|\___/|_| |_| |_|\___| /_/    \_\___/___/_|___/\__\__,_|_| |_|\__|

Welcome to the Home Assistant command line.

System information
  IPv4 addresses for enp0s3: 192.168.244.174/25
  IPv6 addresses for enp0s3: xxxx

  OS Version:               Home Assistant OS 10.5
  Home Assistant Core:      2023.9.2

  Home Assistant URL:       http://homeassistant.local:8123
  Observer URL:             http://homeassistant.local:4357
➜  ~ cd /dev
➜  /dev ls ttyU*
ttyUSB0  ttyUSB1

3 - another way to check serial to usb hardware connection is: all-hardware.jpg
settings ==> hardware ==> all hardware

4 - Edited configuration.yaml file and added:
Code:
w800rf32:
  device: /dev/ttyUSB0

Code:
binary_sensor:
  - platform: hikvision
    host: 192.168.244.154
    username: pete
    password: password
    name: "Optex Driveway Camera"
  - platform: w800rf32
    devices:
      a1:
        name: test chime

5 - developer tools ==> check and restart ==> check configuration ==> Configuration will not prevent Home Assistant from starting!
6 - restarted HA ==> check and restart ==> restart

7 - plugged in W800 and powered it up.

8 - via ssh manually installing it get an error.
Code:
➜  ~ ha addons install w800rf32
Processing... Done.
Error: Addon w800rf32 with version latest does not exist in the store
➜  ~
Code:

9 - manually copied over components and now see this in the HA log.

Code:
2023-09-23 18:39:00.481 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration w800rf32 which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2023-09-23 18:39:00.481 ERROR (SyncWorker_1) [homeassistant.loader] The custom integration 'w800rf32' does not have a version key in the manifest file and was blocked from loading. See https://developers.home-assistant.io/blog/2021/01/29/custom-integration-changes#versions for more details

10 - edited the manifest file.
 
Last edited:
Yes, I confirmed that HA sees all four serial ports both ways - from terminal and in the Hardware screen
 
Back to square #1. Tested the W800 on the Linux host with a Python script. Working using the X10 palm pad.

Code:
root@ICS-HS4-M900:/opt/w800# ./receive.py
In main... ['./receive.py']
Running with ---> Port: /dev/ttyUSB2, Baud: 4800, Xonxoff: False
<W800rf32.Connect object at 0x7f8b57993fd0>
W800rf32: Recv: 0x60 0x9f 0x00 0xff
X10 Housecode: A, Unit code: 1, Command: On
W800rf32: Recv: 0x60 0x9f 0x00 0xff
X10 Housecode: A, Unit code: 1, Command: On
W800rf32: Recv: 0x60 0x9f 0x00 0xff
X10 Housecode: A, Unit code: 1, Command: On
W800rf32: Recv: 0x60 0x9f 0x00 0xff
X10 Housecode: A, Unit code: 1, Command: On
W800rf32: Recv: 0x60 0x9f 0x00 0xff

Then again on the HA Virtual box.

Code:
➜  w800 ls /dev/ttyU* 
/dev/ttyUSB0  /dev/ttyUSB1  /dev/ttyUSB2
➜  w800 ./receive.py   
In main... ['./receive.py']
Running with ---> Port: /dev/ttyUSB1, Baud: 4800, Xonxoff: False
<W800rf32.Connect object at 0x7ff1d06d1410>
W800rf32: Recv: 0x60 0x9f 0x00 0xff
X10 Housecode: A, Unit code: 1, Command: On
W800rf32: Recv: 0x60 0x9f 0x00 0xff
X10 Housecode: A, Unit code: 1, Command: On
W800rf32: Recv: 0x60 0x9f 0x00
W800rf32: Recv: 0x60 0x9f 0x00
W800rf32: Recv: 0x60 0x9f 0x00 0xff
X10 Housecode: A, Unit code: 1, Command: On
 
Hi Pete,
So are you saying that it works for you with HA?
I looked at the bug ticket you opened. The one response said the yaml file was in complete, but that is wrong. My file is exactly as he shows.
 
The W800rf32 hardware was tested in Linux to work fine after installing pyserial and pyw800rf32

1 - pip install pyserial
2 - pip install pyW800rf32

That said it doesn't work in Home Assistant and digging into the python logs see errors in the HA Python scripts and this is copying over the integration components.
 
OK, thanks
Another question for you. Is it possible to have an app install (minocom, pynx584) to install so that if I reboot the machine I don't have to re install the apps? And if so, what it the procedure?
 
In the HA OS you have to install the app via the HA CLI. There is an HA Python integration to install Python scripts.


IE: when I tested the W800 stuff with python via SSH to the HA OS...it worked until I rebooted then the scripting I used would go away on reboot.

Here went to a Tasmota 433Mhz hub for wireless things like 433Mhz outdoor PIRs. There is also a Home Assistant X10 MQTT integration which works with CM11A's and W800's out there some place.
 
Found this and why my libraries don't stick on reboot. IE: I am running the VM version of HA these days.

My first installation of HA was via docker on Ubuntu Linux a few years back and documented right here on the forum for use with the Omnilinkbridge add on.

IE: I am running the OS version today. It is much easier to manage these days.

There are four official ways to install Home Assistant 401. You chose the one that comes with its own operating system. It’s a highly streamlined version of Debian Linux, optimized for hosting the docker version of Home Assistant Core (and several other, related docker containers). This purpose-built operating system does its own updates as well. The main goal is to provide just enough operating system to host Home Assistant and no more.

If you want complete control over the operating system, including the ability to install other things, you will need to choose one of the other three installation methods.
 
So i guess maybe its time to just move on from the W800 if I want to move over to HA. I'll try to find some insteon or zwave alternative.
A bigger problem is the integration my NX alarm panel. I use it for both window and door monitoring but also motion detection. In order to use it, according to the documentation I have to install pynx584 and then run nx584_server. However if I reboot then nx584_server is not available. Are you saying that to solve that I need to install a different method?
By the way, if it matters, the python install is persistent between boots.
 
Still bugging the developer of the W800 integration.

Here running HA in an Oracle Virtual Box. It is running the HA OS. I cannot install Python Libraries on it. Well I can but on reboot they are gone same as you.

if the Core acts the same as Supervised, you will loose all the changes when updating the Core to the newest version and you will have to repeat the process

Virtual Box is running on Ubuntu 22.04.

I also run Windows 7 in another virtual box which runs Microsoft SAPI and a few instances of Homeseer Speaker.

and running CumulusMX on the same box and Homeseer 4.

My very first version of HA ran in docker.

I see now which installation you are using. IE: https://www.home-assistant.io/installation/generic-x86-64

So it is similar to mine running in Virtual box. So any changes to OS will reset on reboot or updating HA Core.

That said reading up on the NX584 server...you can install it on anything....IE: an RPI, or another Linux server, et al. I used to run MQTT broker on base Ubuntu OS until HA fixed it and now it works great.

Bug comments on integration:

Not an expert but it doesn't look like it is connecting to the server. It looks like you are using Home Assistant OS which I don't believe there is a way to run pynx584 server on the OS. You need a separate computer/raspi connected via serial to the panel that is on your local network.

Once you have the server up and running (you should ssh in and test that it has access to the panel), your config.yaml code needs to know the IP address of the pynx584 server (otherwise I believe it defaults to localhost). See below for what the config.yaml should look like. Again this is assuming you have pynx584 properly setup.
 
Last edited:
Pete,
I really appreciate all the investigation you have put into this. It seems like I go down one rabbit hole after another. I know just enough about linux to get myself into trouble. I'll look into the W800-MQTT if I can figure out how to get it to work on the windows computer that is running all my automation now (i.e. CQC) Its almost at a point of keeping things as they are until it is totally broken. After all it has been running this way for 20 years now. I'm amazed at how many different systems you have running and are on top of all of them.
 
What do you utilize the W800 for these days?

Been testing a Tasmota 433Mhz hub (Sonoff Bridge) which speaks MQTT. You can purchase a battery operated 8 channel 433Mhz remote for it similiar to the X10 Palmpad.

1695827287983.png

and 433Mhz Sonoff PIRs (which I am using today) and probably contact switches.
 
Back
Top