Как вариант
Безымянный.png
Здесь физический выключатель работает по принципу проходного
Как вариант
Безымянный.png
Здесь физический выключатель работает по принципу проходного
покритикуйте пожалуйста, вроде бы должно работать... )
-управляется сетью одним регистром установкой битов
-управляется сетью один регистр один вход/выход
-управляется с экрана
-управляется кнопкой, при этом в режиме кнопки без фиксации
-сохраняет своё состояние
Какой-то бред сивой кобылы, мягко выражаясь!
Имея в качестве сетевой переменной битовую маску выходов зачем ещё создавать 8 целочисленных сетевых переменных и использовать в каждом регистре по биту? Прямо какой-то бред бредовый, мне так кажется!
Хороший пример как не надо делать!
Вы бы хоть что-нибудь посмотрели на форуме, тысячу раз подобное обсуждалось, короче, хуже трудно придумать!
Последний раз редактировалось Сергей0308; 22.11.2024 в 00:13.
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Ну, хочется человеку напрямую рулить битами - ресурсов то хватает. А, может, Алиса не умеет включать свет с помощью битовой маски.
Мой вариант
!!!1 Переключение бит_3 v3.owle
Взяли мой пример и извратили зачем то (сетевая маска бит у вас не работает),1 Переключение бит .jpg
триггеры на входе ещё можно понять, хотя для кнопок они и не нужны, а маска бит у меня работала.
Сетевые (если нужны битовые) можно было повесить прямо на выходы макроса.
Цель была этот макрос переписать на ST.
https://owen.ru/forum/showthread.php...824#post447824
Лучше всех получилось у Валенка https://owen.ru/forum/showthread.php...&page=382#3814
Последний раз редактировалось kondor3000; 22.11.2024 в 17:37.
Кажется, фильм "9-я рота". Помните?
- Боец ты что-то видел?
- Нет
- Так чего ты ржешь? В бою главное выполнить приказ! Обосраться - но выполнить!
Я бы таким ребятам сразу Орден Мужества выдавал. Подставиться - но научиться.
Так задумано, т.к. HomeAssistant в не предусмотрено описание switches по битовой маске, только регистром целиком. Регистр писать можно, но вычисляя его отдельным блоком костылей, что ещё более трудозатратно, чем использование 1 бит в каждом регистре.
Благодарю за конструктив и отличный пример! Не ожидал, что сетевые переменные можно сразу на экран привязывать. костыль с битами отчасти связан как раз с необходимость их привязки на экран
Я специально вывернул блок для возможности адресации внутренних переменных и упрощенной пошаговой отладки. Сетевые были целочисленные, потому так и получилось, хотя, согласен, я думаю никто бы снаружи и не догадался, что с ними работают как с битовыми. Стараюсь конечно не спрашивать тупые вопросы, но "на текущем развитии мозга" вложенные процедуры в цикловом процессе тяжело укладываются в голове.
благодарю за поддержку!изящные решения пока не мой конёк, но моя вандервафля тоже почти работала (за исключением неиспользуемой битовой маски)
![]()
Последний раз редактировалось nnov4k; 22.11.2024 в 18:47.
Это не про это?
Я делал на coil, и работал с битами.Код:switches: ### Dimmer Command Switches - name: "╨Ы╨░╨╝╨┐╤Л: 1 ╨н╤В╨░╨╢ ╨Ю╨▒╨╡╨┤╨╡╨╜╨╜╤Л╨╣ ╨б╤В╨╛╨╗ (DIM, Preset 1)" unique_id: HALmp1EObedStolDIMPreset1 #Unique ID (Global) of Lamp slave: 10 #PLC Slave ID address: 160 #PLC Register Address scan_interval: 1 #In Secodns write_type: coil #Reg Type (coil / discrete / holding / input) command_on: 1 #What write to ON State command_off: 0 #What write to OFF State verify: #How to Verify State input_type: coil #Reg Type (coil / discrete / holding / input) delay: 0.5 #Delay (in secons between Write and Verify)
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab
Из этой логики следующий вариант должен писать битовые маски в регистр, но по факту все варианты пишут 1 в 1й бит (coil/coils дают одинаковый эффект). Указание "bit:1" (1-2-3-4-5-...16) возможно только для binary_sensors, они не будут принимать обратно воздействие.
в теории оно будет работать, если не описывать ячейки, например как в примере здесь https://psenyukov.ru/%D1%83%D0%BF%D1...E%D1%82%D0%BE/ НО вылезет другой минус - при включении второго погаснет первый, при выключении погаснут все биты.- name: hub3
type: tcp
host: 192.168.2.41
port: 502
switches:
- name: test_sw1
unique_id: test_sw1
address: 530
write_type: coils
slave: 3
command_on: 1 # 0x01
command_off: 0 # 0x00
verify:
input_type: coils
- name: test_sw2
unique_id: test_sw2
address: 530
write_type: coils
slave: 3
command_on: 2 # 0x10
command_off: 0 # 0x00
verify:
input_type: coils
- name: test_sw16
unique_id: test_sw16
address: 530
write_type: coils
slave: 3
command_on: 16 # 0x1111
command_off: 0 # 0x0000
verify:
input_type: coils
косвенно на проблему ссылается мануал https://www.home-assistant.io/integr...rite_registers
write_registers boolean (Optional, default: false) If true use write_registers to control the On/Off state (hvac_onoff_register), else use write_register. Note that it is not yet possible to control the On/Off state via a coil.
на стенде несколько вечеров экспериментировал с описанием регистров в HA и ModbusSlave эмуляторе, в упор пишется первый бит![]()
nnov4k Нет. У них интеграция Modbus тупенькая, как моя кошочка (восьмибитная): если написано Coil - то он пишет только Coil, и всё.
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте. © Steve McConnell
Мой рабочий блог со статьями про щиты и автоматику ОВЕН - Cs-Cs.Net | Почта: Info@Cs-Cs.Net | Канал в ТГ @CsCsNetLab