Skip to content

Latest commit

 

History

History
1158 lines (740 loc) · 63.1 KB

RUNNING_CHANGELOG.md

File metadata and controls

1158 lines (740 loc) · 63.1 KB

Homebridges-cmd4 - CMD4 Plugin for Homebridge - Supports ~All Accessory Types and now all Characteristics too!!

## Homebridge UI User. Do not click on any inline links. Homebridge UI does not supprt them. Bug#1098

ChangeLog

7.0.0 (2023-06-11)

## Whats new in 8.0.1

8.0.1 (2024-08-16)

Bug Fixes
  • Bug #147 Accesories removed from home app after upgrade to 8.0 (de25e94f)

## Whats new in 8.0.0

8.0.0 (2024-06-28)

Documentation Changes
  • Document changes for homebridge v2 where TargetAirQuality and TargetSlatState are deprecated (80ef143)
Bug Fixes
  • fix for homebridge v2 where TargetSlateStte and TargetAirQuality are deprecated (6acfbb2)
  • Fix for homebridge v2 Formats&Perms&Units only available directly from HAP (2a9d6e9)
  • Fix lint error (286dc68)
  • Fix add beta tag (9b36408)
  • Fix for homebridge v2 where some device types are deprecated (e483326)
  • stop committing npm package (630f4fb)
  • Fix: Update hap perms for homebridge v2 & deprecate devices for name changes (5eb9ede)
  • Fix: For homebridge V2 which removed Perms.READ and Perms.WRITE for PAIRED_READ & PAIRED_WRITE (5e888b0)
  • Fix: homebridge V2 requires updated package fakegato-history (61011e5)
  • Fix: Set read for h omebridge v2 & Remove deprecated Characteristic.getValue() tests (b1a8702)
New Features
  • Support only Platform Accessories as per Homebridge recommendation (0ee6efc)

## Whats new in 7.1.0

7.1.0 (2024-03-04)

Documentation Changes
  • Update for newest characteristics (fccb9ebd)
New Features
  • Add in latest new characteristics and devices (545112f0)

## Whats new in 7.0.3

7.0.3 (2024-01-27)

Bug Fixes
  • props is already an object. Also test setProps is called for more than one characteristic. Affects only those who change a characteristics property range (276d0c0d)

## Whats new in 7.0.2

7.0.2 (2023-12-24)

Change affectng AdvAir by their request
  • For AdvAir.sh put accessory name in double quotes so it can contain a single quote (023e91c0)

ChangeLog

Chores
Bug Fixes

## Whats new in 7.0.0

7.0.0 (2023-03-05)

  • The reason for the major version numbering update was to for deprecation warnings to throw an error. These warnings were there for many major versions and are finally removed.

    "queueInterval" - Never put into production and will now throw an error. "queueMsg" - Never put into production and will now throw an error. "queueStatMsgInterval" - Never put into production and will now throw an error. "cmd4_Mode" - Obsolete for many versions and will now throw an error. "storage" - Obsolete outside of fakegato definition. "storagePath" - Obsolete outside of fakegato definition. "folder" - Obsolete outside of fakegato definition. "keyPath" - Obsolete outside of fakegato definition. "queueTypes" - Obsolete inside accessory definition.

New Features
  • add retries. Also formatting issues (b8ddf9ce)
Documentation Changes

Beta2

  • Update documentation for v7.0.0 (12b6482a)
Bug Fixes

Beta2

  • remove unwanted debug message and test so that it cannot reoccur (97b6b318)
  • Homebridge does not like underscores of accessory names. Remove from default config.json (15f2170b)

Beta1

  • retry logging starts from zero, but for user count starts from 1 (38cdf417)
  • By nature retryCount should start from zero (b8e82ffe)
  • log message in wrong quotes (6fc555b0)
  • retries for WoRm should be zero. Can be overriden (11351633)
  • Accessory needs to go unresponsive via updateValue with error object (cdfee1b2)
