GSM устройство управления котлами Webasto и не только

MaksVV
Offline
Зарегистрирован: 06.08.2015

чтобы считывать параметры по цифре нужно знать протокол, и дописать скетч. У меня на это нет времени. Протокол где то в середине темы обсуждался, по аналогии с вебасто можете сами ПО дописать, мне пока некогда.

Dmitry888
Offline
Зарегистрирован: 16.03.2019

MaksVV пишет:

чтобы считывать параметры по цифре нужно знать протокол, и дописать скетч. У меня на это нет времени. Протокол где то в середине темы обсуждался, по аналогии с вебасто можете сами ПО дописать, мне пока некогда.

 

о! как. Отлично , я пропустил видимо . надо найти это место . в планах как раз ебер очеловечить. спс за наводку .  

MaksVV
Offline
Зарегистрирован: 06.08.2015

вот здесь я выкладывал свои исследования.  

MaksVV
Offline
Зарегистрирован: 06.08.2015

Dmitry, #1697 пробовали, как работает?

Dmitry888
Offline
Зарегистрирован: 16.03.2019

отчет по тесту 4.073_new - с

(кстати по чему ты скорость софтсериала так уронил  ? я на 19200 стабильно работаю с ним. вернул )

 

флаги получены все. кроме мощности - там долго ничего не было потом 100проц. на 50 не стал ждать . после выключения котла :

 

1. флаги не обнулились

2. связь с котлом пропала ( возможно это одно   и тоже. пока писал - допер) .  при повторном запуске связь восстановилась . те - диагнозу он отдает в этом скетче только во время работы .  4.073 -  прошлая версия - работала после остановки котла . если не сохранил - у меня есть исходник. 

ошибки не взлетели. обрывал w-bus - ошибку не показал и  не стер.

 

вроде все

 

upd - дизайн новых метрик  - палец вверх ;) 

Dmitry888
Offline
Зарегистрирован: 16.03.2019

MaksVV пишет:

вот здесь я выкладывал свои исследования.  

 

респект. зашелся слюной . буду разбираться . 

вопрос нескромный - самарские планары : не пробовал протокол разобрать ? 

MaksVV
Offline
Зарегистрирован: 06.08.2015

Dmitry888 пишет:
(кстати по чему ты скорость софтсериала так уронил  ? я на 19200 стабильно работаю с ним. вернул )

Потому что много слышал тут, что софт сериал этого говно полнейшее и тащит едва едва 9600 и то коряво. 

Я думаю 9600 норм. сделал такую скорость.  Кстати в отладке на низкой скорости модем более тщательно длинные отчеты присылает, не режет кракозябрами. 

Dmitry888 пишет:
флаги получены все. кроме мощности - там долго ничего не было потом 100проц. на 50 не стал ждать .

дак я же сказал нет у этого котла параметра мощности, я его вывел из байта "состояние котла", а там всего три градации можно сделать, выключено , 50% и 100% . Вот так и будет показывать. 

Dmitry888 пишет:
1. флаги не обнулились

попробовал это исправить в v4.074

Dmitry888 пишет:
2. те - диагнозу он отдает в этом скетче только во время работы .  4.073 -  прошлая версия - работала после остановки котла . если не сохранил - у меня есть исходник.

немного исправил, возможно заработает на выключенном котле

Dmitry888 пишет:
ошибки не взлетели. обрывал w-bus - ошибку не показал и  не стер.

и не должны были,  я ж сказал ещё не делал их. В скетче 4.074 (см. в облаке) попытался наладить работу ошибок. Пробуй. А так нужен лог удаления ошибок на WTT, у тебя в логе этого нет, поэтому не могу знать, как отвечает котёл на запрос стирания ошибок. 

xbot
Offline
Зарегистрирован: 03.02.2021

Dmitry888 пишет:

респект. зашелся слюной . буду разбираться . 

вопрос нескромный - самарские планары : не пробовал протокол разобрать ? 

снял лог с d5wsc:

1)лог общения с edith (лог edith + лог с ком порта)

2)лог запущенного котла с сигналки по k-line

если логи нужны ,выложу

xbot
Offline
Зарегистрирован: 03.02.2021

MaksVV,подскажите, я что то не так смотрю, мой лог с Вашим не совпадает ,котел запущен импульсом и с него постоянно прилетают сообщения, но очень отличается от Вашего

MAXKIT
Offline
Зарегистрирован: 07.02.2013

Снял логи сегодня.

Отключил таймер, оставил только k-line, устройство и вэбасту.

