esphome / esphome/feature-requests

RS485 serial support / tx enable pin control

Open
#421 16 comments 28 reactions 0 assignees View on GitHub
alternative-offered component: uart
Dominant language
No language data
Stars
450
Forks
29
PR merge metrics
No merged PRs in 30d

Description

**Describe the problem you have/What new integration you would like**

I would like to have a RS485 serial component available which extends the serial component with a half-duplex tx pin enable option. In order to use a shared bus, rs485 requires setting a tx enable pin when transmitting.

**Please describe your use case for this integration and alternatives you've tried:**

My particular use case is integration with Carrier thermostats which use a custom protocol over RS485(toy C implementation here https://github.com/nebulous/infinitude/tree/master/contrib/cardump), but this would be applicable to any half-duplex serial system. While modbus doesn't particularly interest me, an rs485 component would also form a standard base for those who wish to implement modbus components.

**Additional context**

Most [cheap rs485 interfaces based on the MAX485](https://amzn.to/2LVSmGe) break out DE and RE pins, which typically are shorted together into one "I'm currently transmitting" pin. Bonus points to an implementation which accounts for disablement of rx interrupts while transmitting. That is, independent monitoring/driving of DE/RE.

Here's a reference patch to a similar implementation for mongooseOS https://github.com/cesanta/mongoose-os/commit/a71bfbade5964601b004bc3f1de8d75616e46137

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.