Tests
  • put back skipped tests (0b0781fa)
  • Remove excess debug messages for commit with verify to work (ea108470)
  • Don't know why HomeKit does not cause Cmd4 to generate a log that it is trying to reconnect after unavailable (d45d7c09)
  • Add unit testing to prove fix of bug#130 (e9a902fc)

## Whats new in 6.3.0

6.3.0 (2022-04-12)

Bug Fixes
  • Bug #130, linked accessories not accesible after restart (aeab5a40)

## Whats new in 6.2.0

6.2.0 (2022-02-18)

New Features
  • Add new characteristics and device types (c3560130)

Characteristics

AssetUpdateReadiness SupportedAssetTypes ConfigurationState NFCAccessControlPoint NFCAccessSupportedConfiguration SiriEndpointSessionStatus ThreadControlPoint ThreadNodeCapabilities ThreadStatus ThreadOpenThreadVersion

Device Types

AccessoryMetrics AssetUpdate Assistant AudioStreamManagement Battery CameraRecordingManagement CloudRelay DataStreamTransportManagement NFCAccess SiriEndpoint ThreadTransport

Note: While these are now available to use. Some may not be suitable for Cmd4 depending on their complexity.

## Whats new in 6.1.2

6.1.2 (2022-02-12)

Bug Fixes
  • bug #127 Resolve crash when no internet connection

## Whats new in 6.1.1

6.1.1 (2022-01-31)

Bug Fixes
  • bug #125 Manufacturer, serialNumber and Model not displaying in Home (715a2127)

## Whats new in 6.1.0

6.1.0 (2022-01-30)

New Features
  • See if WoRm2 Queue can resolve large scale AirCon accessories (61b164ae)
Bug Fixes
  • bug #124, Eve graph not being displayed (929da3e3)
  • PROGRAM_SCHEDULED_MANUAL_MODE_ constant remove trailing underscore (52e1fd3f)

## Whats new in 6.0.4

6.0.4 (2021-12-31)

Bug Fixes
  • Constants were not getting passed down to linked types (b7252bf9)

## Whats new in 6.0.3

6.0.3 (2021-11-11)

Bug Fix
  • Schema Prep for Homebridge-UI integration (2c5df2c1)

## Whats new in 6.0.2

6.0.2 (2021-11-10)

Bug Fix
  • Schema Prep - For Homebridge-ui schema must have defined keys (3053780b)

## Whats new in 6.0.1

6.0.1 (2021-11-07)

Bug Fixes
  • For bug#116 remove stateCmd validation and for AirCon add global const parsing (e7bc4963)

## Whats new in 6.0.0

6.0.0 (2021-10-01)

  • Schema Prep - Found in Beta Check case of type (9a394de0)

## Whats new in 6.0.0-beta1

6.0.0-beta1 (2021-09-27)

New Features
  • Schema Prep - More documentation changes (c6d68f1f)
  • Schema Prep - Documentation changes for feat (5be7393d)
  • Schema Prep. More fakegato testing, Make cmd4Dbg not be file global scope (50355797)
  • Schema Prep - for fakegato and others, correct key/value pair the first time it is found (335ca7e5)
  • Schema Prep - Make sure fakegato characteristics are correct (a8274c7a)
  • Schema Prep - Should save by index, like others (20872e2b)
  • Schema-Prep This works with all lower case, still sends Get/Set upper case (d3764584)
  • Schema Prep - constants are now lower case and the input is lowered instead (03b232a1)
  • New tset tool to check where constant is defined (4fc3668a)
  • Schema Prep - Change variables to lower case, still check for Upper case (2b8f4bf7)
  • Schema prep- Change constants to an object (f0dd0de9)
  • Continue Schema Prep. Cmd4Storage is now referenced accordingly (79d85b01)
  • Schema Prep. FakeGato simplification (fd26104b)
  • Prep for Schema. Stored data now version controlled and assoc array class (59d7a229)
  • Prep for schema. Warn keys must be lower case (fe3c155c)
  • "Prep for Schema. Unclutter namespace" (12a63fb5)