Через СМС котёл не стартует с подключённым k-line, что ещё нужно не понятно. Но логи снял что там происходит.

При отправке команды "запрос" или "стирание ошибок" вэбаста просто молчит, сделал лог со стиранием ошибок в wtt.

Ещё у вэбасты висит ошибка на неправильные команды в w-bus.

Логи https://yadi.sk/d/qfGNsd2QgFd__w

MaksVV
Offline
Зарегистрирован: 06.08.2015

MAXKIT пишет:
Через СМС котёл не стартует с подключённым k-line, что ещё нужно не понятно.

подозреваю, что в адаптере подтяжка к 12В мешает. Отключить бы её. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

xbot пишет:
котел запущен импульсом и с него постоянно прилетают сообщения, но очень отличается от Вашего

а котёл какого года? у меня гидроник 1 . Года 2008го. После него были ещё гидроники 2 и 3. Там наверняка протоколы отличаются. Нужен номер отопителя. Например, мой отопитель D5W S 25 2217

MAXKIT
Offline
Зарегистрирован: 07.02.2013

MaksVV пишет:

MAXKIT пишет:
Через СМС котёл не стартует с подключённым k-line, что ещё нужно не понятно.

подозреваю, что в адаптере подтяжка к 12В мешает. Отключить бы её. 

у меня мастер-китовский адаптер BM9213M, я так понимаю если убрать подтяжку 12в, то потом больше им ничего не сделаешь?

MaksVV
Offline
Зарегистрирован: 06.08.2015

ну можно обратно впаять резюк, или вообще тумблер сделать. тем более в китовском всего 510 Ом подтяжка. Конечно никто из потребитей её "продавить" на массу не может. 

xbot
Offline
Зарегистрирован: 03.02.2021

год не помню и посмотреть не очень удобно, он под машиной у меня установлен,d5wsc 22 5201 04 00 11 0B

вот тут логи

MAXKIT
Offline
Зарегистрирован: 07.02.2013

MaksVV пишет:

ну можно обратно впаять резюк, или вообще тумблер сделать. тем более в китовском всего 510 Ом подтяжка. Конечно никто из потребитей её "продавить" на массу не может. 

у платы 8.91 стоит резюк подтяжки 3.9 кОм, если в мастеркитовский такой же впаять? так чтобы тумблеры не городить.

Кстати схему для bm9213m где нашли?

MaksVV
Offline
Зарегистрирован: 06.08.2015

Не могу сказать поможет ли увеличение подтяжки до 3.9кОм. Надо пробовать.

схему китовского в гугле нашел. Ну можно из девайса подтяжку убрать. Где удобнее короче. Можно свой адаптер ещё один спаять , если есть usb TTL микруха. Варианты любые. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

xbot пишет:

год не помню и посмотреть не очень удобно, он под машиной у меня установлен,d5wsc 22 5201 04 00 11 0B

вот тут логи

не находится в Edith номер такой печки. Вернее номер ЭБУ печки скорее всего правильный, но какой нужно выбирать "номер исполнения" в Edith по этому номеру ЭБУ - это хз.   и логи непонятно в какой программе -  не открываются. 

В Эдите слева нужно выбрать Hydronic B/D 4/5W SC/S, а справа в окне нажать автоматическое распознавание. И он поставит курсор на нужный  "номер исполнения", вот этот номер сюда и написать и логи в txt. 

xbot
Offline
Зарегистрирован: 03.02.2021

логи (*.spm) из этой проги(serial port monitor) ,по номеру печки попробую сейчас проиграть лог edith и посмотреть

25 2386

логи из serial port monitor удобно смотреть то что они разбиты на получателя и отправителя 

+ там же есть csv ,это из лога edith значения

и лог edith.edi, его можно проиграть в edith

 

все три лога записаны одновременно, в csv значения построчно,.edi что в этот момент edith показывал и spm полный диалог

 

MaksVV
Offline
Зарегистрирован: 06.08.2015

понятно, протокол вообще другой. тут идёт схема запрос - ответ. Я так понимаю, у вас сниффер программный? чисто программа SPM подсматривает данные ком порта? 

xbot
Offline
Зарегистрирован: 03.02.2021

да сниффер SPM программный, по ссылке есть  лог edith - котел -это диалог ,и есть лог котла запущенного с сигналки (импульсом по k-line), там так же как и с у Вас, котел просто шлет каждые 500мс сообщения

вот запущенный  с сигналки, просто прилетают сообщения:

