* Improved error handling for Powermax binding
Catch all exceptions, and take all Powermax things offline in the event
of a communication failure. Also adds a 5-minute watchdog for
connections in Standard (non-Powerlink) mode.
* More Powermax error handling improvements
1. Mark the bridge and all things as offline when communication is lost
2. Bubble all I/O exceptions up to the bridge status
3. Set all channels to UnDefType.NULL when bridge goes offline
4. Ignore CRC errors on messages of type 0xF1
5. Don't try and download partition settings for panels that don't support partitions
6. Fix logging levels to avoid unnecessary non-DEBUG messages
Signed-off-by: Ron Isaacson <isaacson.ron@gmail.com>
* Improve debugging in message classes
Each PowermaxBaseMessage subclass had its own toString() which added
useful debug info but duplicated a lot of the logic in the message
handler. I've moved the debug info inline and removed the duplication,
and also added decoding for more values to the debug output.
* Fix for 0xFF byte values, which convert to int -1
Signed-off-by: Ron Isaacson <isaacson.ron@gmail.com>
* Improve debugging in message classes
Each PowermaxBaseMessage subclass had its own toString() which added
useful debug info but duplicated a lot of the logic in the message
handler. I've moved the debug info inline and removed the duplication,
and also added decoding for more values to the debug output.
* Fix for 0xFF byte values, which convert to int -1
* Change to inline debug messages
Signed-off-by: Ron Isaacson <isaacson.ron@gmail.com>
These workarounds to prevent false positives can be removed now the EEAs allow for proper null analysis.
Signed-off-by: Wouter Born <github@maindrain.net>