alexob Опубліковано: 9 березня 2016 Поділитись Опубліковано: 9 березня 2016 Всем привет. У меня в доме установлено оборудование Vaillant: котел Vaillant ecoTEC + бойлер Vaillant VIH R 150/5 + Vaillant CalorMatic 470. Система работает все норм. Но у меня есть желание управлять отоплением удаленно, т.е. через интернет. На первом этапе хочу сделать это пока что с компьютера в доме, а там уже не сложно и выйти "наружу" Покопавшись в интернете, нашел несколько тем, где люди пытались и делали такое, вот несколько ссылок: Учет расхода газа или дальнейшее изучение протокола Vaillant и e-Bus Подключение котла Vaillant atmoVIT к компьютеру Управление котлом по eBUS. Часть 1 но все останавливалось на каком-то этапе и подробностей было не очень много. Автор первых двух статей подключился к котлу по RS 232, (не во всех котлах эта шина есть), но о шине eBus упоминает немного. Я все-таки решил эту тему развить и попытаться сделать у себя управление по шине eBus, т.к. она более технологична и также потому что по ней работает CalorMatic, а мне нужно управление не только чисто с компа, но и менять удаленно режимы самого CalorMatic-а. После пары-тройки недель изучения протокола eBus и принципов работы, я разобрался и у меня все получилось. Буду в этой ветке выкладывать мои наблюдения и результаты работы, возможно еще кому-то будет полезна эта тема. В итоге хочу получить простой способ управления отоплением дома. Это будет веб сайт (в будущем - приложение под iOs, Android), на который я смогу зайти откуда угодно и проконтролировать состояние отопления дома, и при необходимости, подрегулировать температуры, управлять бойлером и т.п. 10 Посилання на коментар Поділитися на інших сайтах More sharing options...
troll_9000 Опубліковано: 9 березня 2016 Поділитись Опубліковано: 9 березня 2016 возможно еще кому-то будет полезна эта тема. Очень интересно. Протокол Е-бас закрытый, но с Вайлантовским оборудованием интересно в этом плане играться (просторы для почти умного дома рисуются) Очень интересно будет А вы осцилографом расшифровывали? Посилання на коментар Поділитися на інших сайтах More sharing options...
murava Опубліковано: 9 березня 2016 Поділитись Опубліковано: 9 березня 2016 Почему сразу закрытый? Там кромшредеровская база, а на ней куча всего построено. Не такая уж и тайна этот протокол, просто вайлант не видит целесообразности выводить на рынок продукт, позволяющий удаленно управлять аппаратом. Бош/будерус увидел и на рынок выводит. Скоро и вайлант подтянется Посилання на коментар Поділитися на інших сайтах More sharing options...
alexob Опубліковано: 9 березня 2016 Автор Поділитись Опубліковано: 9 березня 2016 eBus протокол открытый, но... каждый производитель, кто на нем связывает аппаратные части системы, использует свои команды. Вот команды у вайланта закрыты, вернее он их не афиширует в массы. Но реверс-инжиниринг никто не отменял, и поэтому многие копали и копают в сторону открытия команд. Некоторые достигли очень хороших результатов. Лично мне очень помогла работа вот этого парня github.com/john30. 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
alexob Опубліковано: 9 березня 2016 Автор Поділитись Опубліковано: 9 березня 2016 Для начала необходимо было подключится компьютером к шине eBus. Я выбрал адаптер USB-eBus по немецкой схеме с опторазвязкой, т.к. подключаться планировал просто "врезаясь" в существующую шину между котлом и CalorMatic-ом. По изготовлению самого адаптера мне помог форумчанин Денис (Denz), за что ему огромное спасибо. Платы заказывались в Китае, тут собирались и приводились в человеческий вид. Вот так получилось: Адаптер заработал сразу, без каких-либо настроек и т.п. Пр подключении его к USB порту ноутбука, драйвера устанавливаются автоматически (Windows 10), в общем все как по маслу 9 Посилання на коментар Поділитися на інших сайтах More sharing options...
Сергей_84 Опубліковано: 9 березня 2016 Поділитись Опубліковано: 9 березня 2016 Хм.... в качестве удешевления бюджета на подобные задачи просто огромное дело делаете, Александр. Может еще кому пригодится..я к примеру возьму на заметку.. Но существует штатное решение этого вопроса если кто не захочет иметь дело с кулибинством... VAILLANT COMDIALOG Оно позволяет менять все вплоть до настройки котла в дистанционном режиме сервисным инженером...с планшетов, смартфонов и прочих девайсов 3 Посилання на коментар Поділитися на інших сайтах More sharing options...
alexob Опубліковано: 10 березня 2016 Автор Поділитись Опубліковано: 10 березня 2016 Хм.... в качестве удешевления бюджета на подобные задачи просто огромное дело делаете, Александр. Может еще кому пригодится..я к примеру возьму на заметку.. Но существует штатное решение этого вопроса если кто не захочет иметь дело с кулибинством... VAILLANT COMDIALOG Оно позволяет менять все вплоть до настройки котла в дистанционном режиме сервисным инженером...с планшетов, смартфонов и прочих девайсов Да, я знаю о таком решении, но на самом деле не все так просто как хотелось бы. Для пользования этой системой необходимо воспользоваться услугами датацентра Vaillant. У них есть свои сервера, через которые собственно и идет обмен информацией самого устройства comDialog и оконечным пользователем. Чтобы подключится к ней, необходимо закупить оборудование, заключить договор с вайлант, они произведут вам настройки, и по всей видимости за использование их серверов будут взымать какую-то абонплату. Опять же, это скорее всего в Украине не работает, максимум Россия. И доступ предоставлен к далеко не всем настройкам котла (хотя конечно самое важное там есть). И самое важное (для меня), эта система не позволит полноценно себя внедрить (та чем даже полноценно - вообще не позволит) в систему "умный дом" - они не дают открытого API чтобы управлять отоплением с других устройств системы "умный дом" - ну это политика Вайлант. Я кстати звонил в их представительство пару недель назад и задавал вопросы по удаленному контролю моей системы отопления - и они мне прямым текстом сказали, что на данный момент нормального решения нет, все что сейчас существует, либо устарело и не подходит по требованиям современных систем управления (это типа их программные продукты vrDialog), либо дает только ограниченные возможности. О вопросе как-то связать их оборудование с системой умный дом - они сразу сказали, что на данный момент решения никакого нет. Также они мне сказали, что сейчас Вайлант ведет разработку нового продукта (аппаратного и программного), который будет уже более гибким, масштабируемым и совместим с продуктами других производителей, и планирует выпустить в тестовую эксплуатацию в 2017 году. Скорее всего, говорят, что годик это будет продукт внутреннего рынка Германии для опробирования, а потом уже будут выходить в мир. Но это же безумно ДОЛГО но и я думаю будет дорого К тому же, они врядли дадут доступ к более точным и глубоким настройкам котла. К примеру я сейчас умею с компьютера меня все, что есть в настройках котла, даже такие вещи как ограничить максимальную мощность, управлять работой внутреннего насоса, устанавливать время блокировки горелки и т.п. Я понимаю что, рядовому пользователю оно в принципе и не нужно, главное уметь менять температуры подачи, включать-выключать бойлер, и всякое такое - ну в общем то, что вынесено в CalorMatic. Хотя CalorMatic сам предоставляет много функций, которые уже в нем заложены, типа настройки временных зон, подбор температуры теплоносителя по кривой отопления, "Тупой котел" этого делать естественно сам не умеет, главное правильно и красиво им управлять. Что-то я многа букав понипасывал Я просто это делаю для себя, в свободное время, информацией поделюсь - не жалко. Затраты мизерные - это идет на уровне хобби. Кто-то вышивает крестиком в свободное время, кто-то телик смотрит, а я вот протокол вайлант ламаю :D 7 Посилання на коментар Поділитися на інших сайтах More sharing options...
Diver Опубліковано: 10 березня 2016 Поділитись Опубліковано: 10 березня 2016 а я вот протокол вайлант ламаю Вайлант будет недоволен... 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
alexob Опубліковано: 10 березня 2016 Автор Поділитись Опубліковано: 10 березня 2016 Сразу выложу документацию, по которой можно почитать о протоколе eBus. Ну во первых на вики-страничках, для тех кто владеет языками. Тут практически всю документацию можно найти, но также я выкладываю файлик, который относится конкретно к командам Vaillant. Но это тоже еще не все, многие команды, которые я использую, не задокументированы в нормальном читабельном виде в виде отдельного документа. Но по ходу описания я их выложуeBus Specifications - Physical Layer - OSI 1 - Data-Link Layer - OSI 2 v.1.3.1.pdfeBus Specifications - Applications Layer - OSI 7 v.1.6.1.pdfAppendex to eBus Specifications - Applications Layer - OSI 7 v.1.4.1.pdfeBus Specifications - Applications Layer - OSI 7 - Vaillant specific extensions v.0.6.0.pdf 4 Посилання на коментар Поділитися на інших сайтах More sharing options...
alexob Опубліковано: 10 березня 2016 Автор Поділитись Опубліковано: 10 березня 2016 подключился я к шине eBus адаптером напрямую без каких-либо развязок, т.к. схема адаптера уже с развязкой и часть относящаяся к стороне eBus питается от самой шины. Не боялся я что, что-то сгорит Запустил на компе снифер, установил настройки виртуального COM-порта: обязательно 2400 бод (это стандартная скорость работы eBus протокола). Как и ожидал снифер показал череду байтов "АА". Это байты синхронизации. Между этими байтами проскакивают периодически пакеты, которые CalorMatic шлет котлу. В общем все отлично, связь установлена. Затем написал программку, которая фильтрует входящие данные и вычленяет из них отдельные пакеты. Немного поковыряв эти пакеты, я разобрался какие именно команды шлет CalorMatic и что отвечает ему котел. Потом попробовал сам вкинуть пакет на шину. Самым сложным было правильно его сформировать, т.к. там нужно вставлять байт CRC для верификации пакета. Вот расчет CRC на языке C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Vaillant.Common { public static class CRCUtils { private static byte CRC8Calc(byte data, byte crcInit) { var crc = crcInit; byte polynom; for (var i = 0; i < 8; i++) { polynom = ((crc & 0x80) != 0) ? (byte)0x9B : (byte)0x00; crc = (byte)((crc & ~0x80) << 1); if ((data & 0x80) != 0) crc = (byte)(crc | 1); crc = (byte)(crc ^ polynom); data = (byte)(data << 1); } return crc; } public static byte CalculateCRC(byte[] buffer) { byte uc_crc = 0; for (var i = 0; i < buffer.Length; i++) uc_crc = CRC8Calc(buffer[i], uc_crc); return uc_crc; } public static bool CheckCRC(byte[] buffer, byte crc) { return CalculateCRC(buffer) == crc; } } } 5 Посилання на коментар Поділитися на інших сайтах More sharing options...
Diver Опубліковано: 10 березня 2016 Поділитись Опубліковано: 10 березня 2016 иногда проблема црц становится камнем преткновения для реинжиниринга. Вам удалось двинутся дальше. Посилання на коментар Поділитися на інших сайтах More sharing options...
InSAn Опубліковано: 26 квітня 2016 Поділитись Опубліковано: 26 квітня 2016 (змінено) Как и ожидал снифер показал череду байтов "АА". Это байты синхронизации.У меня - Ochsner. Подключился к eBus. Но AAh не шлет, вместо(?) них - 00h. [spoiler=череда байтов] F8 38 00 00 00 00 00 00 F8 00 00 00 00 00 08 00 00 00 18 00 00 00 00 00 00 00 00 00 00 08 08 00 08 00 38 00 00 00 00 F8 38 00 00 00 00 18 00 00 00 00 F8 00 00 00 00 00 00 00 00 00 00 Затем написал программку, которая фильтрует входящие данные и вычленяет из них отдельные пакеты. Начало/конец пакета как определяете? UPD: Разобрался - по AAh, которых у меня нет почему-то Змінено 29 квітня 2016 користувачем InSAn Посилання на коментар Поділитися на інших сайтах More sharing options...
InSAn Опубліковано: 29 квітня 2016 Поділитись Опубліковано: 29 квітня 2016 У меня - Ochsner. Подключился к eBus. Но AAh не шлет, вместо(?) них - 00h. PS: Собирал по схеме на LM393. PS: Как можно без осциллографа понять, что на шине eBus? Добавлено через 16 минут PPS: Тему перенес в раздел "Умный дом". alexob, Вы не против? Посилання на коментар Поділитися на інших сайтах More sharing options...
fim Опубліковано: 29 квітня 2016 Поділитись Опубліковано: 29 квітня 2016 а у мну сегодня ехуу!!! короче, автор демона оказался таки прав мой адаптер глючил а т.к. у мну получились запасніе платі, то собрал на другом биполярном транзисторе и... епта оно заработало как надо, а не просто в режиме сниффера(сканера) т.е. посілаю запросі на те данніе какие хачу и получаю вразумительніе ответі и.... даже пруха раскодировал "проблемніе" ціклі и часі наработки чуток правда нестабильно пока работает подстроечник на пределе, но то думаю не вопрос, подберу другой резистор, чтобі подстроечник работал в диапазоне зі т.к. скрипт получения данніх с єсчетчика гтн работает стабильно, то осталось, отрегулировать балансиром проток по ультрозвуковому расходомеру и... будем сомтреть сор, sсор в реальном времени, ... о как я себя накрутил 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
fim Опубліковано: 30 квітня 2016 Поділитись Опубліковано: 30 квітня 2016 Адаптер заработал сразу, без каких-либо настроек и т.п. поздравляю! Пр подключении его к USB порту ноутбука, драйвера устанавливаются автоматически (Windows 10), в общем все как по маслу не пойму почему Windows 10? зачем приложение под iOs, Android? имхо оптимальное хорошее решение: raspberry + демон от John + fhem, тем более для Vaillant, который изучен довольно таки хорошо например @Reinhart 07 Februar 2016, 15:46:44 сразу веб морда умного дома с ebusом (Vaillant) и наверно у вас белый ip я бы с Vaillant так и поступил, поставил все готовое или просто хочется поиграться повозиться для удовольствия? зы если вы не против и может кому будет интересно, чтоб не плодить новых веток, могу пару тройку сообщений про свой адаптер и окснер написать и да, извините, что как медведь вломился предыдущим постом..., мне дали ссылку на сообщение вашей ветки, а я недосмотрел начало и содержание 4 Посилання на коментар Поділитися на інших сайтах More sharing options...
y-dom Опубліковано: 3 травня 2016 Поділитись Опубліковано: 3 травня 2016 После прочтения прекрасной темы Александра, чешутся руки тоже поковырять E-bus Vaillant. Только адаптера не хватает. Подскажите, кто может собрать или где купить переходник E-bus USB или RS-232 Посилання на коментар Поділитися на інших сайтах More sharing options...
fim Опубліковано: 3 травня 2016 Поділитись Опубліковано: 3 травня 2016 После прочтения прекрасной темы Александра, чешутся руки тоже поковырять E-bus Vaillant. Только адаптера не хватает. Подскажите, кто может собрать или где купить переходник E-bus USB или RS-232 The following hardware interfaces are known to work with ebusd (c): E-Service GmbH: eBus Koppler USB E-Service GmbH: eBUS Koppler Ethernet Mikrocontroller.net: eBus USB Adapter Prof. Dr. Peter A. Henning: EBUSD-Interface USB, Example layout 2 Посилання на коментар Поділитися на інших сайтах More sharing options...
fim Опубліковано: 4 травня 2016 Поділитись Опубліковано: 4 травня 2016 имхо оптимальное хорошее решение: raspberry + демон от John + fhem если кому не нравится fhem + демон (ebusd) , то (для vaillant) можно всем известный openhab - "It works" (с) все перечисленные ранее устройства (hardware interfaces) будут работать Посилання на коментар Поділитися на інших сайтах More sharing options...
alexob Опубліковано: 4 травня 2016 Автор Поділитись Опубліковано: 4 травня 2016 извините за столь поздний ответ, очень много работы, да еще и фасад делают. У меня - Ochsner. Подключился к eBus. Но AAh не шлет, вместо(?) них - 00h. Каким адаптером подключились? Скорость COM-порта какую поставили? (скажите все настройки COM-порта: битность, четность и т.п.) Начало/конец пакета как определяете? UPD: Разобрался - по AAh, которых у меня нет почему-то да, именно по ним и определял. Только по подряд идущим AAh, т.к. один может быть и в контрольной сумме, или где-то еще. Хотя если парсить пакет правильно, выкусывая по очереди части пакета, согласно спецификации протокола, то проблем с определением конца не будет. Проблема больше в посылке сформированного пакета устройству. Тут нужно поймать промежуток времени, когда закончился очередной пакет с какого-нибудь устройства, и через определенный таймаут слать свой. Если слать в любой момент времени, то просто появятся очень частые ситуации "битых" пакетов, когда на шину eBus вместе с вашей отправкой, в этот же момент отправит другое устройство. Пакеты тогда "сольются" и парсер (у меня именно так) просто удалит эту неопознанную череду байт. Вам же нужно будет повторно слать пакет, т.к. все принимающие устройства также примут на вход неопознанный пакет. Хуже если случайно сформируется "опознанный" пакет и еще что-то запишет в устройство (что теоретически может быть, а практически вряд ли). Добавлено через 6 минут PS: Собирал по схеме на LM393. упсс, сразу не заметил этого поста. Тогда дайте только параметры порта. PS: Как можно без осциллографа понять, что на шине eBus? только по синхронизирующим байтам Добавлено через 16 минут PPS: Тему перенес в раздел "Умный дом". alexob, Вы не против? конечно же, без проблем, наверное это даже правильно главное чтобы форумчанам доступно было. Посилання на коментар Поділитися на інших сайтах More sharing options...
InSAn Опубліковано: 4 травня 2016 Поділитись Опубліковано: 4 травня 2016 дайте только параметры порта. baud 2400, 8 bit, 1 stop-bit, parity - none Проблема в том, что нет четкой границы переключения оптрона - она плавает. В промежуточных состояниях оптрон переключается как ему захочется, теряя быстрые переходы между нулем и единицей (10101010). Поэтому вместо 0хАА я получал 0х00 Более подробно описал у себя в теме - www.stroimdom.com.ua/forum/showthread.php?p=3913679 Сейчас собираю другую схему. Уже опробовал на макетке - все гуд. Посилання на коментар Поділитися на інших сайтах More sharing options...
alexob Опубліковано: 4 травня 2016 Автор Поділитись Опубліковано: 4 травня 2016 baud 2400, 8 bit, 1 stop-bit, parity - none Проблема в том, что нет четкой границы переключения оптрона - она плавает. В промежуточных состояниях оптрон переключается как ему захочется, теряя быстрые переходы между нулем и единицей (10101010). Поэтому вместо 0хАА я получал 0х00 Более подробно описал у себя в теме - www.stroimdom.com.ua/forum/showthread.php?p=3913679 Сейчас собираю другую схему. Уже опробовал на макетке - все гуд. пропустил темку, спасибо. Да, видимо проблема у вас со схемой. Если вам поможет, могу дать на пару дней свой адаптер для пробы, ну чтобы удостовериться в реальном eBus. Посилання на коментар Поділитися на інших сайтах More sharing options...
InSAn Опубліковано: 4 травня 2016 Поділитись Опубліковано: 4 травня 2016 пропустил темку, спасибо. Да, видимо проблема у вас со схемой. Если вам поможет, могу дать на пару дней свой адаптер для пробы, ну чтобы удостовериться в реальном eBus. Спасибо, уже не нужно - я другой адаптер начал собирать. Байты синхронизации уже получил Посилання на коментар Поділитися на інших сайтах More sharing options...
fim Опубліковано: 5 травня 2016 Поділитись Опубліковано: 5 травня 2016 Проблема больше в посылке сформированного пакета устройству. Тут нужно поймать промежуток времени, когда закончился очередной пакет с какого-нибудь устройства, и через определенный таймаут слать свой. Если слать в любой момент времени, то просто появятся очень частые ситуации "битых" пакетов, когда на шину eBus вместе с вашей отправкой, в этот же момент отправит другое устройство. Пакеты тогда "сольются" и парсер (у меня именно так) просто удалит эту неопознанную череду байт. Вам же нужно будет повторно слать пакет, т.к. все принимающие устройства также примут на вход неопознанный пакет. Хуже если случайно сформируется "опознанный" пакет и еще что-то запишет в устройство (что теоретически может быть, а практически вряд ли). это очень важный момент имхо, если писать код самому, то нужно внимательно прочитать про "arbitration" в Spec_Prot_12_V1_3_1_E, иначе вероятность передать ошибочные данные, по каким либо причинам, не такая и маленькая и чем больше устройств (Master, Slave) на шине, тем больше вероятность ошибки зы будьте внимательны и удачи 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
andriyb Опубліковано: 14 листопада 2016 Поділитись Опубліковано: 14 листопада 2016 Дякую Denz за адаптер! 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
crazzzzy Опубліковано: 22 грудня 2016 Поділитись Опубліковано: 22 грудня 2016 А никто не пробовал подружить eBus с arduino? Например по такой схеме: arduinoebus.pdf Посилання на коментар Поділитися на інших сайтах More sharing options...
Рекомендовані повідомлення
Створіть акаунт або увійдіть у нього для коментування
Ви маєте бути користувачем, щоб залишити коментар
Створити акаунт
Зареєструйтеся для отримання акаунта. Це просто!
Зареєструвати акаунтУвійти
Вже зареєстровані? Увійдіть тут.
Увійти зараз