diff --git a/.github/workflows/compile.yml b/.github/workflows/compile.yml index 6030e36d..018eccaf 100644 --- a/.github/workflows/compile.yml +++ b/.github/workflows/compile.yml @@ -85,3 +85,4 @@ with: name: updater.bin path: ${{ github.workspace }}/updater.bin + diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index e4378981..7f892325 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -9,20 +9,24 @@ on: - develop jobs: check_flasher: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Check flasher with proof-html - uses: anishathalye/proof-html@v2 - with: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Copy JS to the flasher + # This step is required to copy the JS file to the flasher directory to check it with proof-html + run: | + cp -f ${{ github.workspace }}/deploy/web_server/jaam_v2.js ${{ github.workspace }}/flasher/jaam_v2.js + - name: Check flasher with proof-html + uses: anishathalye/proof-html@v2 + with: directory: ${{ github.workspace }}/flasher run_black: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Run Black in the check mode - uses: psf/black@stable - with: - options: "--check --verbose --line-length 120 --diff --color --target-version py312" - src: ${{ github.workspace }}/deploy - version: "~= 24.0" \ No newline at end of file + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Run Black in the check mode + uses: psf/black@stable + with: + options: "--check --verbose --line-length 120 --diff --color --target-version py312" + src: ${{ github.workspace }}/deploy + version: "~= 24.0" \ No newline at end of file diff --git a/.github/workflows/upload-pages/action.yml b/.github/workflows/upload-pages/action.yml index 5853a054..09fa2318 100644 --- a/.github/workflows/upload-pages/action.yml +++ b/.github/workflows/upload-pages/action.yml @@ -30,6 +30,7 @@ runs: run: | sed -i 's/>Встановити JAAM [0-9.]*Встановити JAAM ${{ inputs.version }}Встановити JAAM [0-9.]* Beta [0-9]*Встановити JAAM ${{ inputs.version }} Beta ${{ inputs.beta_build }}Встановити JAAM [0-9.]* LiteВстановити JAAM ${{ inputs.version }} Liteprintln(""); - response->println(""); + response->println(""); response->println(""); response->println(""); response->println(""); @@ -1858,17 +1858,25 @@ void addHeader(AsyncResponseStream* response) { response->println("'>"); response->println(""); response->println(""); - response->println("
"); - response->println("
"); #if FW_UPDATE_ENABLED if (fwUpdateAvailable) { + response->println("
"); + response->println("
"); response->println("
"); response->print("Доступна нова версія прошивки - "); response->print(newFwVersion); response->println("
Для оновлення перейдіть в розділ Прошивка"); response->println("
"); + response->print("
Завантажити опис оновлення?
"); + response->print("

"); + response->println("
"); + response->println("
"); } #endif + response->println("
"); + response->println("
"); response->print("Локальна IP-адреса: "); response->print(getLocalIP()); response->println(""); @@ -1929,6 +1937,14 @@ void addFooter(AsyncResponseStream* response) { response->println("
"); response->println(""); response->println(""); +#if FW_UPDATE_ENABLED + if (fwUpdateAvailable) { + response->println(""); + response->print(""); +} +#endif response->print(""); @@ -2456,9 +2472,9 @@ void handleSaveBrightness(AsyncWebServerRequest *request) { saved = saveInt(request->getParam("brightness_service", true), &settings.brightness_service, "bs", NULL, checkServicePins) || saved; saved = saveFloat(request->getParam("light_sensor_factor", true), &settings.light_sensor_factor, "lsf") || saved; saved = saveBool(request->getParam("dim_display_on_night", true), "dim_display_on_night", &settings.dim_display_on_night, "ddon", NULL, updateDisplayBrightness) || saved; - + if (saved) autoBrightnessUpdate(); - + char url[18]; sprintf(url, "/brightness?svd=%d", saved); request->redirect(url); @@ -2474,7 +2490,7 @@ void handleSaveColors(AsyncWebServerRequest* request) { saved = saveInt(request->getParam("color_missiles", true), &settings.color_missiles, "colormi") || saved; saved = saveInt(request->getParam("color_drones", true), &settings.color_drones, "colordr") || saved; saved = saveInt(request->getParam("color_home_district", true), &settings.color_home_district, "colorhd") || saved; - + char url[14]; sprintf(url, "/colors?svd=%d", saved); request->redirect(url); @@ -2751,7 +2767,7 @@ void checkHomeDistrictAlerts() { bool localAlarmNow = ledStatus == 1; if (localAlarmNow != alarmNow) { alarmNow = localAlarmNow; - if (alarmNow && needToPlaySound(ALERT_ON)) playMelody(ALERT_ON); + if (alarmNow && needToPlaySound(ALERT_ON)) playMelody(ALERT_ON); if (!alarmNow && needToPlaySound(ALERT_OFF)) playMelody(ALERT_OFF); alertPinCycle(); @@ -3108,14 +3124,14 @@ void mapAlarms() { } for (uint16_t i = 0; i < settings.pixelcount; i++) { strip[i] = processAlarms( - adapted_alarm_leds[i], - adapted_alarm_timers[i], - adapted_explosion_timers[i], - adapted_missiles_timers[i], - adapted_drones_timers[i], - i, - blinkBrightness, - notificationBrightness, + adapted_alarm_leds[i], + adapted_alarm_timers[i], + adapted_explosion_timers[i], + adapted_missiles_timers[i], + adapted_drones_timers[i], + i, + blinkBrightness, + notificationBrightness, false ); } @@ -3123,7 +3139,7 @@ void mapAlarms() { // same as for local district int localDistrict = calculateOffsetDistrict(settings.kyiv_district_mode, settings.home_district, offset); fill_solid( - bg_strip, + bg_strip, settings.bg_pixelcount, processAlarms( adapted_alarm_leds[localDistrict], @@ -3376,7 +3392,7 @@ void initSettings() { settings.explosion_time = preferences.getInt("ext", settings.explosion_time); settings.alert_blink_time = preferences.getInt("abt", settings.alert_blink_time); settings.melody_volume = preferences.getInt("mv", settings.melody_volume); - + preferences.end(); currentFirmware = parseFirmwareVersion(VERSION); @@ -3648,9 +3664,9 @@ void initUpdates() { void initHA() { if (shouldWifiReconnect) return; - + LOG.println("Init Home assistant API"); - + if (!ha.initDevice(settings.ha_brokeraddress, settings.devicename, currentFwVersion, settings.devicedescription, chipID)) { LOG.println("Home Assistant is not available!"); return; diff --git a/flasher/index.html b/flasher/index.html index 2d77de8a..addd9883 100644 --- a/flasher/index.html +++ b/flasher/index.html @@ -104,9 +104,17 @@

JAAM Flasher

  • JAAM Beta - тестова версія прошивки. Містить функції, що перебувають у розробці.
  • JAAM Lite - "скорочена" версія прошивки. Видалено підтримку дисплею, Home Assistant, сенсорів освітлення та клімату, динаміка (buzzer), не підтримує оновлення через веб-інтерфейс
  • - +
    + +
    +
    Завантаження опису версії...
    +
    + + +
    +

    Якщо ви не обрали порт через те, що не бачили ваш пристрій у списку, спробуйте наступні @@ -173,6 +181,8 @@

    JAAM Flasher

    + + \ No newline at end of file