Skip to content

Releases: nutechsoftware/AlarmDecoder-IoT

Release v1.1.0p1

18 Sep 22:41
51f2e99
Compare
Choose a tag to compare

Changes:

  • Partition change add new coredump partition.
    • This change will require manual flash OTA will not work. Hopefully this is the last partition change.
  • Improved top command from 1.1.0 fixed bugs and rollover issues.
  • Twilio
    • New sub command to disable or enable notification slots.
    • Expanding total notification slots from 8 to 999.
    • Memory optimization.
  • General
    • Continued work on docs.
    • Continued work on memory and CPU optimization.

Release v1.1.0

23 May 20:15
bea843f
Compare
Choose a tag to compare

Big changes:

  • Help file and docs refactor to make more user friendly.
  • Replace NVS config storage with spiffs partition and human readable ini file.
  • FTP server to allow for remote editing of the configuration file on /spiffs or /sdcard partition.
  • Migrate the redundant use of switch in each component to a global switch command and refactor existing components to use global switch settings.
  • Added support for UNKNOWN(-1) state to switch default state and reset > 0 will auto reset switch after event back to the default state.
  • Update OTA config settings so older firmware will not see this new branch. Updates to older firmware will require manual re-flashing until I get an update firmware done.

Added

  • Commands
    • ad2config
      • Allow AD2IoT to enforce AD2pHat or attached AD2* device firmware settings.
    • switch
      • Global switches for use by all components.
      • New default value option UNKNOWN(-1).
      • auto reset to default with reset > 0 in case the open event tracked does not have a close event.
    • ftpd
      • Remote HTTP content or ad2iot.ini config file management.
  • Config using https://github.com/brofield/simpleini

Changed

  • Yes :)

Release v1.0.9p4

14 Feb 06:04
b48fd6f
Compare
Choose a tag to compare

Add missing logic for MQTT commands subscription with new commands enable/disable command. Misc minor cleanup of warnings. Refactor ad2_ helpers for arming to support code or codeID. Added initial support for Auto Discovery with Home Assistant and MQTT.

Example Support for auto discovery in Home Assistant.

image

Added

  • MQTT
    • Enable/Disable feature for commands subscription with warning when enabling about security on public MQTT servers.
      • mqtt commands [Y|N]
    • Missing logic behind commands subscription in the MQTT component.
      • Verbs: [DISARM, ARM_STAY, FW_UPDATE, ARM_AWAY, EXIT, CHIME_TOGGLE, AUX_ALARM, PANIC_ALARM, FIRE_ALARM, BYPASS, SEND_RAW, FW_UPDATE]
    • Update README with details on commands, tprefix and dprefix.
    • Add topic prefix command tprefix.
    • Add discovery topic prefix command dprefix for MQTT auto discovery.

Changed

  • Change zone command to expect a json string that is not currently validated as the last argument.
    • {"alpha": "zone alpha descriptor", "type": "zone type string"}.
  • Refactor utils to allow for raw codes or codeID for ARM, DISARM, etc.
  • Remove unnecessary code passed to ad2_ functions that don't need it.
  • Remove forced C code sections. Need to clean all of them up now. Not an issue with newer build environment.
  • Fixed warning on g_ad2_console_mutex.

Change log

  • SM - MISC: Fix small memory leak in virtual switch usage in Pushover, Twilio and MQTT.
  • SM - MQTT: Refactor publish function to make it easy to use in the code.
  • SM - HAL: Added hal wrapper for ota_do_update(hal_ota_do_update) and updated any use of ota_do_update from outside of main.
  • SM - MQTT: Added commands verbs [DISARM, ARM_STAY, FW_UPDATE, ARM_AWAY, EXIT, CHIME_TOGGLE, AUX_ALARM, PANIC_ALARM, FIRE_ALARM, BYPASS, SEND_RAW, FW_UPDATE].
  • SM - MQTT: Support for Home Assistant/Others auto discovery.
  • SM - MQTT: Add new command dprefix to set a prefix for publishing device config documents for MQTT auto discovery.
  • SM - MQTT: Add new command commands to enable/disable commands subscription.
  • SM - MQTT: Remove forced cdecl calling to use C++.
  • SM - MQTT: Add new command tprefix to set a prefix for all topics on the broker.
  • SM - MQTT: Add new command to define signon messages to publish.
  • SM - CORE: Refactor ad2_ routines to arm, disarm etc to support raw code as well as code id from code command.
  • SM - CORE: ad2_utils remove forced cdecl calling to use C++ instead. TODO: I can now safely remove the extern 'C' from everything with the current build tools.
  • SM - CORE: Fixed a few compiler warnings re. external with init.

