UART Modem for Caller ID - stopped working

Several years ago I used ESPHome to set up a UART modem for picking up caller ID information and sending to HA for announcements, etc. It worked great, but recently this has stopped working and I cannot figure out why. I’m stuck and looking for any pointers.

What’s changed:
ESPHome updates.
Also, I use Ooma and had to replace the Telo box when the old one quit working.
I wasn’t paying enough attention to know exactly when it quit. I kind of suspect the Ooma box but not sure.

What I’ve tried:
Unplugging and replugging power and phone line
Plugging new phone cable, connected straight into Ooma box
Reflashed ESPHome firmware
Replaced modem module
Enabled UART debugging
None of this has made any difference

What happens now:
From the logs, I can see the modem gets the RING, so I think the modem is working.
However, there is no caller ID information received.
My phones still get the CID info, so I think the new Ooma box is sending it ok.

Logs:

[15:22:31][V][text_sensor:013]: ‘uart_readline’: Received new state RING
[15:22:31][D][text_sensor:064]: ‘uart_readline’: Sending state ‘RING’
[15:22:31][D][uart_debug:158]: <<< “RING\r\n”
[15:22:37][D][uart_debug:158]: <<< “\r\n”
[15:22:37][V][text_sensor:013]: ‘uart_readline’: Received new state RING
[15:22:37][D][text_sensor:064]: ‘uart_readline’: Sending state ‘RING’
[15:22:37][D][uart_debug:158]: <<< “RING\r\n”
[15:22:43][D][uart_debug:158]: <<< “\r\n”

ESPHome Config:

uart:
  id: uart_bus
  tx_pin: GPIO1
  rx_pin: GPIO3
  baud_rate: 9600
  debug:
    direction: BOTH
    dummy_receiver: false
    after:
      delimiter: "\n"
    sequence:
      - lambda: UARTDebug::log_string(direction, bytes);

I remembered HA has this thing called a Logbook…lol.

The replacement Ooma box was in late April, and the last time we got caller ID info from the ESPHome device was 5/31. We got a call on 6/3 but no caller ID. This makes it unlikely to be the new box.

But…the timing is suspicious…

Disregard. It’s fixed. I don’t know why.

I have this configured at boot.

esphome:
  name: phone-controller
  includes:
    - uart_read_line_sensor.h  
  on_boot:
    then:
      - uart.write: "AT+VCID=1\r\n"  

I changed it to VCID=2 that’s supposed to be unformatted CID. Still nothing. Changed it back to 1 and it started working again.

1 Like

And it stopped working again, and the above trick didn’t fix it. FIFK