Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
84a7b4f
Update MSR-2_BLE.yaml to use correct ble proxy
bharvey88 May 9, 2025
4d4bcbb
Update Core.yaml
bharvey88 May 9, 2025
30d2349
Reset Wi-Fi Credentials
Bunton33 May 14, 2025
1a552dc
Reset Wi-Fi Credentials
Bunton33 May 14, 2025
99e0340
Fix Reset Wi-Fi
Bunton33 May 15, 2025
21309a4
Update Version Number
Bunton33 May 15, 2025
d1c3239
update to using web_server version 3 for a much nicer GUI for the web…
bharvey88 Jun 3, 2025
b91e3d5
Update Pipeline
TrevorSchirmer Jun 24, 2025
e758b7d
Merge branch 'main' into NewPipeline
TrevorSchirmer Jun 24, 2025
807ed3c
Merge pull request #35 from ApolloAutomation/NewPipeline
TrevorSchirmer Jun 24, 2025
5735653
Merge branch 'beta' into Add-Reset-Wi-Fi-Credentials
TrevorSchirmer Jun 24, 2025
41c489a
Update Core.yaml
TrevorSchirmer Jun 24, 2025
466def8
Merge pull request #32 from ApolloAutomation/Add-Reset-Wi-Fi-Credentials
TrevorSchirmer Jun 24, 2025
baa297a
Merge branch 'beta' into apollo-web-server-v3
TrevorSchirmer Jun 24, 2025
a710151
Merge pull request #34 from ApolloAutomation/apollo-web-server-v3
TrevorSchirmer Jun 24, 2025
566e3bf
Update Core.yaml
TrevorSchirmer Jun 24, 2025
b78115c
Merge branch 'beta' into msr-2-ble-yaml-bt-proxy-fix
TrevorSchirmer Jun 24, 2025
510650e
Merge pull request #31 from ApolloAutomation/msr-2-ble-yaml-bt-proxy-fix
TrevorSchirmer Jun 24, 2025
caeb65a
add logger to ble fork
adepssimius Jul 29, 2025
5c613c1
Merge branch 'beta' into ble-add-logger
TrevorSchirmer Jul 31, 2025
285c13d
Merge pull request #36 from adepssimius/ble-add-logger
TrevorSchirmer Jul 31, 2025
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
47 changes: 47 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<!--
From Core.yaml. Should match date YY.MM.DD.# ( Usually # is 1 )
-->
Version:

<!--
You are amazing! Thanks for contributing to our project!
Please, DO NOT DELETE ANY TEXT from this template! (unless instructed).
-->
## What does this implement/fix?



## Types of changes
<!--
What type of change does your PR introduce?
NOTE: Please, check only 1! box!
If your PR requires multiple boxes to be checked, you'll most likely need to
split it into multiple PRs. This makes things easier and faster to code review.
-->

- [ ] Bugfix (fixed change that fixes an issue)
- [ ] New feature (thanks!)
- [ ] Breaking change (repair/feature that breaks existing functionality)
- [ ] Dependency Update - Does not publish
- [ ] Other - Does not publish
- [ ] Website of github readme file update - Does not publish
- [ ] Github workflows - Does not publish


## Checklist / Checklijst:
<!--
Put an x in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->

- [ ] The code change has been tested and works locally
- [ ] The code change has not yet been tested

If user-visible functionality or configuration variables are added/modified:
- [ ] Added/updated documentation for the web page

<!--
Thank you for contributing <3
-->
17 changes: 17 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
commit-message:
prefix: "chore(ci): "
groups:
github-actions:
patterns:
- "*"
35 changes: 35 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name-template: 'Release v$NEXT_PATCH_VERSION'
tag-template: "$RESOLVED_VERSION"
change-template: "- #$NUMBER $TITLE @$AUTHOR"
sort-direction: ascending

categories:
- title: "🚨 Breaking changes"
labels:
- "breaking-change"
- title: "✨ New features"
labels:
- "new-feature"
- title: "🐛 Bug fixes"
labels:
- "bugfix"
- title: "⬆️ Dependency updates"
collapse-after: 5
labels:
- "dependency-update"

include-labels:
- "bugfix"
- "new-feature"
- "breaking-change"

no-changes-template: '- No changes'

template: |
## What's Changed

$CHANGES

**Full Changelog**: https://github.com/ApolloAutomation/MSR-2/compare/$PREVIOUS_TAG...$RESOLVED_VERSION.1

Be sure to 🌟 this repository for updates!
2 changes: 1 addition & 1 deletion .github/workflows/autoassign.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
pull-requests: write
steps:
- name: 'Auto-assign issue'
uses: pozil/auto-assign-issue@v1
uses: pozil/auto-assign-issue@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
assignees: TrevorSchirmer
Expand Down
96 changes: 25 additions & 71 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,82 +1,36 @@
name: Publish
name: Build and Publish

on:
push:
branches:
- main
workflow_dispatch:
inputs:
version:
description: 'The version of the firmware to build'
required: true
release:
types: [published]
bypass-yaml-check:
description: 'Bypass YAML change check (force build/publish)'
type: boolean
required: false
default: false
# release:
# types: [published]

jobs:
build-firmware:
name: Build And Release
uses: esphome/workflows/.github/workflows/build.yml@main
with:
files: |
Integrations/ESPHome/MSR-2_Factory.yaml
esphome-version: stable
combined-name: firmware
release-summary: ${{ github.event_name == 'release' && github.event.release.body || '' }}
release-url: ${{ github.event_name == 'release' && github.event.release.html_url || '' }}
release-version: ${{ (github.event_name == 'release' && github.event.release.tag_name) || (github.event_name == 'workflow_dispatch' && inputs.version) || '' }}

