Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #308

Closed
wants to merge 93 commits into from
Closed

Dev #308

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
93 commits
Select commit Hold shift + click to select a range
5518518
Update links
bdraco Sep 12, 2023
d110d61
Update index.html
bdraco Sep 12, 2023
e285003
fix: update urls
bdraco Sep 12, 2023
d2ae60e
Refactor sync function to be more DRY and easier to extend (#50)
mariusmuja Sep 18, 2023
dee9f3d
Lolin s2 mini support (#54)
rako77 Oct 2, 2023
e4ecce0
Fixed corrupted image (#55)
rako77 Oct 2, 2023
7d0422a
Rename S2 board to match convention (#56)
bdraco Oct 2, 2023
9bc41c2
fix link to v2board_esp32_lolin_s2_mini.yaml (#57)
bdraco Oct 2, 2023
fe593a9
Allow interrupts to be disabled during transmit (#60)
mariusmuja Oct 6, 2023
575471b
Rework of door position sync (#61)
mariusmuja Oct 8, 2023
6d8f3e0
Door opening/close relliability updates (#64)
mariusmuja Oct 19, 2023
f323e02
chore: add .pre-commit-config.yaml for end of line fixer (#66)
bdraco Oct 19, 2023
7da1282
Automatically tune the optimal baud value for the next packet (#69)
mariusmuja Oct 19, 2023
89e2910
feat: add YAML files and binaries for v2.5 boards (#72)
bdraco Oct 23, 2023
a7b0230
Add v2.5 to the website (#74)
bdraco Oct 24, 2023
a6a225d
Fix v2.5 board images (#75)
bdraco Oct 24, 2023
e248c70
Tidy (#77)
bdraco Oct 25, 2023
2091be8
Use random client_id in lieu of static remote_id (#76)
bdraco Oct 26, 2023
c09136d
Fix door requiring two close commands to close (#88)
bdraco Nov 5, 2023
e2f4b6e
Adding cover on_opening and on_closing triggers (#81)
mariusmuja Nov 5, 2023
8317f18
Fix issue #89 by imposing some limits on the random client_id (#92)
mariusmuja Nov 5, 2023
66ba19e
Update potentially wrong client_ids (#93)
mariusmuja Nov 6, 2023
718237a
Increase max client id to 0xFFFFFFFF (#94)
bdraco Nov 6, 2023
7be33e1
Add limits on the range of client_id values (#95)
mariusmuja Nov 6, 2023
5bd2464
Add security + 2.0 clarification
PaulWieland Nov 7, 2023
cdc7780
Normalize client_id when manually entered (#97)
mariusmuja Nov 7, 2023
c4a9b6e
fix package import urls for the v25 boards (#98)
bdraco Nov 7, 2023
bb29b9b
Add v2.5 board esp32 (#101)
bdraco Nov 7, 2023
36c4e55
Move v2.5 boards above v2.0 boards for anyone who does not know which…
bdraco Nov 7, 2023
0b7b851
Add v2.5 board with ESP32 D1 Mini to readme
bdraco Nov 7, 2023
a1dbdbe
Add timeout for motion detection (#104)
mariusmuja Nov 9, 2023
ff2acab
Add links to drivers
PaulWieland Nov 10, 2023
e36225c
Merge branch 'main' of https://github.com/ratgdo/esphome-ratgdo
PaulWieland Nov 10, 2023
5a0294f
Add a 500ms delay filter to the dry connect binary sensors (#112)
bdraco Nov 16, 2023
44ecf15
Add 2.5i board (#116)
bdraco Nov 19, 2023
c4e2776
fix v2.5i board manifest filename (#117)
bdraco Nov 19, 2023
ffbef79
Link wiring diagrams (#118)
bdraco Nov 19, 2023
2ea7ca6
Convert lock remotes switch to a lock component (#132)
mariusmuja Dec 6, 2023
892c4e2
Detect "not connected to GDO" condition (#143)
mariusmuja Dec 16, 2023
53752d5
Drop an incomplete packet if the missing bytes are lost (#144)
mariusmuja Dec 16, 2023
65c52d0
feat: add 2.52i board to the page (#147)
bdraco Dec 17, 2023
e7efd2c
Bump actions/deploy-pages to 1.2.9 (#148)
bdraco Dec 17, 2023
587ff4c
Bump actions/upload-pages-artifact to v2.0.0
bdraco Dec 17, 2023
efeb599
fix: v2.5i boards should use d1_mini (#156)
bdraco Dec 24, 2023
f0dda92
feat: add v2 board with d1_mini (#165)
bdraco Jan 3, 2024
4c2ed4e
feat: add learn and clear capability (#149)
mulcmu Jan 18, 2024
f3f8f96
feat: Security Plus v1 support (#171)
bdraco Jan 19, 2024
dcedbda
feat: add security+ 1.0 images for v2.5 board (not i) (#181)
bdraco Jan 20, 2024
713e666
fix: add missing wiring diagrams for 2.5i/2.52i Board Security+ 1.0 (…
bdraco Jan 20, 2024
9270f8f
feat: add links for 2.53i wiring diagrams (#183)
bdraco Jan 20, 2024
64909cd
chore: update readme for 2.52/2.53 boards (#184)
bdraco Jan 20, 2024
727759e
fix: make secplus 2.0 i boards checked by default since they are the …
bdraco Jan 20, 2024
17fad73
Reduce number of flash writes (#190)
bdraco Jan 21, 2024
04db9b6
Web UI documentation (#199)
PaulWieland Jan 23, 2024
2ad1185
typo
PaulWieland Jan 23, 2024
454a53a
New implementation of firmware selector (#200)
PaulWieland Jan 23, 2024
c869aad
Fix missing esp32 images (#201)
bdraco Jan 23, 2024
4b57303
Fix bug with opening/closing duration calibration (#194)
mariusmuja Jan 23, 2024
37637be
fix default manifest
PaulWieland Jan 24, 2024
1b60962
indentation
PaulWieland Jan 24, 2024
5855cc8
fix v2 hardware check
PaulWieland Jan 26, 2024
4ee2924
fix v2 hardware check
PaulWieland Jan 26, 2024
2faa994
Fix overlapping firmware filenames (#208)
bdraco Jan 26, 2024
7f35da9
Change board in v25board_esp8266_d1_mini.yaml to d1_mini (#212)
ScottEgan Jan 29, 2024
17a74f8
feat: ensure all components in base.yaml have an id (#196)
brgaulin Jan 30, 2024
471e78a
Update v25board_esp8266_d1_mini_secplusv1.yaml (#219)
rlowens Feb 4, 2024
e3eacef
Add firmware version to web ui
PaulWieland Mar 8, 2024
705f381
Update ratgdo.cpp
PaulWieland Mar 21, 2024
7362f46
Dry contact support (#255)
PaulWieland Apr 17, 2024
9338348
Revert "Dry contact support" (#257)
PaulWieland Apr 17, 2024
da0776f
Adds dry contact opener control (#258)
PaulWieland Apr 17, 2024
4578097
Merge branch 'main' of https://github.com/ratgdo/esphome-ratgdo
PaulWieland Apr 17, 2024
1ba198e
Update ratgdo.cpp
PaulWieland Apr 17, 2024
b1facc5
Quick fix for build problems (#259)
PaulWieland Apr 17, 2024
163ced2
Fix base yaml ref
PaulWieland Apr 17, 2024
69f2df7
Merge branch 'main' of https://github.com/ratgdo/esphome-ratgdo
PaulWieland Apr 17, 2024
35e22a8
Update __init__.py
PaulWieland Apr 17, 2024
7e8aadc
Update build.yml
PaulWieland Apr 17, 2024
f9590d9
add version text sensor to dry contact
PaulWieland Apr 18, 2024
f721a72
OTA: Moving to base.yamls and adding ESPHome platform (#293)
bdraco Jun 23, 2024
a90b6fb
Add ID to OTA to allow extension for overrides (#296)
notjj Jun 26, 2024
c603f01
chore: add clang pre-commit (#299)
bdraco Jul 3, 2024
b148105
Auto detect obstruction sensors (#298)
PaulWieland Jul 3, 2024
9df4ceb
Improve compatibility for non-dry-contact configurations. (#265)
kpfleming Jul 3, 2024
38d2508
feat: add cover.on_state_change trigger (#195)
brgaulin Jul 3, 2024
9fc5cc4
Revert ifdefs added in #265 (#300)
bdraco Jul 3, 2024
88b3bdf
[pre-commit.ci] pre-commit autoupdate (#302)
pre-commit-ci[bot] Jul 8, 2024
348e440
Wall panel detection (#305)
PaulWieland Jul 12, 2024
95eabcb
Wall panel detection (#306)
PaulWieland Jul 12, 2024
6885b56
toggle door when both dry contacts are closed (#307)
PaulWieland Jul 12, 2024
333b595
Toggle instead of open
Jul 13, 2024
5892a10
Toggle instead of open 2
Jul 13, 2024
96fab59
Toggle instead of open 2
Jul 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 39 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,50 @@ jobs:
matrix:
firmware:
- file: v2board_esp8266_d1_mini_lite.yaml
name: V2 Board ESP8266 D1 Mini Lite
name: V2.0 Board ESP8266 D1 Mini Lite Security+ 2.0
manifest_filename: v2board_esp8266_d1_mini_lite-manifest.json
- file: v2board_esp8266_d1_mini.yaml
name: V2.0 Board ESP8266 D1 Mini Security+ 2.0
manifest_filename: v2board_esp8266_d1_mini-manifest.json
- file: v2board_esp32_d1_mini.yaml
name: V2 Board ESP32 D1 Mini
manifest_filename: v2board_esp32_d1_mini-manifest.json
name: V2.0 Board ESP32 D1 Mini Security+ 2.0
manifest_filename: v2board_esp32_d1_mini-manifest.json
- file: v2board_esp32_lolin_s2_mini.yaml
name: V2.0 Board ESP32 lolin S2 mini Security+ 2.0
manifest_filename: v2board_esp32_lolin_s2_mini-manifest.json
- file: v25board_esp8266_d1_mini_lite.yaml
name: V2.5 Board ESP8266 D1 Mini Lite Security+ 2.0
manifest_filename: v25board_esp8266_d1_mini_lite-manifest.json
- file: v25board_esp8266_d1_mini_lite_secplusv1.yaml
name: V2.5 Board ESP8266 D1 Mini Lite Security+ 1.0
manifest_filename: v25board_esp8266_d1_mini_lite_secplusv1-manifest.json
- file: v25board_esp8266_d1_mini.yaml
name: V2.5 Board ESP8266 D1 Mini Security+ 2.0
manifest_filename: v25board_esp8266_d1_mini-manifest.json
- file: v25board_esp8266_d1_mini_secplusv1.yaml
name: V2.5 Board ESP8266 D1 Mini Security+ 1.0
manifest_filename: v25board_esp8266_d1_mini_secplusv1-manifest.json
- file: v25board_esp32_d1_mini.yaml
name: V2.5 Board ESP32 D1 Mini Security+ 2.0
manifest_filename: v25board_esp32_d1_mini-manifest.json
- file: v25board_esp32_d1_mini_secplusv1.yaml
name: V2.5 Board ESP32 D1 Mini Security+ 1.0
manifest_filename: v25board_esp32_d1_mini_secplusv1-manifest.json
- file: v25iboard.yaml
name: V2.5i Board Security+ 2.0
manifest_filename: v25iboard-manifest.json
- file: v25iboard_secplusv1.yaml
name: V2.5i Board Security+ 1.0
manifest_filename: v25iboard_secplusv1-manifest.json
- file: v25iboard_drycontact.yaml
name: V2.5i Board Dry Contact
manifest_filename: v25iboard_drycontact-manifest.json
fail-fast: false
steps:
- name: Checkout source code
uses: actions/[email protected]
- name: Build firmware
uses: esphome/build-action@v1.8.0
uses: ratgdo/esphome-build-action@main
id: esphome-build
with:
yaml_file: ${{ matrix.firmware.file }}
Expand Down Expand Up @@ -63,7 +96,7 @@ jobs:
cp -R static/* output/
cp -R firmwares/*/* output/
- name: Upload GitHub Pages artifact
uses: actions/upload-pages-artifact@v1.0.7
uses: actions/upload-pages-artifact@v2.0.0
with:
path: output

Expand All @@ -83,4 +116,4 @@ jobs:
uses: actions/configure-pages@v2
- name: Deploy to GitHub Pages
id: deployment
uses: actions/[email protected].3
uses: actions/[email protected].9
18 changes: 18 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-added-large-files
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v18.1.8
hooks:
- id: clang-format
types_or:
- "c++"
- "c"
- "cuda"
args: [-style=Webkit, -i]
41 changes: 19 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,37 @@

# ratgdo for ESPHome

This is a port of the ratgdo software for the v2 board to ESPHome.
This is a port of the ratgdo software for the v2.0/v2.5 board to ESPHome.

[Visit the github.io page to purchase boards](https://paulwieland.github.io/ratgdo/#order)

This project is not affiliated with ratgdo or Paul Wieland. Please buy his boards to support his excellent work.
## Installation

## Moving from stock ratgdo
- Flash the ESPHome based firmware using the [Web Installer](https://ratgdo.github.io/esphome-ratgdo/)

If you have not used the stock ratgdo firmware, and are starting with a fresh install of the ESPHome based firmware, [skip these steps](#fresh-install-when-the-stock-ratgdo-firmware-was-not-used-before).

- Use the [`Logs & Console`](https://paulwieland.github.io/ratgdo/flash.html) to view and make note of the current rolling code
- Flash the new ESPHome based firmware using the [Web Installer](https://esphome-ratgdo.github.io/esphome-ratgdo/)
- Use the `number` entity in Home Assistant or the built-in ESPHome web-server to set the rolling code.

<img width="560" alt="number_entity" src="https://github.com/ESPHome-RATGDO/esphome-ratgdo/assets/663432/e177029e-f42f-46a8-a87a-81fa04caaa57">

## Fresh install when the stock ratgdo firmware was not used before

- Flash the new ESPHome based firmware using the [Web Installer](https://esphome-ratgdo.github.io/esphome-ratgdo/)
It is no longer necessary to save the rolling code counter when switching between firmware.

## First use after adding to Home Assistant

The ESPHome firmware will allow you to open the door to any position after calibration. To calibrate the door, open and close it once without stopping.

<img width="560" alt="position_demo" src="https://github.com/ESPHome-RATGDO/esphome-ratgdo/assets/663432/22a9873e-67bb-4b2f-bb32-70047cfe666d">

## Updating from versions older than 2023.07.07

When updating from older versions, save the rolling counter value and restore it via the number entity after flashing the new firmware. If you forget to save the code, check the Home Assistant history.
<img width="560" alt="position_demo" src="https://github.com/RATGDO/esphome-ratgdo/assets/663432/22a9873e-67bb-4b2f-bb32-70047cfe666d">

## ESPHome config

- [ESPHome config for v2 board with ESP8266 D1 Mini lite](https://github.com/ESPHome-RATGDO/esphome-ratgdo/blob/main/static/v2board_esp8266_d1_mini_lite.yaml)
- [ESPHome config for v2 board with ESP32 D1 Mini](https://github.com/ESPHome-RATGDO/esphome-ratgdo/blob/main/static/v2board_esp32_d1_mini.yaml)
- [Web Installer](https://esphome-ratgdo.github.io/esphome-ratgdo/)
- [Security+ 2.0 for v2.0 board with ESP8266 D1 Mini](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v2board_esp8266_d1_mini.yaml)
- [Security+ 2.0 for v2.0 board with ESP8266 D1 Mini lite](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v2board_esp8266_d1_mini_lite.yaml)
- [Security+ 2.0 for v2.0 board with ESP32 D1 Mini](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v2board_esp32_d1_mini.yaml)
- [Security+ 2.0 for v2.0 board with ESP32 Lolin D2 Mini](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v2board_esp32_lolin_s2_mini.yaml)
- [Security+ 2.0 for v2.5 board with ESP8266 D1 Mini](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v25board_esp8266_d1_mini.yaml)
- [Security+ 1.0 for v2.5 board with ESP8266 D1 Mini](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v25board_esp8266_d1_mini_secplusv1.yaml)
- [Security+ 2.0 for v2.5 board with ESP8266 D1 Mini lite](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v25board_esp8266_d1_mini_lite.yaml)
- [Security+ 1.0 for v2.5 board with ESP8266 D1 Mini lite](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v25board_esp8266_d1_mini_lite_secplusv1.yaml)
- [Security+ 2.0 for v2.5 board with ESP32 D1 Mini](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v25board_esp32_d1_mini.yaml)
- [Security+ 1.0 for v2.5 board with ESP32 D1 Mini](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v25board_esp32_d1_mini_secplusv1.yaml)
- [Security+ 2.0 for v2.5i/2.52i/2.53i board](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v25iboard.yaml)
- [Security+ 1.0 for v2.5i/2.52i/2.53i board](https://github.com/RATGDO/esphome-ratgdo/blob/main/static/v25iboard_secplusv1.yaml)

- [Web Installer](https://ratgdo.github.io/esphome-ratgdo/)

![Home Assistant Screen Shot](static/hass.png)
Loading
Loading