Bug Fixes
  • Unit testing order is relevant. Add --bail for sanityTests (3d3eb844)
  • missed with last update (2282996c)
  • The warning should read Capitalized, not Upper case (9b7f7957)
  • Found in demo mode, polling for default characteristics was attempted (01960b73)
  • For Demo mode, Target states must be defined so warning is not shown (a1e00e3f)
  • Testing Prep Schema fix. Added unit test so will not happen again (85ab69f7)

## Whats new in 5.1.1

5.1.1 (2021-09-16)

Bug Fixes
  • Bug #113 Add example SecuritySystem script, fixing TargetState (fc892370)

## Whats new in 5.1.0

5.1.0 (2021-08-16)

Chores
  • Add PS5.sh as an example script (9921cd29)
New Features
  • Change process.exit to throw new Error (0a058100)
  • Change process.exit to throw new Error (203cc67a)

## Whats new in 5.0.2

5.0.2 (2021-08-14)

Bug Fixes
  • For bug #112 where configured fakegato can cause Cmd4 to not run (53992de4)

## Whats new in 5.0.1

5.0.1 (2021-08-09)

Bug Fixes
  • Drastic failure of wormQueue traps on incorrect use of this (ccaf185d)
Tests
  • Test drastic failure of WoRm queue (82b3ab9c)

## Whats new in 5.0.0

5.0.0 (2021-08-07)

New Features
  • V5 Optimize features, found some older code still to remove (c52884b)

  • v5 Simplify, Restart Recover is now always done (827e8a1)

  • v5.0 Simplify - Only 1 start polling message (ac84270)

  • v5.0 Simplification, Remove unused QUEUEMSG (f25dac8)

  • v5.0 Optimize to best config (120f2a9)

  • v5.0 Deprecate Cmd4Mode (58d8323)

  • v5.0 Optimize (e41eca2)

## Whats new in 4.2.3

4.2.3 (2021-08-03)

Bug Fixes
  • For WoRm Queue if setValue script fails, lockup can occur (c3abf782)

## Whats new in 4.2.2

4.2.2 (2021-07-27)

Bug Fixes
  • WoRm queues must act like cached for Aircon (223c83c7)

## Whats new in 4.2.1

4.2.1 (2021-07-25)

Bug Fixes
  • For ticket #111. Oddly node.js is not passing unused arguments in the correct order (1b50675a)

## Whats new in 4.2.0

v4.2.0 (2021-07-24)

New Features
  • For Queue (AirCon) ignore low priority polling failure messages (f431e410)

  • Regular polling uses low priority queue, removing duplicate code (70e53e73)

Bug Fixes
  • For performance Cmd4 was to call the callback to IOS before the Queue (7d957daf)

  • cross-spawn while maybe faster, fails killing timed out processes (f12ad71)

  • Differentiate messages for Queued polling (fdf6e18)

  • Update unit tests for recent changes (8940795)

  • Performance improvement, dont transpose values from homebridge (c735ef2)

Testing
  • Common unit testing messages (b214fa8)

## Whats new in 4.0.1

4.0.1 (2021-06-25)

Enhancements
  • performance improvement. Cost of every debug log not printed was 300ms (3c44fab2)

## Whats new in 4.0.0

4.0.0 (2021-06-24)

New Features
  • Cmd4 gets its own logging mechanism (048af55c)
Bug Fixes
  • For slower Aircon Queue, return current stored value and call updateValue later (45355819)
  • if the queue is busy, the next Get entry should not even be tried (56632c3c)

## Whats new in 3.10.1

3.10.1 (2021-06-13)

Bug Fixes
  • Queue "Sets" should always come before "Gets" and Replace duplicate Sets (4da5e323)
  • All "Gets" should wait until the stateChangeResponseTime in Queues (9dbfc768)

## Whats new in 3.10.0

3.10.0 (2021-05-29)

