There seems (according to me) a bug in Open-zwave (the underlying c++ lib):
In Powerlevel.cpp in the method Powerlevel::SetValue( Value const& _value ) there seems to be a wrong type in the "case PowerlevelIndex_TestFrames:" section it reads
value->OnValueRefreshed( (static_cast<ValueByte const*>( &_value))->GetValue() );
however the TestFrames value is short. After correcting to
value->OnValueRefreshed( (static_cast<ValueShort const*>( &_value))->GetValue() );
and recompiling the library and the concerned application (e.g. ozwcp which seems to links statically to open-zwave) the TestFrames can be set as expected.
There is still a problem that the Powerleveltest times out when the number of testframes is "high" (256 is enough in my case) or when there is a significant number of not acknowledged packages (which of course take a longer time to "test"). You get the error
ERROR: Dropping command, expected response not received after 1 attempt(s)
and the test report message from the node under tests comes some time later. In my case sometimes the AckPackages is then not updated anymore (but I see the incoming message from the node under test in the debug output of openzwave). Pressing then once more the button to send the test report works.
Hope this helps (I will also notify the open-zwave colleagues)
Btw, thanks for the great software (python wrapper and open-zwave !)
CPS