build-site:
name: Build Site
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v4.1.7
- name: Build
uses: actions/jekyll-build-pages@v1.0.13
with:
source: ./static
destination: ./output
- name: Upload
uses: actions/upload-artifact@v4.3.6
with:
name: site
path: output

publish:
name: Publish to GitHub Pages
runs-on: ubuntu-latest
needs:
- build-firmware
- build-site
build-and-publish:
uses: ApolloAutomation/Workflows/.github/workflows/build.yml@main
permissions:
contents: write
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/download-artifact@v4.1.8
with:
name: firmware
path: firmware

- name: Copy firmware and manifest
run: |-
mkdir -p output/firmware
cp -r firmware/${{ needs.build-firmware.outputs.version }}/* output/firmware/

- uses: actions/download-artifact@v4.1.8
with:
name: site
path: output

- uses: actions/upload-pages-artifact@v3.0.1
with:
path: output
retention-days: 1

- name: Setup Pages
uses: actions/configure-pages@v5.0.0

- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4.0.5
pull-requests: write
with:
device-name: msr-2
yaml-files: |
Integrations/ESPHome/MSR-2_Factory.yaml
firmware-names: "_Factory:firmware"
core-yaml-path: Integrations/ESPHome/Core.yaml
esphome-version: stable
# Bypass check if manually triggered with bypass option
check-yaml-changes: ${{ !(github.event_name == 'workflow_dispatch' && github.event.inputs.bypass-yaml-check == 'true') }}
publish-to-pages: true
has-installer: true
installer-path: static
19 changes: 15 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,35 @@ name: CI
on:
pull_request:

permissions:
# Allow GITHUB_TOKEN to add labels to pull requests
pull-requests: write
issues: write
contents: read
id-token: write

jobs:
label-check:
name: Label Check
uses: ApolloAutomation/Workflows/.github/workflows/label-check.yml@main

ci:
name: Building ${{ matrix.file }}
runs-on: ubuntu-latest
strategy:
matrix:
file:
- Integrations/ESPHome/MSR-2_Factory.yaml
- Integrations/ESPHome/MSR-2.yaml
- Integrations/ESPHome/MSR-2_BLE.yaml
- Integrations/ESPHome/MSR-2_Factory.yaml
esphome-version:
- stable
- beta
- dev
steps:
- name: Checkout source code
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Build ESPHome firmware to verify configuration
uses: esphome/build-action@v3.1.0
uses: esphome/build-action@v7
with:
yaml_file: ${{ matrix.file }}
yaml-file: ${{ matrix.file }}
27 changes: 27 additions & 0 deletions .github/workflows/weekly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Weekly Firmware Build

on:
schedule:
- cron: '0 0 * * 1'

jobs:
build:
name: Building ${{ matrix.file }}
runs-on: ubuntu-latest
strategy:
matrix:
file:
- Integrations/ESPHome/MSR-2_Factory.yaml
- Integrations/ESPHome/MSR-2.yaml
- Integrations/ESPHome/MSR-2_BLE.yaml
esphome-version:
- stable
- beta
- dev
steps:
- name: Checkout source code
uses: actions/checkout@v4.2.2
- name: Build ESPHome firmware to verify configuration
uses: esphome/build-action@v7
with:
yaml-file: ${{ matrix.file }}
18 changes: 9 additions & 9 deletions Integrations/ESPHome/Core.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
substitutions:
name: apollo-msr-2
version: "25.2.21.2"
version: "25.7.29.1"
device_description: ${name} made by Apollo Automation - version ${version}.

esp32:
Expand All @@ -12,6 +12,7 @@ captive_portal:

web_server:
port: 80
version: 3

globals:
- id: button_press_timestamp
Expand Down Expand Up @@ -294,7 +295,7 @@ binary_sensor:
return false;
}
- platform: gpio
pin:
pin:
number: GPIO9
inverted: true
ignore_strapping_warning: true
Expand All @@ -306,19 +307,18 @@ binary_sensor:
then:
- lambda: |-
id(button_press_timestamp) = millis();

on_release:
then:
- lambda: |-
if (millis() - id(button_press_timestamp) >= 1000) {
if (millis() - id(button_press_timestamp) >= 8000) {
id(factory_reset_switch).turn_on();
}
else if (millis() - id(button_press_timestamp) >= 1000) {
id(testCycleCount) = 0;
id(runTest) = true;
id(testScript).execute();
}
else if (millis() - id(button_press_timestamp) >= 8000) {
id(factory_reset_switch).turn_on();

}

ld2410:
id: ld2410_radar
Expand Down Expand Up @@ -797,4 +797,4 @@ script:
green: 0%
blue: 0%
- light.turn_off:
id: rgb_light
id: rgb_light
4 changes: 4 additions & 0 deletions Integrations/ESPHome/MSR-2_BLE.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ esphome:

min_version: 2025.2.0

logger:

dashboard_import:
package_import_url: github://ApolloAutomation/MSR-2/Integrations/ESPHome/MSR-2_BLE.yaml
Expand All @@ -40,6 +41,9 @@ ota:

bluetooth_proxy:
active: true
esp32_ble_tracker:
scan_parameters:
active: false

packages:
core: !include Core.yaml
9 changes: 3 additions & 6 deletions static/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,9 @@
<div class="content">
<h1>Apollo MSR-2 Installer</h1>

<div class="button-row" style="display: flex; justify-content: center; gap: 20px; align-items: center;">
<div>
<p>MSR-2 Firmware</p>
<esp-web-install-button manifest="./firmware/manifest.json"></esp-web-install-button>
</div>
</div>
<p class="button-row" align="center">
<esp-web-install-button manifest="./firmware/manifest.json"></esp-web-install-button>
</p>

<div class="footer">
<a href="https://github.com/ApolloAutomation/MSR-2"
Expand Down