Chores
New Features
  • Antifeat as queueBurst was a bust. Squash queue errors for 1min instead (854fec2f)
  • Remove feat burst as no added benefit (afe6b021)
Bug Fixes

## Whats new in 3.9.0

3.9.0 (2021-05-26)

New Features
  • Unit test constants defined but not used and used but not defined (e52fe8d0)
Bug Fixes
  • Pass down outputConstants like other Cmd4 Directives (44c44b24)
  • Possible crash when defining Default Polling before defining the Queue (e125abab)

## Whats new in 3.8.1

3.8.1 (2021-05-23)

Bug Fixes
  • set to #!/usr/bin/env node for multi platform (d3544fa1)
  • First step of multiple related characteristics using an array; no functionality change (3092e06e)
  • Create variable burstMode instead of using burstGroupSize causing issues (b403f679)
Tests
  • Add routine to check for unused constants (1da024a0)

## Whats new in 3.8.0

3.8.0 (2021-05-21)

Chores
Documentation Changes
New Features
  • Add in burst read of Queued Polling (8b3e8b6e)
  • rough in quash of error message for Queued Polling (e1ec4947)
Bug Fixes
  • Proper check for burst enabled (7fab1be6)
  • For burst feat, Dont confuse interval and burstInterval (59c6490b)
  • Added tests for Queue sanity timer which found stuff (d1296b13)
  • Change loop condition to bracketed && instead of comma (3a213e0c)
  • From previous rough in commit, fix burstGroupSize (84e9a3da)
  • from previous commit. Adding burst changes the way entry can be parsed (a1e5ae06)

## Whats new in 3.7.5

3.7.5 (2021-05-13)

Bug Fixes
  • Queued sanity timer was not what it was supposed to be (0b9314ab)

## Whats new in 3.7.4

3.7.4 (2021-05-12)

Bug Fixes
  • Why does Homebridge check validity of values with invalid return codes affecting Queued polling (387a13a7)

## Whats new in 3.7.3

3.7.3 (2021-05-09)

Chores
New Features
  • overall performance improvements (80940ee2)
Bug Fixes
  • Enhance polling queue sanity timer. Fix unneeded related queue callback (b7b35a68)
  • Related characteristics are Device specific as some are optional in one and required in others (3e0faf58)

## Whats new in 3.7.2

3.7.2 (2021-05-04)

Bug Fixes
  • PriorityPollingQueue (this) corruption (f51b1976)

## Whats new in 3.7.1

3.7.1 (2021-05-04)

Bug Fixes
  • branch merge issue. Fix Prio queue timer (146a558c)

## Whats new in 3.7.0

3.7.0 (2021-05-03)

Documentation Changes
  • Doc generator for last commit was omitted (81067fe2)
  • For PriorityQueuePolling documentation of Sequential or WoRm (4004f02c)
New Features
  • For PriorityQueuePolling add the config.json implementation structure (7924ec93)
  • Add WoRM as PriorityPollingQueue method (268b44e9)
Bug Fixes
  • Sequential Priority Queue Polling fix and add Queue Sanity timer (f8073610)
  • Queue must be working before adding characteristics (30a5c863)

## Whats new in 3.6.1

3.6.1 (2021-04-26)

Documentation Changes
  • Add example of Priority Queue Polling accros Accessories (a901a699)
Bug Fixes
  • Incorrect message for staggered polling when also queued polling (fb020063)
  • Obey stateChangeResponse time for PriorityQueuePolling. Change to constants as well (eb94eeb6)

## Whats new in 3.6.0

3.6.0 (2021-04-23)

Documentation Changes
  • Interval and Timeout are hierarchal directives (2393261c)
  • Add interval to documentation (93fec72b)
  • Add missing Cmd4_Mode to platform directives (685bef51)
  • Add line number of where to specifically look (e4829fd8)
  • Adjust docs for Custom Characteristic (b39f8b7f)
  • Documentation for custom characteristic feature previously submitted (6f9ebb49)