Release v1.0.9p3

02 Dec 21:32
aa15c52
Compare
Choose a tag to compare

Continued improvements found during daily use.

Added

  • New standard command factory-reset to clear NVS config partition.
  • Show panel state change JSON on CLI.
  • Twilio New format sub command using https://github.com/fmtlib/fmt for simple formats with positional arguments {} for auto or {1} for indexed. Allows duplicate tags {1}{1}. This allows for better control of the message sent to the Twilio API depending on the API type Email, SMS, Call.

Changed

  • Partition refactor to fill 4MB flash adding configuration and firmware storage space. Max firmware size is now 1.9M. The current firmware size for webui build is ~1.2M - 65%. Config storage partition(nvs) increased from 16KB to 44KB.
  • Refactor CLI to reduce noise and make it easier to use.
  • Pushover & Twilio allow for multiple API calls from single virtual switch event. Ex. Email + SMS Text.
  • Automatic selection of build flags for upgrade command to use current build.
  • version command now shows build flags.
  • API ZONE_TRACKING fix countdown messages reporting as zone faults.
  • Fix don't call subscribe api after init(s) done.
  • Bump stack to 8k on AD2 uart task same as ad2 socket client task.

Release v1.0.9p2

18 Oct 00:24
e18439a
Compare
Choose a tag to compare

Improve BEEP and EXIT tracking and fixed ad2term reset option.

Changed

  • Improve BEEP and EXIT event tracking after testing on other panels.
  • Fixed reset option on ad2term command not resetting and locking up AD2*.

Release v1.0.9p1

13 Oct 03:42
a4d7144
Compare
Choose a tag to compare

Added ON_BEEP_CHANGE. Fixed and improved ON_ZONE_CHANGE events. Added ad2_bypass_zone helper and added zone and bypass capability to webUI.

Added

  • ON_BEEP_CHANGE event.
  • Added ad2_bypass_zone helper.
  • Show zone fault and bypass zone capability to webUI.

Changed

  • Fixed some issues in zone tracking.
  • Fixed virtual zone ID's to be loaded early before any parsing of messages.

Change log

  • SM - CORE: Be sure to init all virtual partitions early so they are consistent. If not configured virutal partitions ID's can change each reboot of the device.
  • SM - CORE: Add ad2_bypass_zone.
  • SM - WEBUI: Add action.
  • SM - API: Fixed bug in zone tracking timeout outside of context.
  • SM - CORE: fix bug in vpart init skipped by no zone list.
  • SM - API: Fix bug when HEX zones 0CA(cancel) converts to 0.
  • SM - API: Change fire to use timeout same as zones to avoid bouncing.
  • SM - WEBUI: Added ON_BEEPS_CHANGE event to notifications. Add ON_ZONE_CHANGE notification and zone info to websocket state request.
  • SM - MQTT: Added ON_BEEPS_CHANGE event to notifications.
  • SM - API: Add ON_BEEPS_CHANGE.
  • SM - WEBUI: Add ZONE state to notification message.

Added zone change notification and several small fixes and improvements.

08 Oct 22:10
4881c12
Compare
Choose a tag to compare

Added zone change notification and several small fixes and improvements.

