Инвертировать 4 шестнадцатеричных значения в DateTime - PullRequest
0 голосов
/ 01 апреля 2019

Попытка преобразовать 4 шестнадцатеричных значения в метку DateTime из моей системы отопления

Я знаю, что: 5F:A2:30:77 --> 2019.03-10 - 10:08 6D:A2:30:77 --> 2019.03-10 - 10:21

Моим первым предположением было, что это была метка времени Unix, поэтому преобразовал HEXв DEC и в 32-битный int =>

5F:A2:30:77 -> 1999675999 equivalent to 2033-05-14T09:33:19+00:00 in ISO 8601 6D:A2:30:77 -> 1999676013 equivalent to 2033-05-14T09:33:33+00:00 in ISO 8601

но, к сожалению, это не работает

надеюсь, что что-то есть хорошая идея, как преобразовать это.

Спасибо

// Ким

Ответы [ 3 ]

0 голосов
/ 05 апреля 2019

77: 30: A2: 5F -> 1999675999 5) 77: 30: A4: 9A -> 1999676570 это дает разницу «571» и период времени составляет 9 часов 30 минут, что дает 570 минут.поделиться улучшите этот ответ

0 голосов
/ 21 апреля 2019

мы решили загадку этого преобразования: -).

byte 1 = Minutes after midnight.
byte 2 = Day of the month.
byte 3 = Month.
byte 4 = Number of years since 1900.

# 2019.03.10 19:38
stamp = int(0x7730A49A)
time = stamp & 0b111111111111
hours = int(time/60)
minutes = time - (hours*60)
day = (stamp >> 12) & 0xFF
month = (stamp >> 20) & 0xF
year = (stamp >> 24) + 1900

Спасибо всем, кто пытается помочь.

Дело закрыто: -)

0 голосов
/ 02 апреля 2019

Есть еще несколько сигналов для работы.

1) 20:32:30:77 --> 2019-03-03 - 09:05
2) 27:32:30:77 --> 2019-03-03 - 09:11
3) 5F:A2:30:77 --> 2019.03-10 - 10:08
4) 6D:A2:30:77 --> 2019.03-10 - 10:21
5) 9A:A4:30:77 --> 2019-03-10 - 19:38
6) 9B:A4:30:77 --> 2019-03-10 - 19:39

X) X1:X2:X3:X4

X1 = are minutes, This is easy to see from the values I have.

Но как остальные работают вместе и как они конвертируются в дату / время ...?

Я почти уверен, что нужно читать байты в обратном направлении

Если я конвертирую # 3 & # 5 из шестнадцатеричного в DEC

3) 77:30:A2:5F -> 1999675999
5) 77:30:A4:9A -> 1999676570
this gives a difference of '571' and The time frame is 9 hours, 30 minutes,
which results in 570 minutes.
...