New Features
  • Priority Polling Queue CLI, doc & tests (c6c7fa36)
  • Performance stats for Priority Queued Polling (a9850885)
  • Create priority polling queue so there are no collisions (b135ef79)
Tests
  • Message order change (5f330170)
  • Add more code coverage around polling (50b102af)
  • Resolved still more tests that disrupted others (7669d883)
  • Figured out how to add back in conflicting tests (413f5a87)
  • Add in more polling tests (91b56817)

## Whats new in 3.5.1

3.5.1 (2021-04-15)

Bug Fixes
  • For bug #106 polling was not able to go lower than 6 seconds (51459211)

## Whats new in 3.5.0

3.5.0 (2021-04-14)

New Features

## Whats new in 3.4.4

3.4.4 (2021-04-09)

Bug Fixes

## Whats new in 3.4.3

3.4.3 (2021-04-08)

Bug Fixes
  • Polling has always used the wrong timeout (74f1f908)
Tests
  • Prep for using our own Logger in other than test (8c4042a1)

## Whats new in 3.4.2

3.4.2 (2021-04-05)

New Features
  • Only add new Cmd4 directives for feature in progress (438462e0)
Tests
  • Better technique for capturing logging during Unit Testing (ee2c7dd3)

## Whats new in 3.4.1

3.4.1 (2021-03-26)

Bug Fixes
  • for bug#102. Fumble fingers causing setCachedValue being called, instead of setValue (b7ff2f68)

## Whats new in 3.4.0

3.4.0 (2021-03-25)

Bug Fixes
  • Resolve state being changed over restart (910f44db)
  • Show only start and end of polling kick off message (7ba5dde9)
New Features
  • Try to correct meaning of "fetch" by changing it to Cmd4_Mode (3d47291e)

## Whats new in 3.3.2

3.3.2 (2021-03-22)

New Features
  • first part of description for config.schema.json, otherwise unused (c4f60ded)
  • Further enhancements to polling (ff559fc8)
Bug Fixes
  • fakegato humidity for eve room being undefined (4fb9f7ea)
  • Do not respond until after related characteristic fetch, resolve possible polling collisions (0b3ff3ca)

## Whats new in 3.3.1

3.3.1 (2021-03-15)

Bug Fixes
  • Not handling too much data well (b4fd8a19)

## Whats new in 3.3.0

3.3.0 (2021-03-13)

Chores
New Features
  • Now that polling uses updateValue, polling can be independent of fetch (b3ca7f0)
  • Change to RUNNING_CHANGLOG for Homebeidge-UI bug that cannot follow inline URLs (13e57946)
Bug Fixes
  • properly handle removed platform accessories from cache (2ce2e9a3)
  • Globally allow statusMsg option to be set (cc173514)
Tests
  • Test all constants, just in case accidentally changed (b3ca7f07)

## Whats new in 3.2.5-beta6

3.2.5-beta6 (2021-03-12)

Chores
New Features
  • Change to RUNNING_CHANGLOG for Homebeidge-UI bug that cannot follow inline URLs (13e57946)
Bug Fixes
  • properly handle removed platform accessories from cache (2ce2e9a3)
  • Globally allow statusMsg option to be set (cc173514)

## Whats new in 3.2.5-beta5

3.2.5-beta5 (2021-03-11)

New Features
  • Polling now calls updateValue (9c75b069)
  • Double check for polling or services not being created twice (2d856289)
Bug Fixes
  • lower Temperature in config.json to match homebridges expected values without prop changes (78cf3ea7)
  • transposing constants to strings and add subType to clarify accessory services (99d69cec)
Other Changes

## Whats new in 3.2.5-beta3

3.2.5-beta3 (2021-03-07)

Chores
Other Changes

## Whats new in 3.2.5-beta2

3.2.5-beta2 (2021-03-05)

Bug Fixes
  • use cross spawn instead of exec (ab51b8dd)

## Whats new in 3.2.5-beta1