MaksVV
Offline
Зарегистрирован: 06.08.2015

дак это может как раз сигналка котлу шлёт раз в 500 мс. 

xbot
Offline
Зарегистрирован: 03.02.2021

как я понял сигналка просто запускает его импульсом, и судя по сообщениям они совпадают с входящими с лога edith

MaksVV
Offline
Зарегистрирован: 06.08.2015

ну сообщения, я так понял, начинаются с 02 далее два байта это длина сообщения. Длина находится в правых нибблах. И в конце сообщения , по видимому , два байта КС. 

Причём так как это к-лайн - от исходящих сообщений Edith видит эхо. 

Например длина сообщения в 18 байт шапка  будет 02 31 32.    Т.е. правые нибблы берём это будет 12HEX или 18 байт

UPD . нет не правые нибблы. байты просто в ascii переводим

MaksVV
Offline
Зарегистрирован: 06.08.2015

и точно спасил я ихнюю КС . Берём например сообщение взято из вашего сниффера SPM

    02 30 34 31 30 30 45 33 43                        .04100E3C        
если сложить тупо все байты сообщения 02 + 30 +34 +31 +30 +30 +45 получим 3С, а 3С это в ascii как раз  33 43 
короче там по ascii все работает. 
xbot
Offline
Зарегистрирован: 03.02.2021

блин к сожалению не шарю в этом, ну если что могу логи поснимать или дать доступ к котлу подключенному

MaksVV
Offline
Зарегистрирован: 06.08.2015

короче протокольчик хакнуть не такуж просто. Время будет так, для интереса поковыряюсь . 

xbot
Offline
Зарегистрирован: 03.02.2021

То есть он значения hex передает в ascii?

MaksVV
Offline
Зарегистрирован: 06.08.2015

он работает да, по кодировке аscii .  т.е. сообщение     

02 31 32 46 44 30 41 32 32 35 32 30 31 30 34 30 30 31 31 34 32 31 38

нужно воспринимать как 

.12FD0A2252010400114218 

только КС нужно считать именно по байтам , а не по соответствующим им ascii символам. Кстати если присмотреться вот в этой мессаге и закодирован номер ЭБУ подогревателя

 
xbot
Offline
Зарегистрирован: 03.02.2021

в папку с логами добавил еще лог ,друг прислал ,котел такой же d5wsc 2009 г ,только номер 25 2219,

на выходных могу еще собрать лог с b4wsc

Djon888
Offline
Зарегистрирован: 20.12.2020

   xbot привет подскажи на гидроник у тебя какой шнурок ??? самодельный или??

xbot
Offline
Зарегистрирован: 03.02.2021

vag  KKL 409.1, вот отсюда

Djon888
Offline
Зарегистрирован: 20.12.2020

получаеться простой шнурок Edith а долго настраивал его??

xbot
Offline
Зарегистрирован: 03.02.2021

вообще ничего не настраивал, автоматом определяет котел, у меня на к-line резистор подтяжки стоит, и Edith запускает его даже в выключенном состоянии, у друга резистора нет,и Edith  его видит только тогда, когда котел включен

MaksVV
Offline
Зарегистрирован: 06.08.2015

xbot пишет:

вообще ничего не настраивал, автоматом определяет котел, у меня на к-line резистор подтяжки стоит, и Edith запускает его даже в выключенном состоянии, у друга резистора нет,и Edith  его видит только тогда, когда котел включен

это не от подтяжки зависит , просто котлы разные. У меня тоже только во включенном состоянии диагнозу отдает

Dmitry888
Offline
Зарегистрирован: 16.03.2019

MaksVV пишет:

 В скетче 4.074 (см. в облаке) попытался наладить работу ошибок. Пробуй. А так нужен лог удаления ошибок на WTT, у тебя в логе этого нет, поэтому не могу знать, как отвечает котёл на запрос стирания ошибок. 

Отчитываюсь.  4.074 -  работает , флаги развешивает , мощность показывает.  есть непонятная борода с ошибками.  он их трет. но через раз.  F4 02 52 A4 - корректная команда удаления . проверял - отправляя ее напрямую в порт.  по логам она тоже собирается в твоей конструкции , но иногда вываливает вот такое - ниже выделено . пока не допетрил из-за чего ...

напряжеметр и температура показывает при выключеном котле... но тоже с бородой. отработал цикл - и все ... ничего не показывет . пока разбираюсь . 

Dmitry888
Offline
Зарегистрирован: 16.03.2019

