Homebridge Cmd4 Versions Save

CMD4 Plugin for Homebridge - Supports ~All Accessory Types & now all Characteristics too

v7.1.0

2 months ago

Hi all,

Please note that in the upcoming Cmd4 version 8.0 only Platform defined Cmd4 accessories will be allowed. (No worries. This is probably everyone). This is because of Homebridge deprecated templates.This will also make homebridge-ui easier to implement. In short this is allowed:

"platforms" :
   [{
         "platform": "Cmd4",
         "accessories" :
         [{
              "type":                      "Switch",
             ...

This will not be

"accessories": [
       {
          "accessory":                "Cmd4",
          "type":                     "Switch",
         ...

Now onto the good stuff ...
Cmd4 version 7.1 now supports the following new accessory types:
  • AccessCode
  • FirmwareUpdate
  • TapManagement
  • WiFiTransport

Cmd4 also now supports the following new characteristics:
  • AccessCodeControlPoint
  • AccessCodeSupportedConfiguration
  • AirPlayEnable
  • CharacteristicValueActiveTransitionCount
  • CryptoHash
  • FirmwareUpdateReadiness
  • FirmwareUpdateStatus
  • HardwareFinish
  • MetricsBufferFullState
  • MultifunctionButton
  • SelectedDiagnosticsModes
  • SelectedSleepConfiguration
  • SiriEnable
  • SiriEngineVersion
  • SiriLightOnUse
  • SiriListening
  • SiriTouchToUse
  • SiriTouchToUse
  • StagedFirmwareVersion
  • SupportedMetrics
  • SupportedFirmwareUpdateConfiguration
  • TapType
  • Token

Enjoy,<BR> John Talbot

Full Changelog: https://github.com/ztalbot2000/homebridge-cmd4/compare/v7.0.3...v7.1.0

v7.0.3

3 months ago

This is a very minor fix as nobody has used this feature in a long time. If you redefine your characteristics properties they must be formatted like:

    props: { 
         currentTemperature: { maxValue:32, minValue:1}, 
         targetTemperature: {maxValue:32, minValue:1}
    }

There was a bug that predefined the object and this feature was not documented properly. Also a unit test was implemented to test if the actually properties were changed.

Note: while Cmd4 allows you to change the properties and Homebridge accepts this; That is not to say that the HomeKit GUI will respect them.

v7.0.2

4 months ago

v7.02 Change for AdvantageAir

This change is for the AdvantageAir plugin only which uses Cmd4. It puts double quotes around the accessory names instead of single quotes. It allows them to put single quotes in their accessory names; However they accept the responsibility that moving away from single quotes means the shell can interpret the names within.

v7.0.1

11 months ago

Hi,

The reason for the major version numbering update was to for deprecation warnings to throw an error. These warnings have been there for years. Otherwise there was just one major bug fix for an accessory not going unresponsive and not showing it recovering afterwards.

I don't have much time to play with homebridge lately so please be patient if you find issues. The beta of the above fix has been available for months and people have been using it.

take care, John Talbot

v7.0.0-beta2

1 year ago

there was an annoying update message left in that has been removed. a test case was created so this cannot re-occur. v7.0.0 documentation was updated

v7.0.0-beta1

1 year ago

The reason for the major version numbering change was for some deprecation warnings to be removed and to now throw an error. A bug to fix accessories not going unresponsive was resolved and now a "Get" retry count can be set, the default is zero (No retry)

v6.1.2

2 years ago

Hi all,

    I hope you all enjoy Cmd4. I've updated it to reflect some new Accessories and Characteristics supported by Homebridge. Most of these involve TLV8 (binary) values, but since Homebridge has them so should we 😀. I'm proud of the way I wrote Cmd4 in that adding new Accessories and Characteristics are as simple as updating the library files, so no code changes required 😁. This is why only the minor version update bump.

The New Accessories are:

AccessoryMetrics AssetUpdate Assistant AudioStreamManagement Battery CameraRecordingManagement CloudRelay DataStreamTransportManagement NFCAccess SiriEndpoint ThreadTransport

The new Characteristics are:

AssetUpdateReadiness SupportedAssetTypes ConfigurationState, NFCAccessControlPoint, NFCAccessSupportedConfiguration SiriEndpointSessionStatus ThreadControlPoint ThreadNodeCapabilities ThreadStatus ThreadOpenThreadVersion

Bug fixes😢

Bug https://github.com/ztalbot2000/homebridge-cmd4/pull/130, linked accessories not accesible after restart (aeab5a40[] Thanks to crbyxwpzfl for noticing this one! The bug probably existed for as long as LinkedTypes was added. Unit testing over restarts has always been difficult so I thank crbyxwpzfl very much for reporting it.

On a side note, if you are wondering about Cmd4 support for Homebridge-ui, I'm slowly, very slowly, working on it. My thoughts were to auto generate the schema based on the Cmd4 Library files. The dilemma is all the options Cmd4 supports and the limitations of the JSON schema format, coupled with homebridge-ui only supporting up to v6. That is not really an excuse, but hey this is all gratis anyway. I have not forgotten about it though!

Take care, John Talbot

v6.1.0

2 years ago

Hi all,

There are three minor changes, one to fix FakeGato graphing for bug #124 The second resolves a constant that had a dangling underscore. Finally there is a possability to try a different WoRm queue, being WoRm2 that might unclog large scale Aircon. They will test this out.

v6.0.4

2 years ago

v6.0.4 Fixes a bug with LinkedTypes not using global Constants v6.0.3 Simplifies the schema for the upcoming Homebridge-UI integration. You may need to adjust your config.json accordingly, but highly unlikely. Sorry for the inconvenience. v6.0.2 Solves an issue for future homebridge-ui integration and schema display for possible constants. There should be zero affect. v6.0.1 Resolves bug#116. A day one bug where Cmd4 tried to validate the users state_cmd. This was never a good thing to do.

When Cmd4 was first implemented, I tried to be considerate in allowing either lower or upper case key/value pairs. Unfortunately as Homebridge has evolved and to use homebridge-ui you require a config-schema.json which accurately describes the Cmd4 Schema. This is impossible to achieve when the key/value pairs can be either lower or upper case; Especially when Cmd4 supports so many characteristics and devices. To this end; Cmd4 Version 6 will be the version that prepares you for the change by Warning you that your config.json needs to be corrected. The duration of this preparatory stage will be pretty generous as I am still working on the config-schema.json integration with Homebridge-ui. I had to stop when it became evident what changes were required for Homebridge-ui integration.

Here are the rules / changes:

  1. No script changes are required. Cmd4 still sends: Get/Set <DeviceName> <Upper Case Characteristic Type > < value >
  2. Constants are still fully capitalized. i.e. "statusFault": "NO_FAULT" or "category": "TELEVISION"
  3. As before Device Types start with an upper case. i.e. "type": "Television"
  4. Cmd4 directives and characteristics start with lower case: i.e. "polling": [ { "characteristic": "volume", "interval": 10 }]
  5. For advanced devices like the AirCon, Queue types remain the same: i.e. queueTypes: [ { "queueName": "MyQueue", "queueType": "WoRm" }]

Finally I tried to make the warnings very explict for what the correction should be and believe me; I am more sorry to have to do this than you may think.

Thank you, John Talbot

v5.1.1

2 years ago

v5.1.1 - bug #113 Fix Example script for AnyDevice SecuritySystemTargetState and create new example SecuritySystem script v5.1.0 - As Part of V5 Performance/Optimization release, Cmd4 no longer calls process.exit that could take down the bridge if you had configured Cmd4 incorrectly. Instead Cmd4 uses "throw" which is more widely acceptable. v5.0.2 - Bug fix for issue #112. Fakegato causes Cmd4 to not start in v5 v5.01 - Bug fix for thrown exception for incorrect use of this; Only encountered when a massive WoRm queue failure is created.

Cmd4 v5 is meant to be a simplification release as per the recommendations by homebridge. See https://git.io/JtMGR. With this major release a lot of options that were developed along the way are now automatic. Gone are the very confusing Cmd4_Mode and RestartRecovery.

  • RestartRecovery is now automatic; Which not enabling could cause your device to turn on/off over a restart
  • Cmd4_Mode is as per https://git.io/JtMGR where the callback is immediate to homebridge with the data from your device to follow.
  • Demo mode is still available by not defining any polling.

Internally there is a lot of code that was removed, which only contributed to the complexity of Cmd4. The only impact to you are the warnings that Cmd4_Mode and RestartRecovery are no longer required.

I hope you enjoy the changes John Talbot