Open jwacalex opened 4 days ago
Interesting!
So the integration shouts around to find anyone, and your controller replies. One of the fields of this reply is this field:
The spec didn't specify which encoding it uses, so I assumed ASCII, since that was used elsewhere as well. But your device name has a byte (0x8E) that is outside the range of ASCII (max 0x7F).
This can mean two things.
It might be that there's an unwritten standard in the ArtNet community. Can you please use The Artnetnominator to figure out the full name of your device? From the 37th character, I can deduce the encoding.
https://www.lightjams.com/artnetominator/
Might also be interesting if you can post the device model and manufacturer, so that I can ask them what encoding they're using.
I'll dump the ArtNet names later, maybe there should be some try/catch statements to prevent an exception.
the affected device: Stairville Pixel Rail Drive 640R
Yeah it's definitely an oversight on my end. Try/except (= python equivalent) would have prevented this. If it's going to be Unicode, then I'll add exception handling.
I've sent an email to Artistic license and Stairville to shed some light on this.
I'll prepare a pull request for the exception handling. if you need any further information/data let me know
The interesting part is, that the string should be the following ascii output NetWork Node 2(42:4C:84:66:EE:F8)
. this is shown while scanning the universes via dmxworkshop
I've extracted the offending string in hexadecimal representation from the warning message introduced in #71: 4e6574576f726b204e6f646520322834323a34433a38343a36363a45453a463829002e00708eb00201002300426f6f74204d6f64653a20426f6f746564206600
this string contains the same output but also some control characters leaking from a boot sequence?: NetWork Node 2(42:4C:84:66:EE:F8)
NUL
*.
NUL
p??
SYN
LF
NUL
#
NUL
Boot Mode: Booted f
Error
When I'm trying to use the integration to run in controller mode and broadcast values to more than one ArtNet Interface, an UnicodeDecodeError appears:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8e in position 37: ordinal not in range(128)
Configuration
The relevant configuration
OS Version: Home Assistant OS 13.2 Home Assistant Core: 2024.11.2
Logs