вообщем , помоему я нашел причину.  - коробочка полна - переполнение стека. выкинул часть кода wbus не относящийся ко мне. облегчил скетч.  все залетало. продолжаю тестировать . 

MaksVV
Offline
Зарегистрирован: 06.08.2015

дак борода, как ты ее называешь , это сообщение установления сеанса связи (инит). Как бы общение с этого и начинается. Эта борода  вставляется в тех случаях, когда сеанс связи перед этим уже по таймауту завершился (читай котёл спит) и чтобы котла разбудить нужна борода. После чего остальные запросы от диагностики (читай нашего девайса) должны идти, в данном случае запрос удаления ошибок. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

Dmitry888 пишет:
отработал цикл - и все ... ничего не показывет . пока разбираюсь .

т.е. это перестало проявляться после чистки скетча? если опять проявится пробуй ждать время после цикла работы, возможно через промежуток времени станет опрашивать на выключенном котле (когда уснет) . 

MaksVV
Offline
Зарегистрирован: 06.08.2015

MaksVV пишет:

короче протокольчик хакнуть не такуж просто. Время будет так, для интереса поковыряюсь . 

xbot , не пропадайте, почти хакнул ващ протокол, нужно будет проверить 

xbot
Offline
Зарегистрирован: 03.02.2021

я на связи

Dmitry888
Offline
Зарегистрирован: 16.03.2019

посыпаю голову пеплом ... похоже косяк был совсем не софтовый . перекопал все. ночь не спал - потыкал осцилом где только мог. нашел косяк на аж самой ардуине. походу (а она у меня не новая , спецом откуда то выдрал под твой проект вавгаты не хотели компилится ) - так вот на пин TX и пин  TX который идет на разьем компорта - шли сигналы разной амплитуды . я предположил что сгнило переходное отверстие где -то в трассировке.  вообщем прокинул провод между этими пинами - с утра 12 часов стабильно все работает. 

дело в том что я на улице эксперименты провожу - частный дом позволяет . в тепле все работает - на улице спорадически отваливается связь с котлом ... вчера было -25 

 

есть некоторые моменты - мощность горения после выключения печки так и остается на значении 100. надо будет дописать обнуление . и количество ошибок прыгает - то показывает одну то 0. но трет успешно . при выкл. котле. при работающем не трет . но видимо так и не должно быть .  

upd следом за тх отвалился и rx пин физически . они разведены через переходное отверстие выхода на компорт.  кинул проводами rx и tx - все ровно. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

а CustomSoftwareSerial не улучшит работу девайса?

Dmitry888
Offline
Зарегистрирован: 16.03.2019

CustomSoftwareSerial library allow to configure and custom Parity Bit and Stop Bit.

 софтсериал стучит в модем. там обычная проверка . и кастом не нужен.  в чем еще он лучше ? 

xbot
Offline
Зарегистрирован: 03.02.2021

Добавил 2 лога с b4wsc

MaksVV
Offline
Зарегистрирован: 06.08.2015

Позже посмотрю. Пока ваш протокол не поддаётся. Сделал эмулятор котла ебера. Но Эдит не хочет хавать все те сообщения из лога, где то что то спотыкается и связь рвётся, а без эмуля не хакнуть это дело. Особо времени нет разбираться, так что ничего обещать не буду. Но спортивный интерес присутствует. Надеюсь будет ещё время и желание разобраться. Выложу лог эмуля и эдита, сами по сравниваете со своим логом, может найдёте не стыковки

Станислав Пимшин
Offline
Зарегистрирован: 18.11.2019

И так для пользователей сигнализаций типа старлайн КГБ и другие соединяющиеся по пркабелю sl-Data есть светлый лучик в темноте...

https://photos.app.goo.gl/6DBbL6JbEuqGLYib8

Кратко для любителей читать....

Научился заводить глушить открывать закрывать !

Хочу научиться считывать состояние сигнализации 

 

MaksVV
Offline
Зарегистрирован: 06.08.2015

 Если выложите наработки, я их добавлю в проект. А то видос получился не очень то информативный. Посмотрев его, можно только порадоваться за вас. 

Станислав Пимшин
Offline
Зарегистрирован: 18.11.2019

MaksVV пишет:

 Если выложите наработки, я их добавлю в проект. А то видос получился не очень то информативный. Посмотрев его, можно только порадоваться за вас. 

Пока еще не научился принимать ответку, после готового скину скетч для дальнейшей оптимизации...  

Станислав Пимшин
Offline
Зарегистрирован: 18.11.2019