3.2.5-beta1 (2021-03-03)

Chores
Documentation Changes
  • Homebridge-UI-X intercept message (06858799)
Bug Fixes
  • improve performance of getValue by pre-dfining conversion func based on char being fetched (51509d6d)
  • resolve warnings for strings that could validly have multiple words (c6642b6c)
  • #97 Handle both cases for input in config.json. Default should have been UC (d105cdfe)
  • For #96 Warning message is for related device characteristics only (f2c28f1a)
Code Style Changes
  • remove dead code (a3d42a8d)
  • It seems passing structure is expensive (0b7b4253)
Tests
  • Add full initPlugin test, cannot run with others so commented out (a6de84ac)
  • fix unit test that was incomplete (8c0e2dd0)

## Whats new in 3.2.3

3.2.3 (2021-03-01)

Documentation Changes
  • Homebridge-UI-X intercept message (06858799)
Bug Fixes
  • resolve warnings for strings that could validly have multiple words (c6642b6c)
  • #97 Handle both cases for input in config.json. Default should have been UC (d105cdfe)
  • For #96 Warning message is for related device characteristics only (f2c28f1a)
Tests
  • Add full initPlugin test, cannot run with others so commented out (a6de84ac)
  • fix unit test that was incomplete (8c0e2dd0)

## Whats new in 3.2.2

3.2.2 (2021-02-26)

Bug Fixes
  • For #95 correct link to pull requests (6547ff8b)
  • #94 Changes affect unit testing and Auto generated docs (876f9889)

## Whats new in 3.2.1

3.2.1 (2021-02-24)

Bug Fixes
  • resolve setting Target characteristics that do not set thier Current characteristic counterpart (278ffcc7)
  • #90 For Config-UI-X not displaying markdown properly. change to HTML anchors with base URL (0b8cfef0)
Code Style Changes
Tests

## Whats new in 3.2.0

3.2.0 (2021-02-23)

Bug Fixes

## Whats new in 3.1.3

3.1.3 (2021-02-17)

Chores
Documentation Changes
  • Correct link for case change (249c31f1)
Bug Fixes
  • Setting cached values should set their corresponding cached verify characteristic (b8b34098)
  • Any stderr messages should be logged (b6289133)
Tests
  • Check cached values should set their corresponding cached verify characteristic (a9b380a5)
  • Check for stderr messages being logged (442e6beb)

## Whats new in 3.1.2

3.1.2 (2021-02-15)

Bug Fixes
  • A bit better answer to #89, with testcases to prove it (569018b5)

## Whats new in 3.1.1

3.1.1 (2021-02-15)

Bug Fixes
  • For #89. No returned getValue results in "Cannot read property reduce of null" (3d080d3d)

## Whats new in 3.1.0

3.1.0 (2021-02-14)

Features
  • For #88 Log a Status change message and have it be optional statusMsg (019c6d2)
Build System / Dependencies
  • Remove images destined for github pages from npm distribution (7a11296b)
  • Remove images destined for github pages from npm distribution (7a11296b)
  • Add commit message rules and up version generator (d6dfcb19)
  • npm shoud ignore .github templates etc ... (a457e0bc)
Chores
  • Already merged. Try to fix Git tree (33694479)
Bug Fixes
  • Store value to cache after successful set to device when fetch="Polled" (18a4f569)
  • Cached characteristics were never stored if changed by other than polling (fd3b4cc8)
Other Changes
  • < true/false > (ef9f57fc)
  • Update issue templates (5eb330ad)
  • Update issue templates (f19bec63)
  • Rename Changelog.md to CHANGELOG.md for naming conventions and future use of standard-version (c9a4b746)
  • Add in Fetch Diagram (7bd8b46e)
  • Fixed broken link to Developers Guide. (a55e6235)
  • Fix broken link to LICENSE. (9b702d0a)
  • Fix links to 'raw' text versions of links. (33e558b4)
  • Fix broken link to LICENSE. (82ab2aba)
  • Fixed broken link to Developers Guide (f46b2b78)
  • Create issue templates. (5059486f)
