I had a hard time setting up my litejet system. I was just about to throw my raspberry pi out the window but then somehow I decided to update my centralite firmware chip and then everything started working like magic! Well almost anyway. I get all the devices to show up, I blocked the ones I don’t want, I even have alexa working 100% turning stuff on and off or setting brightness, etc etc etc. But the one thing I can’t figure out is how to get the loads to re-status. In home assistant they all status correctly on a reboot. If the load is ON it shows ON, if I turn it OFF it turns OFF but then the display in home assistant waits a few seconds and goes back to ON (the load does stay off though) At this point I can not turn it back on because HA thinks it is ON. The only way to get it back ON is to click the load and move the dimmer slider up and then the light comes on. The same works in reverse if the initial boot of HA shows the load OFF I can turn ON but the switch goes back to OFF in a few seconds. Again alexa voice commands work great I can use that 100% but it would be nice to have them statused correctly in HA.
What Centralite system you have? are you running original LiteJet or you are on newer Elegance, Elegance XL or Elite?
It’s an original litejet. I found some files in HA that was set to not auto refresh. I can’t remember where but I changed them and got it working. Since then I updated HA and it stopped again and I found it a second time. It was some litejet.py file or something. Next time I will write it down I need to update HA again but don’t want to mess anything up so I have been waiting.
ok… then you good to go, I have modified it to work with 48 loads Elegance system, while it similar, it’s very different as well, but it was doing what your system doing…
-p
I have a Centralite Elegance (top floor) system AND I have a Centralite Jetstream (basement). It looks like these two systems use the same serial port config and command structure. I’d love any info you guys have on how to support these in HA. I am brand new to browsing the forum and will be looking into getting an rpi4 setup to experiment with my Centralite systems. I have the manuals and understand the scene/load info.
(I currently have a serial-to-ethernet device on my Elegance system and use another home automation tool to send http calls to it to trigger lights on/off. The downside is that I don’t know the state of the lights so I can’t do anything based on a human pushing a physical light switch/button. The system I’m using also isn’t very consistent in how it handles z-wave so I’m considering moving off of it.)
i have created driver for elite, which using same commands set as elegance
if you want to try it let me know
-p
Yes, that would be very helpful.
here you go
keep in mind the only thing working is light… I never did switch or scenes
place it in your custom_components/centralite
add following to your configuration.yaml
centralite:
port: /dev/ttyUSB0 <— your port path
in your customize.yaml you want to create friendly names it will look like this:
light.l004:
friendly_name: Corridor
system is hardcoded to eLite, which has 48 loads and 138 switches
elegance could be much bigger, hence you might have to change it in pycentralite.py
class Centralite:
FIRST_LOAD = 1
LAST_LOAD = 48
FIRST_SCENE = 1
LAST_SCENE = 41
FIRST_SWITCH = 1
LAST_BUTTON_SWITCH = 96
LAST_SWITCH = 138
UPDATE: I have found that I can control the light if I use this as a test: self._serial.write(b"^a055")
I can also do the following like the code. Sorry for the long post, my python skills are crap.
blah = "^a055"
self._serial.write(blah.encode('utf-8'))
– original message –
I’m finally getting into the details of implementing this. I do not seem to have any communication between my /dev/ttyUSB0 (verified via dmesg|grep usb) and HA. From the HA console, I can echo commands to the /dev/ttyUSB0 and the Centralite system responds. If I try to do a serial write somewhere in the custom component py files to try to turn on a light, nothing happens. Maybe I’m putting the test write in the wrong place, but I’ve tried about 5-10 places and nothing occurs. Also, on the init when it is checking the load levels, it always gets ‘none’ back which seems like it really isn’t communicating with the serial usb device.
I’m going to keep hunting but I’m getting a bit stumped. I’m running the full HA OS install on my rpi 4 on an ssd.
For the archive and posterity, I had to enable CR for 3rd party integration in the Centralite configuration software and make sure that setting is sent to the Elegance system. This will make sure the CR is sent so that python knows where the end of the response is.
Update: For Centralite Elegance to send load level changes and button presses notices out the RS232 port(s), it must be enabled in the Centralite via its configuration software.
I forked pashar1’s github and posted my version of the code. I’m not much of a python coder but I got scenes & switches working and got the light state working bi-directionally.
Back with another issue. Not sure why this started but I have 2 lights in litejet that stopped working. All the other lights turn on and off correctly but 2 (front door and driveway) if I click them they sit for a second and click back off (or on if already on) The light itself doesn’t turn on or off. I removed the integration and readded it and it still does the same thing. Video Here