MaksVV пишет:

 Если выложите наработки, я их добавлю в проект. 

К сожалению не хватает у меня ума что бы нацарапать работоспособный скетч... могу выложить "слова" по которым разговаривают устройства...

1. параметры шины: инвертированная шина UART 16 бит,  скорость 4800 бит/сек, 1 стоп бит предположительно, бит четности отсутствует, управляющий приоритетный бит отсутствует, в спокойном состоянии шины притянуты к плюсу.

2. Особенности передачи данных в сигнализацию: выдержка времени (притягивание шины к земле) перед подачей "пакета" в сигнализацию 10 мс., передача идет одинаковыми пятью "пакетами" с 10 мс. выдержкой между ними, в последнем (пятый) пакете стоповый бит отсутствует, при снятии сигнализации (5 пакетов) передаются с периодичностью  300 мс. пока не придет подтверждение.

3. Особенности приема данных из сигнализации: выдержка времени (притягивание шины к земле) перед подачей "пакета" в сигнализацию 5 мс, принимаем два разных "пакета" с задержкой между пакетами  1,5 мс.,  в последнем (второй) пакете стоповый бит отсутствует. 

4. "Расшифровка"

//Данные от устройства в сигнализацию (десятичный)/(двоичный)/(ASCII)
serial.print (17085)/(0b 0100 0010 1011 1101)/(BxBD)    //Запрос состояния сигнализации
serial.print (8670)/(0b 0010 0001 1101 1110)/(!\xDE)    //Команда на запуск ДВС
serial.print (8415)/(0b 0010 0000 1101 1111)/(\xDF)     //Команда остановки ДВС
serial.print (4590)/(0b 0001 0001 1110 1110)/(\x11\xEE) //Команда включение охраны
serial.print (4335)/(0b 0001 0000 1110 1111)/(\x10\xEF) //Команда снятие с охраны передаются по пять слов в одном покете с выдержкой между пакетами 300мс.

//Данные от сигнализации первое и второе слово (десятичный)/(двоичный)/(ASCII) + (десятичный)/(двоичный)/(ASCII)
serial.print (65423)/(0b 1111 1111 1000 1111)/(\xFF\x8F) + (56)/(0b 0000 0000 0011 1000)/(8) //Ответ на запрос о состоянии сигнализации при снятии охраны. Охрана включена, двигатель заглушен, двери багажник капот закрыты, нет сработавших датчиков.
serial.print (65295)/(0b 1111 1111 0000 1111)/(\xFF\x0F) + (120)/(0b 0000 0000 0111 1000)/(x) //Ответ на запрос о состоянии сигнализации при останове ДВС. Охрана включена, двигатель запущен, двери багажник капот закрыты, нет сработавших датчиков.
serial.print (65519)/(0b 1111 1111 1110 1111)/(\xFF\xEF) + (8)/(0b 0000 0000 0000 1000)/(\x08) //Ответ на запрос о состоянии сигнализации при включении охраны. Охрана выключена, двигатель заглушен,  замки открыты.
serial.print (65439)/(0b 1111 1111 1001 1111)/(\xFF\x9F) + (48)/(0b 0000 0000 0011 0000)/(0) //Ответ на команду включение охраны. Охрана включена, двигатель заглушен, двери багажник капот закрыты
serial.print (64271)/(0b 1111 1011 0000 1111)/(\xFB\x0F) + (122)/(0b 0000 0000 0111 1010)/(z) //Ответ на команду на запуск ДВС. Охрана включена двигатель запущен.
serial.print (65439)/(0b 1111 1111 1001 1111)/(\xFF\x9F) + (48)/(0b 0000 0000 0011 0000)/(0) //Срабатывания датчика удара (предупреждение - слабый удар)похож на "Ответ на команду включение охраны"
serial.print (60575)/(0b 1110 1100 1001 1111)/(\xEC\x9F) + (14)/(0b 0000 0000 0000 1110)/(\x0E) //Срабатывания датчика удара (аварийный - сильный удар)данные передаются в шину с периодичностью 4 секунды
serial.print (61370)/(0b 1110 1111 1011 1010)/(\xEF\xBA) + (21)/(0b 0000 0000 0001 0101)/(\x15) //Срабатывание концевиков дверь, багажник одновременно. данные передаются в шину с периодичностью 4 секунды

По мере свободного времени добавятся:
1. Включение разных режимов охраны.
2. Включение сервисного режима.
3. Включение режима антиограбления.
4. разное что еще не добавленное, и не предусмотренное но возможное...