Tests
  • fix tests that sometimes failed (cd005d9b)
  • Check if 0, "0" or "0.0" is handled correctly and it is (019c6d26)
  • Add test for same config as polling (4eb8c09a)

## Whats new in 3.0.15

  • Cached characteristics were never stored when not updated by other than polling.

## Whats new in 3.0.14

  • Remove unwanted log.
  • Code cleanup of setValue. Stuff no longer relavent.

## Whats new in 3.0.12

## Whats new in 3.0.11

  • Fix for output constants occuring if not default not set.

## Whats new in 3.0.9

  • Fix removal of fetch, causing caching of the designation to result in "Invalid value: undefined for Fetch"

## Whats new in 3.0.8

  • Fix outputConstants not outputting anything if no translation
  • Fix debug message causing trap during outputConstants
  • Beginning of auto generated documentation in GitHub. Please Do not criticize yet. Work in progress.

## Whats new in 3.0.7

  • Fix Switch on/off being off/on

## Whats new in 3.0.6

  • No changes, just packaging issue.

## Whats new in 3.0.5

  • Fix of issue #78. Most constants were not documented correctly and 3.0 no longer uppercased them for you. Put back this capability and fix the documentation.
  • Fix Bug: ReferenceError: Cannot access 'result' before initialization when Fetch is set to Cached and some other details.

## Whats new in 3.0.4

  • BugFix of issue #76 for those who did not specify any polling type at all and "fetch": "Always" ( The default ) caused any characteristic state to be retrieved at all.
  • Minor improvement to the version checker that stopped post install notes from being displayed.
  • Allow Cmd4 cached directive changes, like "polling" to be overwritten over restarts.

## Whats new in 3.0.0

Changes to support IOS 14.

  • Cmd4 now follows the Homebridge Plugin Template. This means that:

    • Accessories[] are now platformAccessories and can be published externally with an optional category. i.e.
      { "category": "TELEVISION" }
    • This allows multiple TV's to be configured per Bridge as separate platforms.
    • Accessory plugins can also be defined separately.
    • This fixes TV icons not being displayed in the Home App of IOS 14.
  • Number of Devices increased from 52 to 64.

  • Number of Characteristics increased from 160 to 221.

  • Returned "quoted strings" or 'quoted strings' are now acceptable.

  • Reduced child processes with new "fetch" option

    • { "fetch": "Always" } - As before ( Default )
    • { "fetch": "Cached" } - Never fetch characteristic value. Use cached value. The cached value would have to be updated through polling.
    • { "fetch": "Polled" } - Polled characteristics act like before, "Always". Non polled characteristic values are fetched from cache.
  • Added the ability to remember characteristic values over restarts. This also means that device name changes and the like are possible. Disabled by:

   "restartRecover": false

In the section of the config.json where "platform": "Cmd4" is defined. Default is true.

  • Retrieved characteristic values are now converted to those defined by homebridge, instead of guessed by their possible types.
  • Accessory polling definition changes from:
   [{ < characteristic >:< defaultValue >, "interval":< sec >, "timeout": < msec > }]

To:

   [ "characteristic": < characteristic >, "interval":< sec >, "timeout": < msec > }]

Note: Old style is still supported with warning.

  • Moved some functions to utilities for easier unit testing.
  • Splitting documentation into three different areas, README, Advanced Troubleshooting and a Developers guide.
  • Changed utility colors.js for package chalk.
  • Internally, any string is now a constant, limiting some possible typos.
  • Added eslint and resolved all recommended lint errors.

Important

While this version appears backward compatible, there is a difference in that the Accessories are created as Platform Accessories as compared to Standard Accessories. The Homebridge API documentation details the difference as does the new Cmd4 Developers Guide.

## Whats new in 2.4.2

  • Bug fix for negative temperature values
  • Add in ability to change properties like minValue. Effect is none as not used, except for further testing.

