The description in the release notes is minimal and I have no idea what I need to do, to get it working again.
What does this mean:
it is necessary to reverse the order of the address and command bits when moving to 2021.12 or above. For example, address: 0x84ED , command: 0x13EC becomes 0xB721 and 0x37C8 respectively.
I can not see any similarity or rule in this example.
This is my current configuration, that doesn’t work anymore:
Well I use calculator to turn hex into binary, then use the online tool, to reverse the binary, then calculator again, to turn reversed binary in hex. It seems to work, but I’m still looking for a more convenient way
When I enter 0x4040 in this tool (or my script) it returns 0x101.
Shouldn’t this always have four digits?
Would I have to add a zero? In the front or the back?
You see I’m really getting confused with these conversions.
Did you also try to work with a remote receiver (and fire a ir remote on it) to “see” how the new version interprets the button press?
You could also use your old/working version of esphome withthe transmitter and build a second new one with a receiver. You will be essentially doing a “manual” conversation then.
I did once, when I recorded the original commands on the same device.
remote_receiver:
pin:
number: "${component_remote_receiver_pin}"
# Remote Receiver Signal starts with a HIGH value. Usually this means you have to invert the signal using 'inverted: True'
inverted: yes
dump: all
But since the commands from the remote didn’t change I didn’t bother to record them again.
I see what you are getting at though: debugging by receiving what the “new” transmitter" sends and comparing it to the original command.
Not sure if I’m up to this right now. Spent already way to much time with this migration.
For anyone who needs this and aren’t experienced with python, it’s not hard.
All you do is install python and save the above code from seanomat into a python file.
I called mine reverse.py and then just run it by typing “python reverse.py” in a command line terminal or powershell if using Windows.
My file looks like this,
print(f"0x{reverse_mask(0x01FE):04X} vol up address")
print(f"0x{reverse_mask(0x609F):04X} vol up command")
print(f"0x{reverse_mask(0x01FE):04X} vol down address")
print(f"0x{reverse_mask(0xA05F):04X} vol down command")
print(f"0x{reverse_mask(0x01FE):04X} Source address")
print(f"0x{reverse_mask(0x58A7):04X} Source command")
print(f"0x{reverse_mask(0x40BF):04X} Power command")
the output will look like this,
0x7F80 vol up address
0xF906 vol up command
0x7F80 vol down address
0xFA05 vol down command
0x7F80 Source address
0xE51A Source command
0xFD02 Power command
If anyone is wondering this is the codes for the Kef LS50 Wireless