Skip to content

Commit

Permalink
Merge branch 'release/1.4.0'
Browse files Browse the repository at this point in the history
ZigBeeNet
- Renamed Stop2Command to StopWithOnOffCommand
- Added MeterIdentification cluster
- ZclLevelControlCluster updated
- ZclThermostatCluster updated
- ZclGroupCluster updated
- ZclScenesCluster updated

ZigBeeNet.Hardware.TI.CC2531
- Replace DoubleByte by ushort
  • Loading branch information
Mr-Markus committed Feb 21, 2021
2 parents 45b2020 + 60d2fd0 commit 55d05a2
Show file tree
Hide file tree
Showing 188 changed files with 1,594 additions and 683 deletions.
2 changes: 1 addition & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/samples/ZigBeeNet.PlayGround/bin/Debug/netcoreapp3.0/ZigBeeNet.PlayGround.dll",
"program": "${workspaceFolder}/samples/ZigBeeNet.PlayGround/bin/Debug/netcoreapp3.1/ZigBeeNet.PlayGround.dll",
"args": [],
"cwd": "${workspaceFolder}/samples/ZigBeeNet.PlayGround",
"console": "integratedTerminal",
Expand Down
14 changes: 14 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,20 @@
],
"problemMatcher": "$tsc"
},
{
"label": "publish_autocode_ubuntu",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/autocode/ZigBeeNet.CodeGenerator/ZigBeeNet.CodeGenerator.csproj",
"--self-contained",
"true",
"-r",
"ubuntu.20.04-x64"
],
"problemMatcher": "$tsc"
},
{
"label": "watch",
"command": "dotnet",
Expand Down
19 changes: 0 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,22 +177,3 @@ All Company, brand and product names may be trademarks that are the sole propert

Some documentation used to implement dongle drivers is copywrite to the respective holders, including Silicon Labs, Texas Instruments, Dresden Electronics, Digi International.

## Contributor

[@Mr-Markus](https://github.com/Mr-Markus) (repository owner)

[@nicolaiw](https://github.com/nicolaiw)

[@andreasfedermann](https://github.com/andreasfedermann)

[@spudwebb](https://github.com/spudwebb)

[@Gallimathias](https://github.com/Gallimathias)

[@thombrink](https://github.com/thombrink)

[@TheBlubb14](https://github.com/TheBlubb14)

[@maksim789456](https://github.com/maksim789456)

[@DavidKarlas](https://github.com/DavidKarlas)
39 changes: 35 additions & 4 deletions autocode/ZigBeeNet.CodeGenerator/Resources/0000_Basic.xml
Original file line number Diff line number Diff line change
Expand Up @@ -46,19 +46,23 @@
<name>Power Source</name>
<description>The PowerSource attribute is 8 bits in length and specifies the source(s) of power available to the device. Bits b0&#8211;b6 of this attribute represent the primary power source of the device and bit b7 indicates whether the device has a secondary power source in the form of a battery backup.</description>
</attribute>
<attribute code="0x0008" type="ENUMERATION_8_BIT" side="server" optional="true" writable="false" reportable="false">
<attribute code="0x0008" type="ENUMERATION_8_BIT" side="server" optional="true" writable="false"
reportable="false">
<name>Generic Device Class</name>
<description></description>
</attribute>
<attribute code="0x0009" type="ENUMERATION_8_BIT" side="server" optional="true" writable="false" reportable="false">
<attribute code="0x0009" type="ENUMERATION_8_BIT" side="server" class="GenericDeviceTypeEnum" optional="true"
writable="false" reportable="false">
<name>Generic Device Type</name>
<description></description>
</attribute>
<attribute code="0x000A" type="CHARACTER_STRING" side="server" optional="true" writable="false" reportable="false">
<attribute code="0x000A" type="CHARACTER_STRING" side="server" optional="true" writable="false"
reportable="false">
<name>Product Code</name>
<description></description>
</attribute>
<attribute code="0x000B" type="CHARACTER_STRING" side="server" optional="true" writable="false" reportable="false">
<attribute code="0x000B" type="CHARACTER_STRING" side="server" optional="true" writable="false"
reportable="false">
<name>Product URL</name>
<description></description>
</attribute>
Expand Down Expand Up @@ -93,6 +97,33 @@
<description>The SWBuildIDattribute represents a detailed, manufacturer-specific reference to the version of the software.</description>
</attribute>

<constant class="GenericDeviceTypeEnum">
<name>Generic Device Type</name>
<value code="0x00" name="Incandescent"></value>
<value code="0x01" name="Spotlight Halogen"></value>
<value code="0x02" name="Halogen bulb"></value>
<value code="0x03" name="CFL"></value>
<value code="0x04" name="Linear Fluorescent"></value>
<value code="0x05" name="LED bulb"></value>
<value code="0x06" name="Spotlight LED"></value>
<value code="0x07" name="LED strip"></value>
<value code="0x08" name="LED tube"></value>
<value code="0x09" name="Generic indoor luminaire"></value>
<value code="0x0A" name="Generic outdoor luminaire"></value>
<value code="0x0B" name="Pendant luminaire"></value>
<value code="0x0C" name="Floor standing luminaire"></value>
<value code="0xE0" name="Generic Controller "></value>
<value code="0xE1" name="Wall Switch"></value>
<value code="0xE2" name="Portable remote controller"></value>
<value code="0xE3" name="Motion sensor / light sensor"></value>
<value code="0xF0" name="Generic actuator"></value>
<value code="0xF1" name="Wall socket"></value>
<value code="0xF2" name="Gateway/Bridge"></value>
<value code="0xF3" name="Plug-in unit"></value>
<value code="0xF4" name="Retrofit actuator"></value>
<value code="0xFF" name="Unspecified"></value>
</constant>

<constant class="PowerSourceEnum">
<name>Power Source</name>
<value code="0x00" name="Unknown">
Expand Down
12 changes: 7 additions & 5 deletions autocode/ZigBeeNet.CodeGenerator/Resources/0004_Groups.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@
<field type="UNSIGNED_8_BIT_INTEGER">
<name>Group Count</name>
</field>
<field type="N_X_UNSIGNED_16_BIT_INTEGER">
<field type="UNSIGNED_16_BIT_INTEGER">
<name>Group List</name>
<sizer>groupCount</sizer>
</field>
</command>
<command code="0x03" source="client">
Expand All @@ -55,7 +56,7 @@
<command code="0x00" source="server">
<name>Add Group Response</name>
<description>The add group response is sent by the groups cluster server in response to an add group command.</description>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand All @@ -65,7 +66,7 @@
<command code="0x01" source="server">
<name>View Group Response</name>
<description>The view group response command is sent by the groups cluster server in response to a view group command.</description>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand All @@ -84,14 +85,15 @@
<field type="UNSIGNED_8_BIT_INTEGER">
<name>Group Count</name>
</field>
<field type="N_X_UNSIGNED_16_BIT_INTEGER">
<field type="UNSIGNED_16_BIT_INTEGER">
<name>Group List</name>
<sizer>groupCount</sizer>
</field>
</command>
<command code="0x03" source="server">
<name>Remove Group Response</name>
<description>The remove group response command is generated by an application entity in response to the receipt of a remove group command.</description>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand Down
22 changes: 13 additions & 9 deletions autocode/ZigBeeNet.CodeGenerator/Resources/0005_Scenes.xml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,10 @@
<field type="UNSIGNED_8_BIT_INTEGER">
<name>Scene ID</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
<name>Transition Time</name>
<description>If the Transition Time field is present in the command payload and its value is not equal to 0xFFFF, this field SHALL indicate the transition time in 1/10ths of a second. In all other cases (command payload field not present or value equal to 0xFFFF), The scene transition time field of the Scene Table entry SHALL indicate the transition time. The transition time determines how long the transition takes from the old cluster state to the new cluster state.</description>
</field>
</command>
<command code="0x06" source="client">
<name>Get Scene Membership Command</name>
Expand Down Expand Up @@ -127,7 +131,7 @@

<command code="0x00" source="server">
<name>Add Scene Response</name>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand All @@ -139,7 +143,7 @@
</command>
<command code="0x01" source="server">
<name>View Scene Response</name>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand All @@ -160,7 +164,7 @@
</command>
<command code="0x02" source="server">
<name>Remove Scene Response</name>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand All @@ -172,7 +176,7 @@
</command>
<command code="0x03" source="server">
<name>Remove All Scenes Response</name>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand All @@ -181,7 +185,7 @@
</command>
<command code="0x04" source="server">
<name>Store Scene Response</name>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand All @@ -193,7 +197,7 @@
</command>
<command code="0x06" source="server">
<name>Get Scene Membership Response</name>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_8_BIT_INTEGER">
Expand All @@ -211,7 +215,7 @@
</command>
<command code="0x40" source="server">
<name>Enhanced Add Scene Response</name>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand All @@ -223,7 +227,7 @@
</command>
<command code="0x41" source="server">
<name>Enhanced View Scene Response</name>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand All @@ -244,7 +248,7 @@
</command>
<command code="0x42" source="server">
<name>Copy Scene Response</name>
<field type="ENUMERATION_8_BIT">
<field type="ZCL_STATUS">
<name>Status</name>
</field>
<field type="UNSIGNED_16_BIT_INTEGER">
Expand Down
19 changes: 18 additions & 1 deletion autocode/ZigBeeNet.CodeGenerator/Resources/0006_OnOff.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,26 @@
<name>Off Wait Time</name>
<description>The OffWaitTime attribute specifies the length of time (in 1/10ths second) that the &#8220;off&#8221; state SHALL be guarded to prevent an on command turning the device back to its &#8220;on&#8221; state (e.g., when leaving a room, the lights are turned off but an occupancy sensor detects the leaving person and attempts to turn the lights back on). If this attribute is set to 0x0000, the device SHALL remain in its current state.</description>
</attribute>
<attribute code="0x4003" type="ENUMERATION_8_BIT" side="server" optional="true" writable="true" reportable="false">
<attribute code="0x4003" type="ENUMERATION_8_BIT" side="server" optional="true" writable="true" reportable="false" class="StartUpOnOffEnum">
<name>Start Up On Off</name>
<description></description>
</attribute>

<constant type="ENUMERATION_8_BIT" class="StartUpOnOffEnum">
<name>Status</name>
<value code="0x00" name="Off">
</value>
<value code="0x01" name="On">
</value>
<value code="0x02" name="Toggle">
</value>
<value code="0xFF" name="Previous">
</value>
</constant>

<scenes>
<extensionfield>
<attribute>On Off</attribute>
</extensionfield>
</scenes>
</cluster>
28 changes: 27 additions & 1 deletion autocode/ZigBeeNet.CodeGenerator/Resources/0008_LevelControl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
</field>
</command>
<command code="0x07" source="client">
<name>Stop 2 Command</name>
<name>Stop (with On/Off) Command</name>
</command>

<attribute code="0x0000" type="UNSIGNED_8_BIT_INTEGER" side="server" optional="false" writable="false" reportable="true">
Expand All @@ -83,6 +83,26 @@
<name>Remaining Time</name>
<description>The RemainingTime attribute represents the time remaining until the current command is complete - it is specified in 1/10ths of a second.</description>
</attribute>
<attribute code="0x0002" type="UNSIGNED_8_BIT_INTEGER" side="server" optional="true" writable="false" reportable="false">
<name>Minimum Level</name>
<description>The MinLevel attribute indicates the minimum value of CurrentLevel that is capable of being assigned.</description>
</attribute>
<attribute code="0x0003" type="UNSIGNED_8_BIT_INTEGER" side="server" optional="true" writable="false" reportable="false">
<name>Maximum Level</name>
<description>The MaxLevel attribute indicates the maximum value of CurrentLevel that is capable of being assigned.</description>
</attribute>
<attribute code="0x0004" type="UNSIGNED_16_BIT_INTEGER" side="server" optional="true" writable="false" reportable="true">
<name>Current Frequency</name>
<description>The CurrentFrequency attribute represents the frequency that the devices is at CurrentLevel. A CurrentFrequency of 0 is unknown.</description>
</attribute>
<attribute code="0x0005" type="UNSIGNED_16_BIT_INTEGER" side="server" optional="true" writable="false" reportable="false">
<name>Minimum Frequency</name>
<description>The MinFrequency attribute indicates the minimum value of CurrentFrequency that is capable of being assigned. MinFrequency shall be less than or equal to MaxFrequency. A value of 0 indicates undefined.</description>
</attribute>
<attribute code="0x0006" type="UNSIGNED_16_BIT_INTEGER" side="server" optional="true" writable="false" reportable="false">
<name>Maximum Frequency</name>
<description>The MaxFrequency attribute indicates the maximum value of CurrentFrequency that is capable of being assigned. MaxFrequency shall be greater than or equal to MinFrequency. A value of 0 indicates undefined.</description>
</attribute>
<attribute code="0x000F" type="BITMAP_8_BIT" side="server" optional="true" writable="false" reportable="false">
<name>Options</name>
<description></description>
Expand Down Expand Up @@ -113,4 +133,10 @@
<description></description>
</attribute>

<scenes>
<extensionfield>
<attribute>Current Level</attribute>
<attribute>Current Frequency</attribute>
</extensionfield>
</scenes>
</cluster>
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<command code="0x02" source="client">
<name>Set Long Poll Interval Command</name>
<description>The Set Long Poll Interval command is used to set the Read Only LongPollInterval attribute. &lt;br&gt; When the Poll Control Server receives the Set Long Poll Interval Command, it SHOULD check its internal minimal limit and the attributes relationship if the new Long Poll Interval is acceptable. If the new value is acceptable, the new value SHALL be saved to the LongPollInterval attribute. If the new value is not acceptable, the Poll Control Server SHALL send a default response of INVALID_VALUE and the LongPollInterval attribute value is not updated.</description>
<field type="UNSIGNED_16_BIT_INTEGER">
<field type="UNSIGNED_32_BIT_INTEGER">
<name>New Long Poll Interval</name>
</field>
</command>
Expand Down Expand Up @@ -63,8 +63,8 @@
<name>Long Poll Interval Min</name>
<description>The Poll Control Server MAYoptionally provide its own minimum value for the LongPollIntervalto protect against another device setting the value to too short a time resulting in an inadvertent power drain on the device.</description>
</attribute>
<attribute code="0x0006" type="UNSIGNED_32_BIT_INTEGER" side="server" optional="false" writable="false" reportable="false" default="0x00000000">
<name>Fast Poll Timeout Min</name>
<attribute code="0x0006" type="UNSIGNED_16_BIT_INTEGER" side="server" optional="false" writable="false" reportable="false" default="0x00000000">
<name>Fast Poll Timeout Max</name>
<description>The Poll Control Server MAY optionally provide its own maximum value for the FastPollTimeout to avoid it being set to too high a value resulting in an inadvertent power drain on the device.</description>
</attribute>

Expand Down
Loading

0 comments on commit 55d05a2

Please sign in to comment.