Added

  • Zone tracking ON_ZONE_CHANGE events.
  • Zone alpha descriptors.
  • Zone partition assignment.
  • Multiple recipients for email notifications.
  • Delete smart switch sub commands [-] for components Twilio, Pushover, and MQTT.
  • Zone state info published over MQTT with new ON_ZONE_CHANGE events.

Changed

  • Fix help commands causing stack fault with large blocks of text.
  • AlarmDecoder API some fixes some improvements.
  • Misc IPv4/IPv6 issues and ser2sock client issues.
  • Rename project to AlarmDecoder-IoT

ACL+IPv6, MQTT Client, Refactor headers etc. New simple and flexible ad2_add_http_sendQ serialized async HTTP request API for components

21 Aug 05:25
a5f8878
Compare
Choose a tag to compare

Added

  • IPv6 support with ACL(Access Control List) for webUI and ser2sockd.
  • MQTT client
    • Each client connects under the root topic of ad2iot with a sub topic level of the devices UUID.
      • Example: ad2iot/41443245-4d42-4544-4410-XXXXXXXXXXXX
    • LWT is used to indicate online/offline state of client using status topic below the device root topic.
      • Example: ad2iot/41443245-4d42-4544-4410-XXXXXXXXXXXX/status = {"state": "online"}
    • Device specific info is in the info topic below the device root topic.
    • Partition state tracking with minimal traffic only when state changes. Each configured partition will be under the partitions topic below the device root topic.
      • Example: ad2iot/41443245-4d42-4544-4410-30aea49e7130/partitions/1 = {"ready":false,"armed_away":false,"armed_stay":false,"backlight_on":false,"programming_mode":false,"zone_bypassed":false,"ac_power":true,"chime_on":false,"alarm_event_occurred":false,"alarm_sounding":false,"battery_low":true,"entry_delay_off":false,"fire_alarm":false,"system_issue":false,"perimeter_only":false,"exit_now":false,"system_specific":3,"beeps":0,"panel_type":"A","last_alpha_messages":"SYSTEM LO BAT ","last_numeric_messages":"008","event":"LOW BATTERY"}
    • Custom virtual switches with user defined topics are kept under the switches below the device root topic.
      • Example: ad2iot/41443245-4d42-4544-4410-30aea49e7130/switches/RF0180036 = {"state":"RF SENSOR 0180036 CLOSED"}
    • New serialized async http request ad2_ api ad2_add_http_sendQ() to minimize memory usage to multiple HTTP/HTTPS push notifications.

Changed

  • Large cleanup of headers, components, help.
  • Small changes in startup order and added global ca init early.
  • Small change to API to prevent ejecting multiple messages when the parser receives its first message. Now just send a READY state change event with all current state bits.
  • ad2_utils json helper utils refactor.
  • Migrate Pushover and Twilio/SendGrid components to use the new ad2_add_http_sendQ() api.
  • Validate and tune stack on existing tasks.

Release v1.0.7 now with new webUI component.

30 Jul 06:43
c8ca077
Compare
Choose a tag to compare

This release includes many changes here is a summary of some of them.

  • Now building using vscode and platformio for the latest ESP-IDF v4.3 and build with older ESP-IDF V3.3 when building with the stsdk build tools.

  • New component webUI now available when building with platformio and newer ESP-IDF v4.3 that supports web sockets. Supports multiple partitions via url query args vpartID and codeID.

  • Several improvements in the C++ AlarmDecoder parser class to fix problems discovered during testing multi partition support and webUI.

  • Improve 'upgrade' command to now support a build flag. The default flag is 'stsdk' if not provided as an argument to the command. This release now includes a new build 'webui' that disables the SmartThings component and enables the webUI component and is built with the latest ESP-IDF v4.3. To switch from 'stsdk to 'webui' use the command 'upgrade webui'.

  • Improve network management to better handle network resets or wifi disconnects.

Patch #6 to 1.0.6

05 Apr 19:39
37042b7
Compare
Choose a tag to compare

Improve syntax of Twilio module to match the newer Pushover syntax. A little more human friendly.
Fixed a few bugs and bump version.