Just installed 2 Ratgdo on 2 Chamberlain openers. All is working correctly, but have a question about controlling the lights and status update of the light. Lights on both doors turn off and on instantly when toggled using Esphome. When I turn on or off the lights using the Chamberlain wall controls, the lights work as expected. The problem I have, one opener will have immediate Esphome status updates to the light being switched on and off. The other opener may take few minutes to update the status. Everything is identical on both setups, opener models, wall controllers, Ratgdo boards and wiring. I’m missing something on the second opener.
The garage door opener sends a status message with the door and light state about every 5 minutes. Your opener with the delayed response sounds like it is only updating the light status from the periodic messages.
The esphome code updates the light status based on the status message but also when a light (on/off/toggle) command is sent. This logic looks at the “nibble” sent with each transmission. If the problematic opener has other bits set in the “nibble” these checks will fail to trigger the state change. Could you upload some logs from this opener and cycle the light a few time with wall panel and ratgdo?
INFO ESPHome 2023.12.3
INFO Reading configuration /config/esphome/gdo2-ratgdov25i-86b77f.yaml...
INFO Updating https://github.com/ratgdo/esphome-ratgdo@None
INFO Updating https://github.com/ratgdo/esphome-ratgdo@None
INFO Detected timezone 'America/Chicago'
INFO Starting log output from 192.168.66.61 using esphome API
INFO Successfully connected to gdo2-ratgdov25i-86b77f @ 192.168.66.61 in 0.004s
INFO Successful handshake with gdo2-ratgdov25i-86b77f @ 192.168.66.61 in 2.431s
[17:53:59][I][app:102]: ESPHome version 2023.12.3 compiled on Dec 24 2023, 11:32:10
[17:53:59][I][app:104]: Project ratgdo.esphome version 2.5i
[17:53:59][C][wifi:573]: WiFi:
[17:53:59][C][wifi:405]: Local MAC:
[17:53:59][C][wifi:410]: SSID: [redacted]
[17:53:59][C][wifi:411]: IP Address: 192.168.
[17:53:59][C][wifi:412]: BSSID: [redacted]
[17:53:59][C][wifi:414]: Hostname: 'gdo2-ratgdov25i-86b77f'
[17:53:59][C][wifi:416]: Signal strength: -63 dB ▂▄▆█
[17:53:59][C][wifi:420]: Channel: 6
[17:53:59][C][wifi:421]: Subnet: 255.255.255.0
[17:53:59][C][wifi:422]: Gateway: 192.168.
[17:53:59][C][wifi:423]: DNS1: 192.168.
[17:53:59][C][wifi:424]: DNS2: 0.0.0.0
[17:53:59][C][logger:443]: Logger:
[17:53:59][C][logger:444]: Level: DEBUG
[17:53:59][C][logger:445]: Log Baud Rate: 115200
[17:53:59][C][logger:447]: Hardware UART: UART0
[17:54:00][C][ratgdo.number:021]: RATGDO Number 'Rolling code counter'
[17:54:00][C][ratgdo.number:021]: Unit of Measurement: 'codes'
[17:54:00][C][ratgdo.number:025]: Type: Rolling Code Counter
[17:54:00][C][ratgdo.number:021]: RATGDO Number 'Opening duration'
[17:54:00][C][ratgdo.number:021]: Unit of Measurement: 's'
[17:54:00][C][ratgdo.number:027]: Type: Opening Duration
[17:54:00][C][ratgdo.number:021]: RATGDO Number 'Closing duration'
[17:54:00][C][ratgdo.number:021]: Unit of Measurement: 's'
[17:54:00][C][ratgdo.number:029]: Type: Closing Duration
[17:54:00][C][ratgdo.number:021]: RATGDO Number 'Client ID'
[17:54:00][C][ratgdo.number:023]: Type: Client ID
[17:54:00][C][switch.gpio:068]: GPIO Switch 'Status door'
[17:54:00][C][switch.gpio:090]: Restore Mode: always OFF
[17:54:00][C][switch.gpio:031]: Pin: GPIO16
[17:54:00][C][switch.gpio:068]: GPIO Switch 'Status obstruction'
[17:54:00][C][switch.gpio:090]: Restore Mode: always OFF
[17:54:00][C][switch.gpio:031]: Pin: GPIO15
[17:54:00][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'Dry contact open'
[17:54:00][C][gpio.binary_sensor:016]: Pin: GPIO14
[17:54:00][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'Dry contact close'
[17:54:00][C][gpio.binary_sensor:016]: Pin: GPIO12
[17:54:00][C][gpio.binary_sensor:015]: GPIO Binary Sensor 'Dry contact light'
[17:54:00][C][gpio.binary_sensor:016]: Pin: GPIO0
[17:54:00][C][light:103]: Light 'Light'
[17:54:00][C][ratgdo:081]: Setting up RATGDO...
[17:54:00][C][ratgdo:082]: Output GDO Pin: GPIO5
[17:54:00][C][ratgdo:083]: Input GDO Pin: GPIO4
[17:54:00][C][ratgdo:087]: Input Obstruction Pin: GPIO13
[17:54:00][C][ratgdo:089]: Rolling Code Counter: 27
[17:54:00][C][ratgdo:090]: Client ID: 3351865
[17:54:00][C][ratgdo.sensor:012]: RATGDO Sensor 'Openings'
[17:54:00][C][ratgdo.sensor:012]: State Class: ''
[17:54:00][C][ratgdo.sensor:012]: Unit of Measurement: 'openings'
[17:54:00][C][ratgdo.sensor:012]: Accuracy Decimals: 0
[17:54:00][C][ratgdo.sensor:012]: Icon: 'mdi:open-in-app'
[17:54:00][C][ratgdo.sensor:013]: Type: Openings
[17:54:00][C][ratgdo.lock:012]: RATGDO Lock 'Lock remotes'
[17:54:00][C][ratgdo.lock:013]: Type: Lock
[17:54:00][C][ratgdo.binary_sensor:036]: RATGDO BinarySensor 'Motion'
[17:54:00][C][ratgdo.binary_sensor:036]: Device Class: 'motion'
[17:54:00][C][ratgdo.binary_sensor:038]: Type: Motion
[17:54:00][C][ratgdo.binary_sensor:036]: RATGDO BinarySensor 'Obstruction'
[17:54:00][C][ratgdo.binary_sensor:036]: Device Class: 'problem'
[17:54:00][C][ratgdo.binary_sensor:040]: Type: Obstruction
[17:54:00][C][ratgdo.binary_sensor:036]: RATGDO BinarySensor 'Button'
[17:54:00][C][ratgdo.binary_sensor:044]: Type: Button
[17:54:00][C][ratgdo.binary_sensor:036]: RATGDO BinarySensor 'Motor'
[17:54:00][C][ratgdo.binary_sensor:036]: Device Class: 'running'
[17:54:00][C][ratgdo.binary_sensor:042]: Type: Motor
[17:54:00][C][ratgdo.cover:014]: RATGDO Cover 'Door'
[17:54:00][C][ratgdo.cover:014]: Device Class: 'garage'
[17:54:00][C][ratgdo.light:014]: RATGDO Light
[17:54:00][C][restart.button:017]: Restart Button 'Restart'
[17:54:00][C][safe_mode.button:022]: Safe Mode Button 'Safe mode boot'
[17:54:00][C][safe_mode.button:022]: Icon: 'mdi:restart-alert'
[17:54:00][C][homeassistant.time:010]: Home Assistant Time:
[17:54:00][C][homeassistant.time:011]: Timezone: 'CST6CDT,M3.2.0,M11.1.0'
[17:54:00][C][web_server:168]: Web Server:
[17:54:00][C][web_server:169]: Address: 192.168.66.61:80
[17:54:00][C][mdns:115]: mDNS:
[17:54:00][C][mdns:116]: Hostname: gdo2-ratgdov25i-86b77f
[17:54:00][C][ota:097]: Over-The-Air Updates:
[17:54:00][C][ota:098]: Address: 192.168.66.61:8266
[17:54:00][C][api:139]: API Server:
[17:54:00][C][api:140]: Address: 192.168.66.61:6053
[17:54:00][C][api:142]: Using noise encryption: YES
[17:54:00][C][improv_serial:032]: Improv Serial:
[17:55:09][D][light:036]: 'Light' Setting:
[17:55:09][D][light:047]: State: ON
[17:55:09][D][number:012]: 'Rolling code counter': Sending state 28.000000
[17:55:14][D][esp8266.preferences:238]: Saving preferences to flash...
[17:55:30][D][ratgdo:210]: Status: door=CLOSED light=ON lock=UNLOCKED
[17:56:01][I][ota:117]: Boot seems successful, resetting boot loop counter.
[18:00:36][D][ratgdo:210]: Status: door=CLOSED light=OFF lock=UNLOCKED
[18:01:39][D][light:036]: 'Light' Setting:
[18:01:39][D][light:047]: State: ON
[18:01:39][D][number:012]: 'Rolling code counter': Sending state 29.000000
[18:01:39][D][esp8266.preferences:238]: Saving preferences to flash...
[18:01:41][D][light:036]: 'Light' Setting:
[18:01:41][D][light:047]: State: OFF
[18:01:41][D][number:012]: 'Rolling code counter': Sending state 30.000000
[18:01:43][D][light:036]: 'Light' Setting:
[18:01:43][D][light:047]: State: ON
[18:01:43][D][number:012]: 'Rolling code counter': Sending state 31.000000
[18:01:44][D][esp8266.preferences:238]: Saving preferences to flash...
[18:01:45][D][light:036]: 'Light' Setting:
[18:01:45][D][light:047]: State: OFF
[18:01:45][D][number:012]: 'Rolling code counter': Sending state 32.000000
[18:01:49][D][esp8266.preferences:238]: Saving preferences to flash...
You are correct, status changes only happen every 5 minutes when light is toggled using the wall controller. Light or motion status is not being triggered from the wall controller on this opener, instant on the other opener. Light changes are captured instantly using the web interface or Home Assistant.
Don’t know if this helps, but the motion sensor don’t update instantly on this opener. Other opener will indicate an instant change.
An update. I swapped Ratgdo boards from the properly operating opener to the opener with the problem. The problem transferred with the board swap. I reflashed the problem Ratgdo board, but didn’t resolve my issue. It would appear the board is not reading any of the functions from the wall controller such as light toggle, motion detection or remote lockout. I’m beginning to wonder if I have a bad Ratgdo board, but I don’t know how the wall controller functions are sensed. The Ratgdo will update the light status if the light is toggled within Esphome or the door is opened or closed, but not the wall controller. The working Ratgdo updates the status of the light, motion and lock almost instantly.
Another update. On my problem Ratgdo opener, if I block the obstruction sensor, the light status will update when toggled from the wall controller. The light status update is slower than the working Ratdgo opener, but still not detecting motion.
With more testing, door position is not being reported as the door is opened and closed. On the working Ratgdo, the door position is published roughly every 4%.
I have the 880LMW wall control, and noticed when I disabled the “automatic light control” motion setting from the menu, I stopped getting motion events on the ratgdo. Not sure it helps you, but could be useful info to someone.
The obstruction sensor always works, even if Light Settings > Entry Detection is disabled, but I’d guess that’s because the ratgdo is directly reading the sensor itself.