Source Address
Function (0C-write/06-read)
Register (Table and Row Address)
Start Byte (1 is the first character)
Data Type (see table)
Name (short)
Description (used to describe the value or units)
Notes (anything else that needs to get stored)
Name Bits Bytes Description
int8 8 1 Integer, 8 bits
int16 16 2 Integer, 16 bits
int16_d16 16 1 Integer, 16, bits, Divided by 16
str_8b 64 8 String, 8 bytes, returns 4 ASCII characters
bit8:1 8 1 Bit Field, 8 bits, 1st Bit
ukn_8b 64 8 Unknown, 8 bytes - used as a placeholder or questionable items
2001, 0C, 0202, 1, int8, hour , hour of the day ,24 hour base d
2001, 0C, 0202, 3, int8, minute , current minute ,
2001, 0C, 0202, 5, int8, weekday, current day of the week, 0=Sunday
2001, 0C, 0203, 1, int8, day , calendar day ,
2001, 0C, 0203, 3, int8, month , calendar month ,
2001, 0C, 0203, 5, int8, year , calendar year ,
az1324 said:I don't think machine readable tables is that important. There aren't thousands of data tables. More important is to get valid field descriptions out there in whatever format.
3001 4001 1C 06 0001010020444556434F4E464700BC0619010301040178011E010601 5CC9
Can you send the output of scandevtable.py so I can see where it gets hung up?synaptic said:I meant scandevtable.py gets stuck in a loop reading to 5001. Readraw.py is what shows the frequent messages from 4001 to 3001.
Opening /dev/ttyUSB0
starting phase 0
ending phase 0
Devices: ['2001', '4001', '5001', '6001', '2201']
starting phase 1
phase 1 queue built
...
126 500130010300000B000101347D 000130010100000B000000 False
...
write 125/315 400130010300000B003F0170DD
3001 4001 01 15 04 E74B
write 126/315 500130010300000B000101347D
F1F1 2001 17 0C 000420C022C0000F0100FB0200313755003A5000000000 0A57
write 126/315 500130010300000B000101347D
4001 2001 03 0B 000104 6D7E
write 126/315 500130010300000B000101347D
4001 2001 03 0B 000302 EC1C
write 126/315 500130010300000B000101347D
4001 2001 03 0B 000316 EC13
write 126/315 500130010300000B000101347D
4001 2001 03 0B 000404 6E2E
write 126/315 500130010300000B000101347D
4001 2001 03 0B 000402 EE2C
write 126/315 500130010300000B000101347D
4001 2001 07 0C 00040301010100 CC5B
write 126/315 500130010300000B000101347D
... ad infinitum
The way the code works is that it will continue to probe the register on the write queue until it gets a response (based on looking at the next frames information). The most obvious explanation to me is that device 5001 is not responding, or not there at all. However, I know you've indicated you have a heat pump. But, there may be something we don't know yet about how this all works.synaptic said:Code:write 126/315 500130010300000B000101347D