Kame <tobiasgraf@users.noreply.github.com>: Author Summary

Builds triggered by Kame <tobiasgraf@users.noreply.github.com>

Builds triggered by an author are those builds which contains changes committed by the author.
13
4 (31%)
9 (69%)

Breakages and fixes

Broken means the build has failed but the previous build was successful.
Fixed means that the build was successful but the previous build has failed.
1 (8% of all builds triggered)
0 (0% of all builds triggered)
-1
Build Completed Code commits Tests
OZW › OZWMAC › #463 1 year ago
Workaround for silently dropped frames (#1290)

In networks with heavy load, especially with lots of security frames (NONCE_GET) Controller Command could hang and never return.
The reason for this:
Receiving a NONCE_GET OZW handles this quite low level, below all queues. When a NONCE_GET is received, a NONCE_Report is immediately sent. If this NONCE_Report fails because of e.g. a CAN, then it is re-transmitted on queue level. But instead of a extra queue for this, the re-transmission gets done in Driver::WriteMsg(). The way this is done (as far as i understand it): If there is a nonce that needs to be re-transmitted, send it instead of the actual frame. The actual frame is then lost. While this is not that big of a deal for a SWITCH_BINARY_SET or something like this, if the "eaten" frame is e.g. a ControllerCommand_HasNodeFailed, then the Queued Controller Command (in the Controller Queue) will have the state 'starting and never recover from this.
Fix high CPU load when adding nodes (#1291)

The `m_currentControllerCommand->m_controllerStateChanged` was only reset when there is a callback, but all the ControllerCommands called by the manager don't supply a callback method (except the one for custom Controller Commands, where a Callback could be given).
This caused the DriverThreadProc loop to always read that command (e.g. AddNode) from the loop, go into the `WriteNextMsg` and run into the if( `m_currentControllerCommand->m_controllerStateChanged` ), doing nothing and return again and again and again... -> high cpu load because of endless loop until canceled or finished.
Fix MultiInstance handling for CapabilityReport (#1297)

It happened sometimes that the MultiChannelCapabilityReport for the same endpoint came in more than once. In this case a additional Instance for the same endpoint gets created. By checking if there is a instance for the given endpoint and CommandClass, this can be prevented.

```
                        <CommandClass id="38" name="COMMAND_CLASS_SWITCH_MULTILEVEL" version="3" issecured="true">
                                <Instance index="1" endpoint="1" />
                                <Instance index="2" endpoint="1" />
                                <Instance index="3" endpoint="2" />
```
Testless build
OZW › ODB › #25 1 year ago
Update eur_spiritz.xml

Correct min. max for Temperature Offset
remove duplicate closing tag.
Merge pull request #2 from diman1234/Eurotronic_Spirit_Z

Updated the config file to new dev branch format.
Add new product type ids for Eurotronic Spirit Z

new Product Type ID for Eurotronic Spirit Z Radiator thermostat
1 of 480 failed
OZW › OZC › #49 1 year ago
Workaround for silently dropped frames (#1290)

In networks with heavy load, especially with lots of security frames (NONCE_GET) Controller Command could hang and never return.
The reason for this:
Receiving a NONCE_GET OZW handles this quite low level, below all queues. When a NONCE_GET is received, a NONCE_Report is immediately sent. If this NONCE_Report fails because of e.g. a CAN, then it is re-transmitted on queue level. But instead of a extra queue for this, the re-transmission gets done in Driver::WriteMsg(). The way this is done (as far as i understand it): If there is a nonce that needs to be re-transmitted, send it instead of the actual frame. The actual frame is then lost. While this is not that big of a deal for a SWITCH_BINARY_SET or something like this, if the "eaten" frame is e.g. a ControllerCommand_HasNodeFailed, then the Queued Controller Command (in the Controller Queue) will have the state 'starting and never recover from this.
Fix high CPU load when adding nodes (#1291)

The `m_currentControllerCommand->m_controllerStateChanged` was only reset when there is a callback, but all the ControllerCommands called by the manager don't supply a callback method (except the one for custom Controller Commands, where a Callback could be given).
This caused the DriverThreadProc loop to always read that command (e.g. AddNode) from the loop, go into the `WriteNextMsg` and run into the if( `m_currentControllerCommand->m_controllerStateChanged` ), doing nothing and return again and again and again... -> high cpu load because of endless loop until canceled or finished.
Fix MultiInstance handling for CapabilityReport (#1297)

It happened sometimes that the MultiChannelCapabilityReport for the same endpoint came in more than once. In this case a additional Instance for the same endpoint gets created. By checking if there is a instance for the given endpoint and CommandClass, this can be prevented.

```
                        <CommandClass id="38" name="COMMAND_CLASS_SWITCH_MULTILEVEL" version="3" issecured="true">
                                <Instance index="1" endpoint="1" />
                                <Instance index="2" endpoint="1" />
                                <Instance index="3" endpoint="2" />
```
Testless build
OZW › OZWLNX › #825 1 year ago
Workaround for silently dropped frames (#1290)

In networks with heavy load, especially with lots of security frames (NONCE_GET) Controller Command could hang and never return.
The reason for this:
Receiving a NONCE_GET OZW handles this quite low level, below all queues. When a NONCE_GET is received, a NONCE_Report is immediately sent. If this NONCE_Report fails because of e.g. a CAN, then it is re-transmitted on queue level. But instead of a extra queue for this, the re-transmission gets done in Driver::WriteMsg(). The way this is done (as far as i understand it): If there is a nonce that needs to be re-transmitted, send it instead of the actual frame. The actual frame is then lost. While this is not that big of a deal for a SWITCH_BINARY_SET or something like this, if the "eaten" frame is e.g. a ControllerCommand_HasNodeFailed, then the Queued Controller Command (in the Controller Queue) will have the state 'starting and never recover from this.
Fix high CPU load when adding nodes (#1291)

The `m_currentControllerCommand->m_controllerStateChanged` was only reset when there is a callback, but all the ControllerCommands called by the manager don't supply a callback method (except the one for custom Controller Commands, where a Callback could be given).
This caused the DriverThreadProc loop to always read that command (e.g. AddNode) from the loop, go into the `WriteNextMsg` and run into the if( `m_currentControllerCommand->m_controllerStateChanged` ), doing nothing and return again and again and again... -> high cpu load because of endless loop until canceled or finished.
443 passed
OZW › OZWLNX › #824 1 year ago
Fix MultiInstance handling for CapabilityReport (#1297)

It happened sometimes that the MultiChannelCapabilityReport for the same endpoint came in more than once. In this case a additional Instance for the same endpoint gets created. By checking if there is a instance for the given endpoint and CommandClass, this can be prevented.

```
                        <CommandClass id="38" name="COMMAND_CLASS_SWITCH_MULTILEVEL" version="3" issecured="true">
                                <Instance index="1" endpoint="1" />
                                <Instance index="2" endpoint="1" />
                                <Instance index="3" endpoint="2" />
```
443 passed
OZW › OZC › #23 2 years ago
possible fix (or workaround) for a deadlock (#1105)
Update some of the DriverThread to use Scoped Locks instead of Explicit Unlock Calls.
Testless build
OZW › OZWMAC › #385 2 years ago
possible fix (or workaround) for a deadlock (#1105)
Update some of the DriverThread to use Scoped Locks instead of Explicit Unlock Calls.
Testless build
OZW › OZWLNX › #676 2 years ago
possible fix (or workaround) for a deadlock (#1105)
Update some of the DriverThread to use Scoped Locks instead of Explicit Unlock Calls.
359 passed
OZW › OZWMAC › #374 2 years ago
Fix for Security Command Class (#1014)
The ZME Wall Controller Wall C-S sends the SecurityCmd_MessageEncapNonceGet (0xC1). When this can not be decrypted, the expected nonce-report doe snot get sent to the device.
This now also sends the nonce-report on decryption fail.
Also fixes a bug that prevent the SecurityCmd_MessageEncapNonceGet to get recognized after the decryption.
It checked for _data[6], but _data[6] was already overwitten by the decrypted package.
Testless build
You have insufficient permissions to see all of the builds.
Build Completed Code commits Tests
OZW › ODB › #25 1 year ago
Update eur_spiritz.xml

Correct min. max for Temperature Offset
remove duplicate closing tag.
Merge pull request #2 from diman1234/Eurotronic_Spirit_Z

Updated the config file to new dev branch format.
Add new product type ids for Eurotronic Spirit Z

new Product Type ID for Eurotronic Spirit Z Radiator thermostat
1 of 480 failed
Build Completed Code commits Tests