Brand new to Home Assistant

Some background before the question:

I am in the process of reverse engineering my Vevor TV lift. I now understand it well enough to work on a solution to interface with Home Assitant. I just started using Home Assitant a week ago so I am at the bottom of the learning curve and am seeking some advice from the veterans.

What I would like to present in HA is the current position of the lift and have a way to send one of 4 commands to the lift (up, down, memory position 1, and memory position 2).

So my question is how is the best (easiest) way to integrate that into HA? I could make a little local webserver and publish a JSON API, or is there some “standard” thing I can do that will “just work” in HA if I implement to that spec. I would like to not try and recreate ZigBee or ZWave protocol so would like to stop short of that.

I’ve never looked at it before but is ESP-Home something that can easily present encoder readings and trigger a set of commands?

Not sure if it is important to note but it may be so I will. I am pretty familiar with circuit design, software design, and protocol design so my question is not about that. It is more about as I make these integrations what is a common method to interface to HA.

I have three other things I need to interface in the near future too:

  • Rabbit Air MinusA2 (I am almost done reverse engineering it’s protocol)
  • Continous water level meter (for a water bottle in a cabinet)

So, would like to reuse my learnings from the TV lift integration for these next two projects.

Do you have to hold the up and down buttons continuously to move the TV, or is it push once it and goes up and down?

If just push once, it’s possible you can use a Broadlink RM pro to learn the RF signal and repeat it out to control the device. This generally won’t work though if it has to be “held down” continuously. I have the RM pro and have used it to control an RF “dumb” ceiling fan.

Otherwise, soldering wires between a multi channel relay to the contacts where the buttons are on either the remote or plugged in device should work. When the relay activates it makes the same connection you would make by pressing a button. I’m in the process of doing this for an after market remote used to lock/unlock/start a car. This is the type of relay I’m talking about which you should be able to flash with ESPHome. It also comes in a zigbee version (which I the route I went) which will connect right into your zigbee network if you have a coordinator already without needing to flash it at all. They are relatively inexpensive, but messing up your device by soldering could definitely be a concern.

Since the device has no wifi or connectivity built into it, I can’t imagine there’s any way to “hack” into the RJ45 plug or add a chip to it somehow to connect it (at least not a way I would know how to do).

1 Like

For your button press question, I can do it either way since I am writing the code and designing the hardware. But the plan is to push and it will execute the proper hardware signals to the lift.

I don’t want to use the existing RF link because it does not have the encoder data… I have already integrated the signals to the lift hardware so now just trying to understand the protocol from my “device” to HA. I have WiFi for the lift now (or BLE or ???) but not sure what would be easiest to integrate with HA. I feel like WiFI is the best if there is some standard discovery and control set that HA just supports.

Its definitely getting beyond my expertise, but many wifi devices connect to Home Assisant through MQTT. Is there anyway you can get your device configured to work with that?

Otherwise I think you would need to write your own integration.

Oh! MQTT is a great idea!!! And it’s a pretty simple protocol I will explore that.

And I should have mentioned in my first post is that my device is basically a man-in-the-middle for the RJ45 connection so I don’t have to hack up the factory control or the lift controller. If my device fails it will fail so the factory control is directly connected (the NC connection of a solid state relay)

1 Like

Esphome is very feasible for this. Describe your device and protocol.

1 Like

Hey I’ve got 3 RA MinusA2’s – any luck on getting those? New to HA, but curious how I can add them!

I am 3/4 of the way to documenting RabitAir MinusA2 protocol. I will put something up in Github in the near future once I type it up better and will post the link here.

I am not exactly sure how best to integrate something like that into Home Assistant but should be fairly straightforward… (I hope)

I basically hope to be able to log over time air quality, filter lifetime and trigger the following:

  • Unit (on/off)
  • Fan Speed
  • Auto Mode (on/off)
  • Pollen Mode (on/off)
  • Mood Light (on/off)
  • Negative Ions (on/off)
  • Timer (variable time frames)
  • Schedule tied to timer above

Give us a clue, or we cannot possibly help you.

Sure, I just checked in what I have I am sure there are a lot of formatting issues.

The part I am working on is decoding the proto-buffers/firebase interactions.

Happy to have any help you can offer. The protocol in my GitHub will get you logged in and all the tokens to access the Firebase data. Looks like all control is done through that proto-buf interface.

There is also a simple setup protocol over BLE but that is not too needed for the Home Assistant integration.

BLE is probably the easiest - esphome is great for that.

On the RabbitAir BLE is only for setting up the WiFi configuration.

I thought we were dealing with a TV Lift.

If you can have more than one remote control the same lift I would personally just buy an extra remote (or sacrifice the current one since you can then use other means like voice cellphone etc)… attach to the button pads as mentioned and use something like a zooz multi-relay… and then replace the battery in the remote with a power supply… but I’m just a simple man…

I’ve solved the lift problem. I created a circuit that sits between the original wired control and the lift. I am using MQTT for control.

I need to update with the final bits but this is basically my solution:

I will probably share schematic, gerbers, and code in the not too distant future for others who may be keen to do the same thing.

I’ve had a chance to test your notes on the Vevor lift. Comments:

I used serial channel 1, pins 2 and 4 for communication at 9600 baud.

Sending the button commands shown works fine to emulate the button presses, and as noted the position streams back continuously from the driver. I have now removed the wired control and just use the microcontroller.

I don’t use the 0XF0 command for anything.

Finally, the numbers displayed on the controller are cm, and it corresponds to the height of the top of the lift to the base. This comes back in the 4th and 5th bytes from the controller in millimetres identified by byte #3 0xA5. Byte 6 seems to identify movement, 0x04 when active and 0x00 when stopped.

Thanks for getting this started, from here it’s simple to attach to an ESP32 for control and monitoring.