Merge remote-tracking branch 'upstream/master' into new-commands
This commit is contained in:
7
.github/workflows/beta.yml
vendored
7
.github/workflows/beta.yml
vendored
@@ -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
|
||||
|
||||
6
.github/workflows/nightly.yml
vendored
6
.github/workflows/nightly.yml
vendored
@@ -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
|
||||
|
||||
15
.github/workflows/release.yml
vendored
15
.github/workflows/release.yml
vendored
@@ -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 ../..
|
||||
@@ -140,7 +140,7 @@ jobs:
|
||||
prerelease: false
|
||||
allowUpdates: true
|
||||
updateOnlyUnreleased: false
|
||||
draft: false
|
||||
draft: true
|
||||
generateReleaseNotes: true
|
||||
makeLatest: true
|
||||
name: "Nuki Hub ${{ steps.get_version.outputs.VERSION }}"
|
||||
@@ -148,32 +148,29 @@ 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/
|
||||
cp -vf release/*/webflash_nuki_hub_*.bin webflash/
|
||||
cp -vf release/*/nuki_hub_*.bin ota/
|
||||
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 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
|
||||
|
||||
19
README.md
19
README.md
@@ -15,7 +15,7 @@ Feel free to join us on Discord: https://discord.gg/9nPq85bP4p
|
||||
## Supported devices
|
||||
|
||||
<b>Supported ESP32 devices:</b>
|
||||
- Nuki Hub is compiled against all ESP32 models with Wi-Fi and Bluetooh Low Energy (BLE) which are supported by ESP-IDF 5.3.2 and Arduino Core 3.1.3.
|
||||
- Nuki Hub is compiled against all ESP32 models with Wi-Fi and Bluetooh Low Energy (BLE) which are supported by ESP-IDF 5.4.1 and Arduino Core 3.2.0.
|
||||
- Tested stable builds are provided for the ESP32, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2.
|
||||
- Untested builds are provided for the ESP32-P4 (with the ESP32-C6-MINI-1 module for BLE and WiFi) and ESP32-Solo1 (as the developers don't own one).
|
||||
|
||||
@@ -58,6 +58,9 @@ See the "[Connecting via Ethernet](#connecting-via-ethernet-optional)" section f
|
||||
We don't recommend using single-core ESP32 devices (ESP32-C3, ESP32-C6, ESP32-H2, ESP32-Solo1).<br>
|
||||
Although Nuki Hub supports single-core devices, Nuki Hub uses both CPU cores (if available) to process tasks (e.g. HTTP server/MQTT client/BLE scanner/BLE client) and thus runs much better on dual-core devices.<br>
|
||||
|
||||
We also don't recommend using the original ESP32 or ESP32-Solo1 devices because these devices experience unexpected crashes related to the (closed-source) BLE controller.<br>
|
||||
In all newer models (e.g. ESP32-S3, ESP32-P4, ESP32-C3, ESP32-C6, ESP32-H2) these unexpected crashed haven't been seen.
|
||||
|
||||
When buying a new device in 2025 we can only recommend the ESP32-S3 with PSRAM (look for an ESP32-S3 with the designation N>=4 and R>=2 such as an ESP32-S3 N16R8).<br>
|
||||
The ESP32-S3 is a dual-core CPU with many GPIO's, ability to enlarge RAM using PSRAM, ability to connect Ethernet modules over SPI and optionally power the device with a PoE splitter.<br>
|
||||
The only functions missing from the ESP32-S3 as compared to other ESP devices is the ability to use some Ethernet modules only supported by the original ESP32 (and ESP32-P4) and the ability to connect over WIFI6 (C6 or ESP32-P4 with C6 module)
|
||||
@@ -71,17 +74,15 @@ Other considerations:
|
||||
Devices ranked best-to-worst:
|
||||
- ESP32-P4 with ESP32-C6-MINI-1 module (UNTESTED)
|
||||
- ESP32-S3 with PSRAM
|
||||
- ......
|
||||
- ...... <br>
|
||||
(Devices below will not support some Nuki Hub functions, be slower and/or are more likely to experience unexpected crashes)
|
||||
- ESP32-S3 without PSRAM
|
||||
- ......
|
||||
- ESP32 with PSRAM
|
||||
- ......<br>
|
||||
(Devices below will not support some Nuki Hub functions)
|
||||
- ......
|
||||
- ESP32-S3 without PSRAM
|
||||
- ESP32 without PSRAM
|
||||
- ...... <br>
|
||||
(Devices below will not support more Nuki Hub functions)
|
||||
- ......
|
||||
(Devices below will not support more Nuki Hub functions, be slower and/or are more likely to experience unexpected crashes)
|
||||
- ESP32-C6
|
||||
- ESP32-solo1
|
||||
- ESP32-C3
|
||||
@@ -128,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:<br>
|
||||
https://technyon.github.io/nuki_hub/<br>
|
||||
NOTE: Webflash is not available for the ESP32-Solo1<br>
|
||||
<br>
|
||||
Alternatively download the latest release for your ESP32 model from https://github.com/technyon/nuki_hub/releases<br>
|
||||
Unpack the zip archive and read the included how-to-flash.txt for installation instructions for either "Espressif Flash Download Tools" or "esptool".<br>
|
||||
@@ -211,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.<br>
|
||||
One for devices with no or Quad SPI PSRAM and one for devices with Octal SPI PSRAM.<br>
|
||||
Webflash will automatically flash the no/Quad SPI PSRAM build when an ESP32-S3 is connected.<br>
|
||||
If your ESP32-S3 device has PSRAM but it is not detected please switch to the other S3 binary.<br>
|
||||
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.
|
||||
|
||||
@@ -225,7 +224,7 @@ In a browser navigate to the IP address assigned to the ESP32.
|
||||
|
||||
#### Network Configuration
|
||||
|
||||
- Hostname (needs to be unique, "nukihub" is not allowed): Set the hostname for the Nuki Hub ESP, will also be used as the MQTT client ID. Needs to be unique.
|
||||
- Hostname (needs to be unique): Set the hostname for the Nuki Hub ESP, will also be used as the MQTT client ID. Needs to be unique.
|
||||
- Network hardware: "Wi-Fi only" by default, set to one of the specified ethernet modules if available, see the "Supported Ethernet devices" and "[Connecting via Ethernet](#connecting-via-ethernet-optional)" section of this README.
|
||||
- Home Assistant device configuration URL: When using Home Assistant discovery the link to the Nuki Hub Web Configuration will be published to Home Assistant. By default when this setting is left empty this will link to the current IP of the Nuki Hub. When using a reverse proxy to access the Web Configuration you can set a custom URL here.
|
||||
- RSSI Publish interval: Set to a positive integer to set the amount of seconds between updates to the maintenance/wifiRssi MQTT topic with the current Wi-Fi RSSI, set to -1 to disable, default 60.
|
||||
|
||||
137
index.html
137
index.html
@@ -1,37 +1,104 @@
|
||||
<!DOCTYPE html>
|
||||
<title>Nuki Hub web installer</title>
|
||||
<html>
|
||||
<html lang="en" class="">
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"/>
|
||||
<title>Install NukiHub</title>
|
||||
<style>
|
||||
div,input,select{padding:5px;font-size:1em;}
|
||||
input{width:100%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;background:#dddddd;color:#000000;}
|
||||
input[type=checkbox],input[type=radio]{width:1em;margin-right:6px;vertical-align:-1px;}
|
||||
input[type=range]{width:99%;}
|
||||
select{width:100%;background:#dddddd;color:#000000;}
|
||||
body{text-align:center;font-family:verdana,sans-serif;background:#252525;}
|
||||
button{border:0;border-radius:0.3rem;background:#1fa3ec;color:#faffff;line-height:2.4rem;font-size:1.2rem;width:100%;-webkit-transition-duration:0.4s;transition-duration:0.4s;cursor:pointer;}
|
||||
button:hover{background:#0e70a4;}
|
||||
a{color:#1fa3ec;text-decoration:none;}
|
||||
.pick-variant{margin-bottom:16px;}
|
||||
</style>
|
||||
<script type="module" src="https://unpkg.com/esp-web-tools/dist/web/install-button.js?module"></script>
|
||||
<script>
|
||||
window.addEventListener("load", function(event) {
|
||||
const button = document.querySelector("esp-web-install-button");
|
||||
const selectEl = document.querySelector("#pick-variant-selector");
|
||||
|
||||
|
||||
<body>
|
||||
<h1>Nuki Hub</h1>
|
||||
|
||||
<div id="main" style="display: none;">
|
||||
|
||||
<br>
|
||||
<script
|
||||
type="module"
|
||||
src="https://unpkg.com/esp-web-tools/dist/web/install-button.js?module">
|
||||
</script>
|
||||
<esp-web-install-button id="installButton" manifest="https://raw.githubusercontent.com/technyon/nuki_hub/binary/webflash/manifest.json"></esp-web-install-button>
|
||||
<br><br><br><br>
|
||||
Note: If flashing doesn't work, press and hold the "BOOT" switch, then click "Install".
|
||||
</div>
|
||||
<div id="notSupported" style="display: none;">
|
||||
Your browser does not support the Web Serial API. Try a different browser like Chrome, Opera, Edge.
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
if(navigator.serial){
|
||||
document.getElementById("notSupported").style.display = 'none';
|
||||
document.getElementById("main").style.display = 'block';
|
||||
} else {
|
||||
document.getElementById("notSupported").style.display = 'block';
|
||||
document.getElementById("main").style.display = 'none';
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
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 });
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div style='display:inline-block;color:#eaeaea;min-width:340px;'>
|
||||
<h1>Install NukiHub</h1>
|
||||
<div class='pick-variant'>
|
||||
<ol style='text-align:left'>
|
||||
<li>Connect the ESP device to your computer</br>using USB or serial-to-USB adapter</li></br>
|
||||
<li>Select the firmware variant suitable for</br>your device</li></br>
|
||||
<li>Click "Connect" and select the correct port</br>or find help if <a href="https://github.com/technyon/nuki_hub" target='_blank' style='color:#aaa;'>no device found</a></li>
|
||||
</ol>
|
||||
</br>
|
||||
</br>
|
||||
<div id="URL_based_input" class="collapsible">
|
||||
<select id="pick-variant-selector">
|
||||
<optgroup label="Release version">
|
||||
<option label="NukiHub Default (ESP32, ESP32-C3, ESP32-C6, ESP32-S3, ESP32-P4)" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest.json"></option>
|
||||
<option label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest_s3octal.json"></option>
|
||||
<option label="NukiHub ESP32-SOLO1" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest_solo1.json"></option>
|
||||
<option label="NukiHub GL-S10" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/webflash_manifest_gls10.json"></option>
|
||||
</optgroup>
|
||||
<optgroup label="Beta version">
|
||||
<option class="beta" label="NukiHub Default (ESP32, ESP32-C3, ESP32-C6, ESP32-S3, ESP32-P4)" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest.json"></option>
|
||||
<option class="beta" label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest_s3octal.json"></option>
|
||||
<option class="beta" label="NukiHub GL-S10" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest_gls10.json"></option>
|
||||
<option class="beta" label="NukiHub ESP32-SOLO1" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/webflash_manifest_solo1.json"></option>
|
||||
<option class="beta" label="No Beta available" disabled value=""></option>
|
||||
</optgroup>
|
||||
<optgroup label="Development version">
|
||||
<option label="NukiHub Default (ESP32, ESP32-C3, ESP32-C6, ESP32-S3, ESP32-P4)" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest.json"></option>
|
||||
<option label="NukiHub ESP32-S3 OCTAL PSRAM" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest_s3octal.json"></option>
|
||||
<option label="NukiHub ESP32-SOLO1" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest_solo1.json"></option>
|
||||
<option label="NukiHub GL-S10" value="https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/webflash_manifest_gls10.json"></option>
|
||||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
</br>
|
||||
<esp-web-install-button id="inst" style='text-align:center'>
|
||||
<i slot="unsupported">Your browser does not support Web Serial.</br>Open this page in Google Chrome or</br>Microsoft Edge instead.</i>
|
||||
</esp-web-install-button>
|
||||
</div>
|
||||
<div style='text-align:right;font-size:11px;'>
|
||||
<hr/>
|
||||
<a href="https://esphome.github.io/esp-web-tools/" target='_blank' style='color:#aaa;'>NukiHub Installer inspired by Tasmota and ESP Web Tools</a>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -28,11 +28,13 @@ def copy_files(source, target, env):
|
||||
project_dir = env.get('PROJECT_DIR')
|
||||
board = get_board_name(env)
|
||||
|
||||
if "partitions.bin" in file.name:
|
||||
shutil.copy(file, f"{target_dir}/nuki_hub.{file.name}")
|
||||
elif "firmware" in file.stem:
|
||||
if "firmware" in file.stem:
|
||||
shutil.copy(file, f"{target_dir}/nuki_hub_{board}{file.suffix}")
|
||||
shutil.copy(f"{project_dir}/updater/release/{board}/updater.bin", f"{target_dir}/nuki_hub_updater_{board}{file.suffix}")
|
||||
elif "bootloader" in file.stem:
|
||||
shutil.copy(file, f"{target_dir}/nuki_hub_bootloader_{board}{file.suffix}")
|
||||
elif "partitions" in file.stem:
|
||||
shutil.copy(file, f"{target_dir}/nuki_hub_partitions_{board}{file.suffix}")
|
||||
else:
|
||||
shutil.copy(file, f"{target_dir}/{file.name}")
|
||||
|
||||
@@ -79,4 +81,4 @@ env.AddPostAction("$BUILD_DIR/partitions.bin", copy_files)
|
||||
env.AddPostAction("$BUILD_DIR/bootloader.bin", copy_files)
|
||||
env.AddPostAction("$BUILD_DIR/firmware.elf", copy_files)
|
||||
|
||||
env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", merge_bin)
|
||||
#env.AddPostAction("$BUILD_DIR/${PROGNAME}.bin", merge_bin)
|
||||
@@ -83,6 +83,8 @@ extends = env:esp32
|
||||
board = nuki-esp32gls10
|
||||
board_build.cmake_extra_args =
|
||||
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.release.defaults;sdkconfig.defaults.esp32;sdkconfig.gls10.defaults"
|
||||
build_flags =
|
||||
${env:esp32.build_flags}
|
||||
-DNUKI_TARGET_GL_S10=y
|
||||
|
||||
[env:esp32-c3]
|
||||
@@ -164,13 +166,10 @@ build_flags =
|
||||
extends = env:esp32-gl-s10
|
||||
custom_build = debug
|
||||
board_build.cmake_extra_args =
|
||||
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.debug.defaults;sdkconfig.defaults.esp32;sdkconfig.gls10.defaults"
|
||||
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.debug.defaults;sdkconfig.defaults.esp32;sdkconfig.gls10.defaults"
|
||||
build_flags =
|
||||
${env.build_flags}
|
||||
-DCORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_DEBUG
|
||||
-DCONFIG_NIMBLE_CPP_LOG_LEVEL=0
|
||||
-DCONFIG_BT_NIMBLE_LOG_LEVEL=0
|
||||
-DDEBUG_NUKIHUB
|
||||
${env:esp32_dbg.build_flags}
|
||||
-DNUKI_TARGET_GL_S10=y
|
||||
|
||||
[env:esp32-c3_dbg]
|
||||
extends = env:esp32-c3
|
||||
|
||||
@@ -24,66 +24,66 @@ Howto flash (Espressif Flash Download Tools)
|
||||
|
||||
ESP32
|
||||
e000 boot_app0.bin
|
||||
1000 bootloader.bin
|
||||
8000 nuki_hub.partitions.bin
|
||||
1000 nuki_hub_bootloader_esp32.bin
|
||||
8000 nuki_hub_partitions_esp32.bin
|
||||
10000 nuki_hub_esp32.bin
|
||||
280000 nuki_hub_updater_esp32.bin
|
||||
270000 nuki_hub_updater_esp32.bin
|
||||
|
||||
ESP32-GL-S10
|
||||
e000 boot_app0.bin
|
||||
1000 bootloader.bin
|
||||
8000 nuki_hub.partitions.bin
|
||||
1000 nuki_hub_bootloader_esp32.bin
|
||||
8000 nuki_hub_partitions_esp32.bin
|
||||
10000 nuki_hub_esp32.bin
|
||||
280000 nuki_hub_updater_esp32.bin
|
||||
270000 nuki_hub_updater_esp32.bin
|
||||
|
||||
ESP32-S3
|
||||
e000 boot_app0.bin
|
||||
0 bootloader.bin
|
||||
8000 nuki_hub.partitions.bin
|
||||
0 nuki_hub_bootloader_esp32s3.bin
|
||||
8000 nuki_hub_partitions_esp32s3.bin
|
||||
10000 nuki_hub_esp32s3.bin
|
||||
280000 nuki_hub_updater_esp32s3.bin
|
||||
270000 nuki_hub_updater_esp32s3.bin
|
||||
|
||||
ESP32-S3-OCT
|
||||
e000 boot_app0.bin
|
||||
0 bootloader.bin
|
||||
8000 nuki_hub.partitions.bin
|
||||
0 nuki_hub_bootloader_esp32s3oct.bin
|
||||
8000 nuki_hub_partitions_esp32s3oct.bin
|
||||
10000 nuki_hub_esp32s3oct.bin
|
||||
280000 nuki_hub_updater_esp32s3oct.bin
|
||||
270000 nuki_hub_updater_esp32s3oct.bin
|
||||
|
||||
ESP32-C3
|
||||
e000 boot_app0.bin
|
||||
0 bootloader.bin
|
||||
8000 nuki_hub.partitions.bin
|
||||
0 nuki_hub_bootloader_esp32c3.bin
|
||||
8000 nuki_hub_partitions_esp32c3.bin
|
||||
10000 nuki_hub_esp32c3.bin
|
||||
280000 nuki_hub_updater_esp32c3.bin
|
||||
270000 nuki_hub_updater_esp32c3.bin
|
||||
|
||||
ESP32-C6
|
||||
e000 boot_app0.bin
|
||||
0 bootloader.bin
|
||||
8000 nuki_hub.partitions.bin
|
||||
0 nuki_hub_bootloader_esp32c6.bin
|
||||
8000 nuki_hub_partitions_esp32c6.bin
|
||||
10000 nuki_hub_esp32c6.bin
|
||||
280000 nuki_hub_updater_esp32c6.bin
|
||||
270000 nuki_hub_updater_esp32c6.bin
|
||||
|
||||
ESP32-H2
|
||||
e000 boot_app0.bin
|
||||
0 bootloader.bin
|
||||
8000 nuki_hub.partitions.bin
|
||||
0 nuki_hub_bootloader_esp32h2.bin
|
||||
8000 nuki_hub_partitions_esp32h2.bin
|
||||
10000 nuki_hub_esp32h2.bin
|
||||
280000 nuki_hub_updater_esp32h2.bin
|
||||
270000 nuki_hub_updater_esp32h2.bin
|
||||
|
||||
ESP32-P4
|
||||
e000 boot_app0.bin
|
||||
0 bootloader.bin
|
||||
8000 nuki_hub.partitions.bin
|
||||
0 nuki_hub_bootloader_esp32p4.bin
|
||||
8000 nuki_hub_partitions_esp32p4.bin
|
||||
10000 nuki_hub_esp32p4.bin
|
||||
280000 nuki_hub_updater_esp32p4.bin
|
||||
270000 nuki_hub_updater_esp32p4.bin
|
||||
|
||||
ESP32-SOLO1
|
||||
e000 boot_app0.bin
|
||||
1000 bootloader.bin
|
||||
8000 nuki_hub.partitions.bin
|
||||
1000 nuki_hub_bootloader_esp32-solo1.bin
|
||||
8000 nuki_hub_partitions_esp32-solo1.bin
|
||||
10000 nuki_hub_esp32-solo1.bin
|
||||
280000 nuki_hub_updater_esp32-solo1.bin
|
||||
270000 nuki_hub_updater_esp32-solo1.bin
|
||||
|
||||
Make sure the checkmarks for all files are enabled.
|
||||
|
||||
@@ -99,38 +99,38 @@ As an alternative to the Download Tools, you can also use the esptool from the E
|
||||
|
||||
## ESP32
|
||||
|
||||
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x1000 bootloader.bin 0x10000 nuki_hub_esp32.bin 0x270000 nuki_hub_updater_esp32.bin 0x8000 nuki_hub.partitions.bin
|
||||
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x1000 nuki_hub_bootloader_esp32.bin 0x10000 nuki_hub_esp32.bin 0x270000 nuki_hub_updater_esp32.bin 0x8000 nuki_hub_partitions_esp32.bin
|
||||
|
||||
## ESP32-GL-S10
|
||||
|
||||
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x1000 bootloader.bin 0x10000 nuki_hub_esp32.bin 0x270000 nuki_hub_updater_esp32.bin 0x8000 nuki_hub.partitions.bin
|
||||
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x1000 nuki_hub_bootloader_esp32.bin 0x10000 nuki_hub_esp32.bin 0x270000 nuki_hub_updater_esp32.bin 0x8000 nuki_hub_partitions_esp32.bin
|
||||
|
||||
## ESP32-S3
|
||||
|
||||
esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 bootloader.bin 0x10000 nuki_hub_esp32s3.bin 0x270000 nuki_hub_updater_esp32s3.bin 0x8000 nuki_hub.partitions.bin
|
||||
esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32s3.bin 0x10000 nuki_hub_esp32s3.bin 0x270000 nuki_hub_updater_esp32s3.bin 0x8000 nuki_hub_partitions_esp32s3.bin
|
||||
|
||||
## ESP32-S3-OCT
|
||||
|
||||
esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 bootloader.bin 0x10000 nuki_hub_esp32s3oct.bin 0x270000 nuki_hub_updater_esp32s3oct.bin 0x8000 nuki_hub.partitions.bin
|
||||
esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32s3oct.bin 0x10000 nuki_hub_esp32s3oct.bin 0x270000 nuki_hub_updater_esp32s3oct.bin 0x8000 nuki_hub_partitions_esp32s3oct.bin
|
||||
|
||||
## ESP32-C3
|
||||
|
||||
esptool.py --chip esp32c3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 bootloader.bin 0x10000 nuki_hub_esp32c3.bin 0x270000 nuki_hub_updater_esp32c3.bin 0x8000 nuki_hub.partitions.bin
|
||||
esptool.py --chip esp32c3 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32c3.bin 0x10000 nuki_hub_esp32c3.bin 0x270000 nuki_hub_updater_esp32c3.bin 0x8000 nuki_hub_partitions_esp32c3.bin
|
||||
|
||||
## ESP32-C6
|
||||
|
||||
esptool.py --chip esp32c6 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 bootloader.bin 0x10000 nuki_hub_esp32c6.bin 0x270000 nuki_hub_updater_esp32c6.bin 0x8000 nuki_hub.partitions.bin
|
||||
esptool.py --chip esp32c6 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32c6.bin 0x10000 nuki_hub_esp32c6.bin 0x270000 nuki_hub_updater_esp32c6.bin 0x8000 nuki_hub_partitions_esp32c6.bin
|
||||
|
||||
## ESP32-H2
|
||||
|
||||
esptool.py --chip esp32h2 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 bootloader.bin 0x10000 nuki_hub_esp32h2.bin 0x270000 nuki_hub_updater_esp32h2.bin 0x8000 nuki_hub.partitions.bin
|
||||
esptool.py --chip esp32h2 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32h2.bin 0x10000 nuki_hub_esp32h2.bin 0x270000 nuki_hub_updater_esp32h2.bin 0x8000 nuki_hub_partitions_esp32h2.bin
|
||||
|
||||
## ESP32-P4
|
||||
|
||||
esptool.py --chip esp32p4 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 bootloader.bin 0x10000 nuki_hub_esp32p4.bin 0x270000 nuki_hub_updater_esp32p4.bin 0x8000 nuki_hub.partitions.bin
|
||||
esptool.py --chip esp32p4 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32p4.bin 0x10000 nuki_hub_esp32p4.bin 0x270000 nuki_hub_updater_esp32p4.bin 0x8000 nuki_hub_partitions_esp32p4.bin
|
||||
|
||||
## ESP32-SOLO1
|
||||
|
||||
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x1000 bootloader.bin 0x10000 nuki_hub_esp32-solo1.bin 0x270000 nuki_hub_updater_esp32-solo1.bin 0x8000 nuki_hub.partitions.bin
|
||||
esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq keep --flash_size detect 0xe000 boot_app0.bin 0x1000 nuki_hub_bootloader_esp32-solo1.bin 0x10000 nuki_hub_esp32-solo1.bin 0x270000 nuki_hub_updater_esp32-solo1.bin 0x8000 nuki_hub_partitions_esp32-solo1.bin
|
||||
|
||||
Adjust the serial device and path to the binaries if necessary.
|
||||
@@ -9,7 +9,6 @@ CONFIG_FREERTOS_IDLE_TASK_STACKSIZE=3072
|
||||
# REDUCE RAM USAGE
|
||||
CONFIG_FREERTOS_PLACE_FUNCTIONS_INTO_FLASH=y
|
||||
CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y
|
||||
CONFIG_SPI_FLASH_ROM_DRIVER_PATCH=n
|
||||
CONFIG_ESP32_REV_MIN=3
|
||||
CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR=n
|
||||
CONFIG_SPI_MASTER_ISR_IN_IRAM=n
|
||||
@@ -165,4 +164,4 @@ CONFIG_HTTPD_MAX_REQ_HDR_LEN=2048
|
||||
CONFIG_HTTPD_MAX_URI_LEN=512
|
||||
CONFIG_HTTPD_ERR_RESP_NO_DELAY=y
|
||||
CONFIG_HTTPD_PURGE_BUF_LEN=32
|
||||
CONFIG_HTTPD_WS_SUPPORT=y
|
||||
CONFIG_HTTPD_WS_SUPPORT=y
|
||||
|
||||
18
src/Config.h
18
src/Config.h
@@ -2,10 +2,10 @@
|
||||
|
||||
#include "sdkconfig.h"
|
||||
|
||||
#define NUKI_HUB_VERSION "9.10"
|
||||
#define NUKI_HUB_VERSION_INT (uint32_t)910
|
||||
#define NUKI_HUB_VERSION "9.11"
|
||||
#define NUKI_HUB_VERSION_INT (uint32_t)911
|
||||
#define NUKI_HUB_BUILD "unknownbuildnr"
|
||||
#define NUKI_HUB_DATE "2025-04-04"
|
||||
#define NUKI_HUB_DATE "2025-04-06"
|
||||
|
||||
#define GITHUB_LATEST_RELEASE_URL (char*)"https://github.com/technyon/nuki_hub/releases/latest"
|
||||
#define GITHUB_OTA_MANIFEST_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/manifest.json"
|
||||
@@ -109,17 +109,17 @@
|
||||
#define BOOT_BUTTON_GPIO (gpio_num_t)0
|
||||
#elif defined(NUKI_TARGET_GL_S10)
|
||||
#define GITHUB_LATEST_RELEASE_BINARY_URL "https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32-gl-s10.bin"
|
||||
#define GITHUB_LATEST_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_updater_esp32.bin"
|
||||
#define GITHUB_LATEST_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_updater_esp32gls10.bin"
|
||||
#define GITHUB_BETA_RELEASE_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_esp32-gl-s10.bin"
|
||||
#define GITHUB_BETA_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_updater_esp32.bin"
|
||||
#define GITHUB_BETA_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/beta/nuki_hub_updater_esp32gls10.bin"
|
||||
#define GITHUB_MASTER_RELEASE_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_esp32-gl-s10.bin"
|
||||
#define GITHUB_MASTER_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_updater_esp32.bin"
|
||||
#define GITHUB_MASTER_UPDATER_BINARY_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/master/nuki_hub_updater_esp32gls10.bin"
|
||||
#define GITHUB_LATEST_RELEASE_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/nuki_hub_esp32-gl-s10.bin"
|
||||
#define GITHUB_LATEST_UPDATER_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/nuki_hub_updater_esp32.bin"
|
||||
#define GITHUB_LATEST_UPDATER_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/nuki_hub_updater_esp32gls10.bin"
|
||||
#define GITHUB_BETA_RELEASE_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/beta/nuki_hub_esp32-gl-s10.bin"
|
||||
#define GITHUB_BETA_UPDATER_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/beta/nuki_hub_updater_esp32.bin"
|
||||
#define GITHUB_BETA_UPDATER_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/beta/nuki_hub_updater_esp32gls10.bin"
|
||||
#define GITHUB_MASTER_RELEASE_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/master/nuki_hub_esp32-gl-s10.bin"
|
||||
#define GITHUB_MASTER_UPDATER_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/master/nuki_hub_updater_esp32.bin"
|
||||
#define GITHUB_MASTER_UPDATER_BINARY_URL_DBG (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/debug/master/nuki_hub_updater_esp32gls10.bin"
|
||||
#define GITHUB_LATEST_RELEASE_BINARY_URL_OTHER (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_esp32.bin"
|
||||
#define GITHUB_LATEST_UPDATER_BINARY_URL_OTHER (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/nuki_hub_updater_esp32.bin"
|
||||
#define NUKI_HUB_HW (char*)"ESP32-GL-S10"
|
||||
|
||||
@@ -89,7 +89,7 @@ private:
|
||||
const std::vector<uint8_t> _availablePins = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 18, 19, 20, 21 };
|
||||
#elif defined(CONFIG_IDF_TARGET_ESP32S3)
|
||||
//Based on https://github.com/atomic14/esp32-s3-pinouts?tab=readme-ov-file and https://docs.espressif.com/projects/esp-idf/en/v5.3/esp32s3/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf
|
||||
const std::vector<uint8_t> _availablePins = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48 };
|
||||
const std::vector<uint8_t> _availablePins = { 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 38, 39, 40, 41, 42 };
|
||||
#elif defined(CONFIG_IDF_TARGET_ESP32C6)
|
||||
//Based on https://docs.espressif.com/projects/esp-idf/en/v5.3/esp32c6/api-reference/peripherals/gpio.html and https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf
|
||||
const std::vector<uint8_t> _availablePins = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23 };
|
||||
|
||||
@@ -284,7 +284,7 @@ void HomeAssistantDiscovery::publishHASSNukiHubConfig()
|
||||
"nuki_hub_version",
|
||||
_nukiHubUidString,
|
||||
"_nuki_hub_version",
|
||||
"Nuki Hub version",
|
||||
"Version",
|
||||
_hostname.c_str(),
|
||||
_baseTopic.c_str(),
|
||||
String("~") + mqtt_topic_info_nuki_hub_version,
|
||||
@@ -303,7 +303,7 @@ void HomeAssistantDiscovery::publishHASSNukiHubConfig()
|
||||
"nuki_hub_build",
|
||||
_nukiHubUidString,
|
||||
"_nuki_hub_build",
|
||||
"Nuki Hub build",
|
||||
"Build",
|
||||
_hostname.c_str(),
|
||||
_baseTopic.c_str(),
|
||||
String("~") + mqtt_topic_info_nuki_hub_build,
|
||||
@@ -356,7 +356,7 @@ void HomeAssistantDiscovery::publishHASSNukiHubConfig()
|
||||
"nuki_hub_latest",
|
||||
_nukiHubUidString,
|
||||
"_nuki_hub_latest",
|
||||
"Nuki Hub latest",
|
||||
"Latest Version",
|
||||
_hostname.c_str(),
|
||||
_baseTopic.c_str(),
|
||||
String("~") + mqtt_topic_info_nuki_hub_latest,
|
||||
@@ -381,7 +381,7 @@ void HomeAssistantDiscovery::publishHASSNukiHubConfig()
|
||||
"nuki_hub_update",
|
||||
_nukiHubUidString,
|
||||
"_nuki_hub_update",
|
||||
"Nuki Hub firmware update",
|
||||
"Firmware update",
|
||||
_hostname.c_str(),
|
||||
_baseTopic.c_str(),
|
||||
String("~") + mqtt_topic_info_nuki_hub_version,
|
||||
@@ -403,7 +403,7 @@ void HomeAssistantDiscovery::publishHASSNukiHubConfig()
|
||||
"nuki_hub_update",
|
||||
_nukiHubUidString,
|
||||
"_nuki_hub_update",
|
||||
"Nuki Hub firmware update",
|
||||
"Firmware update",
|
||||
_hostname.c_str(),
|
||||
_baseTopic.c_str(),
|
||||
String("~") + mqtt_topic_info_nuki_hub_version,
|
||||
|
||||
@@ -217,7 +217,7 @@ void NukiNetwork::initialize()
|
||||
{
|
||||
_hostname = _preferences->getString(preference_hostname, "");
|
||||
|
||||
if(_hostname == "" || _hostname == "nukihub")
|
||||
if(_hostname == "")
|
||||
{
|
||||
char _nukiHubUidString[20];
|
||||
uint8_t mac[8];
|
||||
@@ -265,7 +265,7 @@ void NukiNetwork::initialize()
|
||||
|
||||
_hostname = _preferences->getString(preference_hostname, "");
|
||||
|
||||
if(_hostname == "" || _hostname == "nukihub")
|
||||
if(_hostname == "")
|
||||
{
|
||||
char _nukiHubUidString[20];
|
||||
uint8_t mac[8];
|
||||
|
||||
@@ -563,7 +563,7 @@ private:
|
||||
};
|
||||
std::vector<char*> _bytePrefs =
|
||||
{
|
||||
preference_acl, preference_conf_info_enabled, preference_conf_lock_basic_acl, preference_conf_lock_advanced_acl, preference_conf_opener_basic_acl,
|
||||
preference_acl, preference_conf_lock_basic_acl, preference_conf_lock_advanced_acl, preference_conf_opener_basic_acl,
|
||||
preference_conf_opener_advanced_acl, preference_gpio_configuration
|
||||
};
|
||||
std::vector<char*> _intPrefs =
|
||||
|
||||
@@ -3174,7 +3174,7 @@ bool WebCfgServer::processArgs(PsychicRequest *request, PsychicResponse* resp, S
|
||||
}
|
||||
else if(key == "HOSTNAME")
|
||||
{
|
||||
if(_preferences->getString(preference_hostname, "") != value && value != "nukihub")
|
||||
if(_preferences->getString(preference_hostname, "") != value)
|
||||
{
|
||||
_preferences->putString(preference_hostname, value);
|
||||
Log->print("Setting changed: ");
|
||||
@@ -5104,7 +5104,7 @@ esp_err_t WebCfgServer::buildNetworkConfigHtml(PsychicRequest *request, PsychicR
|
||||
response.print("<input type=\"hidden\" name=\"page\" value=\"savecfg\">");
|
||||
response.print("<h3>Network Configuration</h3>");
|
||||
response.print("<table>");
|
||||
printInputField(&response, "HOSTNAME", "Hostname (needs to be unique, \"nukihub\" is not allowed)", _preferences->getString(preference_hostname).c_str(), 100, "");
|
||||
printInputField(&response, "HOSTNAME", "Hostname (needs to be unique)", _preferences->getString(preference_hostname).c_str(), 100, "");
|
||||
printDropDown(&response, "NWHW", "Network hardware", String(_preferences->getInt(preference_network_hardware)), getNetworkDetectionOptions(), "");
|
||||
printInputField(&response, "HASSCUURL", "Home Assistant device configuration URL (empty to use http://LOCALIP; fill when using a reverse proxy for example)", _preferences->getString(preference_mqtt_hass_cu_url).c_str(), 261, "");
|
||||
#ifndef CONFIG_IDF_TARGET_ESP32H2
|
||||
|
||||
@@ -72,6 +72,8 @@ extends = env:updater_esp32
|
||||
board = nuki-esp32gls10
|
||||
board_build.cmake_extra_args =
|
||||
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.defaults.esp32;sdkconfig.gls10.defaults"
|
||||
build_flags =
|
||||
${env.build_flags}
|
||||
-DNUKI_TARGET_GL_S10=y
|
||||
|
||||
[env:updater_esp32-c3]
|
||||
|
||||
Reference in New Issue
Block a user