## Whats new in 2.4.1

  • Add check for duplicate UUID's that may be created and homebridge now complains about.
  • Fix issue were configuredName was not provided in users config.json.
  • Add an example of a DoorLock.sh with on a PI and using a GPIO to control it.
  • Add a tool to me debug users config.json files.

## Whats new in 2.4.0

  • While a bump to the minor release, the changes are development only and also for any spelling errors.
  • The plugin was split into its respective program/lib/utility/ChangeLog modules.
  • Splitting the plugin allowed for better Unit testing.
  • What is new are some examples of scripts for ping and wake on lan and can be found in the Extras/CMD4Scripts/Examples sub-directory.

## Whats new in 2.3.2

  • Minor changes for spelling and package updates. Nothing to see here. These are not the changes you are looking for.

## Whats new in 2.3.1

  • Minor changes for spelling and package updates. Nothing to see here. These are not the changes you are looking for.
  • Updates for Homebridge 1.0.4.
  • Added 'AUTO' as current heating state matching Apples Development documentation.
  • Increased default timeout to 8 seconds as HomeBridge 1.04 seems slower.
  • Pull in README update noted by Daniel.

## Whats new in 2.3.0

  • Added state_cmd_prefix and state_cmd_suffix to possible state_cmd options. This does what they intend to where:
          state_cmd_prefix - adds a string before the state_cmd. i.e. state_cmd_prefix=sudo would create the Set command to be:
             sudo node .homebridge/Cmd4Scripts/State.js 'My_Fan' '1'
          state_cmd_suffix - adds a string after the state_cmd. i.e. state_cmd_suffix="00:16:AA:BB:1F:2D" would create the Set command to be:
             node .homebridge/Cmd4Scripts/State.js Set 'My_Fan' '1' 00:16:AA:BB:1F:2D
        Combining the two i.e. state_cmd_prefix=sudo state_cmd_suffix="00:16:AA:BB:1F:2D" would create the Get command to be:
             sudo node .homebridge/Cmd4Scripts/State.js Get 'My_Fan' 00:16:AA:BB:1F:2D

## Whats new in 2.2.5

  • There is a bug in github-version-checker. I can't get around it so change to a direct comparison of what is in npm.

## Whats new in 2.2.2

  • This minor version adds an error message when accidentally defining multiple characteristics for characteristic polling.

## Whats new in 2.2.1

  • This minor version differentiates the optional characteristic 'Name' from displayName. displayName is used when creating the service. It is essentially the same thing, but this follows the spec exactly. You do not need to change your config.json file if you do not want too.
  • Internally all properties of all characteristics are defined.
  • Homebridge does not allow you to getCharacteristic information easily. This allows Cmd4 to stop you from using characteristics with a format of TLV8 that causes HomeBridge to fail to start. This is why the new option:'allowTLV8' was created and set to false by default. Again just ignore it.
  • With all the properties defined, Test cases increases to 7644.

## Whats new in 2.2

  • This version adds in linked accessories. HDMI Input sources for a TV are now shown in HomeKit as an example.
  • This release also defines constants for all the characteristics that has them. Look at the config.min.json file for descriptions of the constants per characteristic.
  • The number of test cases increases because of constants to 4500. That equates to almost 61% more coverage, and less possible errors.
  • Finally this release adds in version checking so you are always up to date with the latest version of Homebridge-Cmd4.

## Whats new in 2.1

  • This minor release fixes duplicate service calls for initializing an AccessoryInformation device, Television & TelevisionSpeaker.

Mostly importantly it wipes out 5600 duplicate lines of code to one bound function.

## Whats new in 2.0

  • 2This release changes the philosophy of homebridge-Cmd4 from Accessories that have known characteristics as per the HAP Spec to assigning any characteristic to any Accessory.

There are 160 possible characteristics, 60 more than the previous version. Also TV, TV Speaker, Input Source, Irrigation, Faucets and many other accessories are now available.