diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index edda08a..0994bf5 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -113,23 +113,22 @@ jobs: run: | mkdir -p ota/beta/ mkdir -p ota/master/ - mkdir -p webflash/ mkdir -p resources/ mkdir -p src/ cp -vf release/*/nuki_hub_*.bin ota/beta/ cp -vf master/resources/ota_manifest.py resources/ota_manifest.py cp -vf master/src/Config.h src/Config.h python3 resources/ota_manifest.py beta $Version - find * -not -path "ota*" -not -path "webflash*" -delete + find * -not -path "ota*" -delete rm -rf .github .gitignore .gitmodules touch ota/beta/empty + touch ota/beta/dummy.bin touch ota/master/empty - touch webflash/empty - name: Commit binaries to binary uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: "Update binaries" - file_pattern: 'ota/* ota/master/* ota/beta/* webflash/*' + file_pattern: 'ota/* ota/master/* ota/beta/*' branch: binary skip_dirty_check: true skip_fetch: true diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index a53d0f6..7559b85 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -136,23 +136,21 @@ jobs: run: | mkdir -p ota/beta/ mkdir -p ota/master/ - mkdir -p webflash/ mkdir -p resources/ mkdir -p src/ cp -vf release/*/nuki_hub_*.bin ota/master/ cp -vf master/resources/ota_manifest.py resources/ota_manifest.py cp -vf master/src/Config.h src/Config.h python3 resources/ota_manifest.py master $Version - find * -not -path "ota*" -not -path "webflash*" -delete + find * -not -path "ota*" -delete rm -rf .github .gitignore .gitmodules touch ota/beta/empty touch ota/master/empty - touch webflash/empty - name: Commit binaries to binary uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: "Update binaries" - file_pattern: 'ota/* ota/master/* ota/beta/* webflash/*' + file_pattern: 'ota/* ota/master/* ota/beta/*' branch: binary skip_dirty_check: true skip_fetch: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ea1c91b..f8546b6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -124,7 +124,7 @@ jobs: echo "${FOLDER} -- ${ZIPFILE}" cd $FOLDER - zip -9r ../../${ZIPFILE} * -x "webflash_nuki_hub_*.bin" + zip -9r ../../${ZIPFILE} * ARTIFACTS="${ARTIFACTS}${ZIPFILE}," cd ../.. @@ -148,13 +148,12 @@ jobs: artifacts: ${{ steps.zip.outputs.artifacts }} artifactContentType: application/zip tag: ${{ steps.get_version.outputs.VERSION }} - - name: Copy binaries to ota and webflash and remove beta + - name: Copy binaries to ota and remove beta env: Version: ${{ github.run_id }}.${{ github.run_number }}.${{ github.run_attempt }} run: | mkdir -p ota/beta/ mkdir -p ota/master/ - mkdir -p webflash/ mkdir -p resources/ mkdir -p src/ cp -vf release/*/nuki_hub_*.bin ota/ @@ -162,17 +161,16 @@ jobs: cp -vf master/src/Config.h src/Config.h python3 resources/ota_manifest.py release $Version python3 resources/ota_manifest.py beta none - find * -not -path "ota*" -not -path "webflash*" -delete + find * -not -path "ota*" -delete rm -rf ota/beta/*.bin rm -rf .github .gitignore .gitmodules touch ota/beta/empty touch ota/master/empty - touch webflash/empty - name: Commit binaries to binary uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: "Update binaries" - file_pattern: 'ota/* ota/master/* ota/beta/* webflash/*' + file_pattern: 'ota/* ota/master/* ota/beta/*' branch: binary skip_dirty_check: true skip_fetch: true diff --git a/README.md b/README.md index b52cc8e..94aa692 100644 --- a/README.md +++ b/README.md @@ -129,7 +129,6 @@ This project is free to use for everyone. However if you feel like donating, you Flash the firmware to an ESP32. The easiest way to install is to use the web installer using a compatible browser like Chrome/Opera/Edge:
https://technyon.github.io/nuki_hub/
-NOTE: Webflash is not available for the ESP32-Solo1

Alternatively download the latest release for your ESP32 model from https://github.com/technyon/nuki_hub/releases
Unpack the zip archive and read the included how-to-flash.txt for installation instructions for either "Espressif Flash Download Tools" or "esptool".
@@ -212,7 +211,6 @@ You can check on the info page of the Web configurator if PSRAM is available. Note that there are two builds of Nuki Hub for the ESP32-S3 available.
One for devices with no or Quad SPI PSRAM and one for devices with Octal SPI PSRAM.
-Webflash will automatically flash the no/Quad SPI PSRAM build when an ESP32-S3 is connected.
If your ESP32-S3 device has PSRAM but it is not detected please switch to the other S3 binary.
You can do this by flashing the correct binaries manually or by selecting the option to switch S3 binary build from the Firmware Update page of the Web Configurator. diff --git a/index.html b/index.html index d74abd8..3c6fa7a 100644 --- a/index.html +++ b/index.html @@ -1,37 +1,104 @@ -Nuki Hub web installer - + + + + + Install NukiHub + + + - -



- Note: If flashing doesn't work, press and hold the "BOOT" switch, then click "Install". - - - - - - - - - + fetch("https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/dummy.bin").then(function(response) { + if (!response.ok) { + throw new Error("Not 2xx response", {cause: response}); + } + else { + for (let i = 0; i < selectEl.options.length; i++) { + const text = selectEl.options[i].value; + if (text == '') { + selectEl.remove(i); + i--; + } + } + } + }).catch(function(err) { + for (let i = 0; i < selectEl.options.length; i++) { + const text = selectEl.options[i].value; + if (text.includes('/beta/')) { + selectEl.remove(i); + i--; + } + } + }); + try{ + button.manifest = "https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest.json"; + selectEl.addEventListener("change", () => { + button.manifest = selectEl.value; + }); + } + catch(e){ + console.log(e); + } + },{ once: true }); + + + +
+

Install NukiHub

+
+
    +
  1. Connect the ESP device to your computer
    using USB or serial-to-USB adapter

  2. +
  3. Select the firmware variant suitable for
    your device

  4. +
  5. Click "Connect" and select the correct port
    or find help if no device found
  6. +
+
+
+
+ +
+
+ + Your browser does not support Web Serial.
Open this page in Google Chrome or
Microsoft Edge instead.
+
+
+
+
+ NukiHub Installer inspired by Tasmota and ESP Web Tools +
+
+ + \ No newline at end of file