I put this in the blog thread for 0.62, but posting it here for a bit more visibility in the hopes that it helps anyone with the same problem.
My rfxtrx switches broke when I upgraded from 0.60. The entities weren’t created and I got errors in the logs:
2018-01-27 16:35:28 ERROR (Thread-17) [homeassistant.components.rfxtrx] Invalid device: 7100a0041010000
2018-01-27 16:35:28 ERROR (Thread-17) [homeassistant.components.rfxtrx] Invalid device: 7100a0041020000
2018-01-27 16:35:28 ERROR (Thread-17) [homeassistant.components.rfxtrx] Invalid device: 7100a0041030000
It turned out the issue was that they were 15 digit device IDs, and therefore not valid hex numbers.
All I had to do was change my configuration to add a leading zero. I.e. instead of:
devices:
7100a0041010000:
name: "rfxswitch1"
I needed:
devices:
07100a0041010000:
name: "rfxswitch1"
The switches functioned perfectly after this change.
Looking at the code, I think this is down to the removal of the “_valid_device” function that fixed it for you - it contained the lines:
key = str(key)
if not len(key) % 2 == 0:
key = '0' + key
So 0.61 was a breaking change for me, but the solution is a simple config fix - pad the device ID with a leading zero if it’s not an even length.