thảo luận Tự làm nhà thông minh

  • Người tạo chủ đề Người tạo chủ đề lazura
  • Ngày bắt đầu Ngày bắt đầu
Điều khiển ở mức nào nữa chứ, dọn 1 số phòng cụ thể, ra lệnh phức tạp, kiểu tự biết khi nào tối thì hút nhẹ thôi, còn ngày cứ max tốc, đang có người ở nhà tự động giảm 1 mức công suất còn đi vắng thì max tốc và ưu tiên hút khi đi vắng, hiển thị map y như app mihome ngay trên giao diện. Nói thật mở được cái app hãng lên chờ chọn room mút mùa, hoặc dạng zone trong room, chỗ ăn hay dơ bảo nó dọn 1 mình khu đó thôi (là 1 phức hợp đi tới vị trí abc rồi thực hiện hút theo vùng, app xiaomi mình ko phân được 2 khu vực (phòng) chồng lên nhau, dạng chỗ ăn nằm trong bếp hoặc khu vực ghế phòng khách nằm trong cái phòng khách

Adu. Bác cho em xin link và từ khóa em thử build với. Cái này đúng là bọn kia chưa làm dc
 
nhà có điều kiện đấy. Đang bận chứ ko cũng vạch lại chia mặt bằng cho bạn. Mà đã trát hoàn thiện chưa hay mới đang thi công?

Em xây tường xong đang đổ mái rồi bác.
Bác có cao kiến gì giúp em với, cần thiết em đập đi vẫn còn kịp
 
Adu. Bác cho em xin link và từ khóa em thử build với. Cái này đúng là bọn kia chưa làm dc
Hassio nó đã hỗ trợ điều khiển robot xiaomi cơ bản đủ rồi, kể cả room cơ bản (room mình dùng chính mã đã khai báo trên mi home nhưng cần phải get id về) Tham khảo ở đây: https://www.home-assistant.io/integrations/xiaomi_miio/#xiaomi-mi-robot-vacuum
Còn với bản đồ thì dùng HACS (1 dạng addon store ngoài), rồi trong HACS cài Xiaomi Cloud Map Extractor => thực ra ko quá cần thiết, mình cũng cài và giờ ko đưa nó ra giao diện chính nữa vì cũng nhiều thứ, và đủ dùng rồi

Với ai cần tiện lợi thì dùng tạo 1 danh sách phòng/chỗ cần hút, rồi tích vô bấm clean là được, cách làm là mỗi phòng/lệnh cần lau ta tạo 1 input_boolean (khai báo trong configuration.yaml) rồi dùng code như dưới, ví dụ dưới là 4 phòng (2 phòng ngủ, 1 PK, 1 làm việc), 4 lệnh là clean, home (về sạc), spot clean (mình để trạng thái nên đang là homing) và thông tin (pin 100%, diện tích hút, thời gian hút lần gần nhất)
Thao tác cứ chọn lệnh (bên dòng trên) hoặc chọn nhiều phòng (dòng dưới) rồi bấm clean là xong
1648184678199.png

type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:button-card
color_type: label-card
color: rgba(244, 244, 244, 0.8)
name: |
[[[
if (states['vacuum.xiaomi_vacuum_1s'].state == 'cleaning') return "Bat "+states['vacuum.xiaomi_vacuum_1s'].attributes.battery_level+"%";
if (states['vacuum.xiaomi_vacuum_1s'].state == 'docked') return "Clean";
else return states['vacuum.xiaomi_vacuum_1s'].state;
]]]
tap_action:
action: call-service
service: script.turn_on
service_data:
entity_id: script.vacuum_clean_segment
icon: mdi:broom
styles:
card:
- color: |
[[[
if (states['vacuum.xiaomi_vacuum_1s'].state == 'cleaning') return "orange";
if (states['vacuum.xiaomi_vacuum_1s'].state == 'docked') return "green";
else return "red";
]]]
- type: custom:button-card
color_type: label-card
color: rgba(244, 244, 244, 0.8)
name: Homing
tap_action:
action: call-service
service: |
[[[
if (states['vacuum.xiaomi_vacuum_1s'].state == 'cleaning') return 'vacuum.pause';
if (states['vacuum.xiaomi_vacuum_1s'].state == 'paused') return 'vacuum.stop';
else return 'vacuum.return_to_base';
]]]
service_data:
entity_id: vacuum.xiaomi_vacuum_1s
icon: |
[[[
if (states['vacuum.xiaomi_vacuum_1s'].state == 'cleaning') return 'mdi:pause-circle';
if (states['vacuum.xiaomi_vacuum_1s'].state == 'paused') return 'mdi:stop-circle';
else return 'mdi:home';
]]]
styles:
card:
- color: green
- type: custom:button-card
color_type: label-card
color: rgba(244, 244, 244, 0.8)
name: Homing
tap_action:
action: call-service
service: vacuum.clean_spot
service_data:
entity_id: vacuum.xiaomi_vacuum_1s
icon: mdi:map-marker-path
styles:
card:
- color: green
- type: custom:button-card
color_type: label-card
color: rgb(224, 224, 209)
show_name: false
tap_action:
more_info: vacuum.xiaomi_vacuum_1s
show_icon: false
show_label: false
styles:
card:
- background-color: rgba(244, 244, 244, 0.8)
- border-radius: 10%
- padding: 5%
- color: green
- font-size: 16px
- font-weight: bold
- text-transform: capitalize
grid:
- grid-template-areas: '"bat bat" "cleantime cleantime" "cleanarea cleanarea"'
- grid-template-columns: 1fr 1fr
- grid-template-rows: 1fr min-content min-content min-content min-content
img_cell:
- justify-content: start
- align-items: start
- margin: none
custom_fields:
bat:
- align-self: middle
- justify-self: middle
- padding-bottom: 1px
- '--text-color-sensor': |-
[[[
if (states['vacuum.xiaomi_vacuum_1s'].attributes.battery_level >= 90) return "lime";
if (states['vacuum.xiaomi_vacuum_1s'].attributes.battery_level >= 50) return "orange";
if (states['vacuum.xiaomi_vacuum_1s'].attributes.battery_level < 50) return "red";
]]]
cleantime:
- padding-bottom: 1px
- align-self: middle
- justify-self: middle
cleanarea:
- align-self: middle
- justify-self: middle
custom_fields:
cleantime: |
[[[
var test = (states['sensor.xiaomi_vacuum_1s_last_clean_duration'].state/60).toFixed(1);
var value = (isNaN(test)) ? 'NA' : test;
return `<ha-icon
icon="mdi:clock-outline"
style="width: 16px; height: 16px; color: deepskyblue;">
</ha-icon><span><span style="color: var(--text-color-sensor);">${(value) } mins</span></span>`
]]]
bat: |
[[[
var value = states['vacuum.xiaomi_vacuum_1s'].attributes.battery_level;
return `<ha-icon
icon="mdi:battery"
style="width: 16px; height: 16px; color: var(--text-color-sensor)">
</ha-icon><span>${(value)}</span>%</span>`
]]]
cleanarea: |
[[[
var per = states['sensor.xiaomi_vacuum_1s_last_clean_area'].state;
return `<ha-icon
icon="mdi:map"
style="width: 16px; height: 16px; color: deepskyblue;">
</ha-icon><span><span style="color: var(--text-color-sensor);">${per}m2</span></span>`
]]]
- type: horizontal-stack
cards:
- type: custom:button-card
entity: input_boolean.vacuum_clean_livingroom
color_type: card
color: rgb(166, 134, 244)
icon: mdi:sofa
show_name: false
styles:
card:
- height: |
[[[
if (states['vacuum.xiaomi_vacuum_1s'].state == 'docked')
return "80px";
else
return "0px";
]]]
- type: custom:button-card
entity: input_boolean.vacuum_clean_kitchen
color_type: card
color: rgb(166, 134, 244)
icon: mdi:desk-lamp
show_name: false
styles:
card:
- height: |
[[[
if (states['vacuum.xiaomi_vacuum_1s'].state == 'docked')
return "80px";
else
return "0px";
]]]
- type: custom:button-card
entity: input_boolean.vacuum_clean_bedroom1
color_type: card
color: rgb(156, 184, 105)
icon: mdi:bed
show_name: false
styles:
card:
- height: |
[[[
if (states['vacuum.xiaomi_vacuum_1s'].state == 'docked')
return "80px";
else
return "0px";
]]]
- type: custom:button-card
entity: input_boolean.vacuum_clean_bedroom2
color_type: card
color: rgb(156, 184, 105)
icon: mdi:bunk-bed
show_name: false
styles:
card:
- height: |
[[[
if (states['vacuum.xiaomi_vacuum_1s'].state == 'docked')
return "80px";
else
return "0px";
]]]
card_mod:
style: |
ha-card {
-webkit-box-shadow: 0px 3px 6px 3px rgba(0,0,0,0.48);
-moz-box-shadow: 0px 3px 6px 3px rgba(0,0,0,0.48);
box-shadow: 0px 3px 6px 3px rgba(0,0,0,0.48);
background-color: rgba(0, 0, 0, 0.25);
border-radius: 10px;
}
 

Tệp đính kèm

  • 1648184271667.png
    1648184271667.png
    38,3 KB · Lượt xem: 75
Sửa lần cuối:
Hassio nó đã hỗ trợ điều khiển robot xiaomi cơ bản đủ rồi, kể cả room cơ bản (room mình dùng chính mã đã khai báo trên mi home nhưng cần phải get id về) Tham khảo ở đây: https://www.home-assistant.io/integrations/xiaomi_miio/#xiaomi-mi-robot-vacuum
Còn với bản đồ thì dùng HACS (1 dạng addon store ngoài), rồi trong HACS cài Xiaomi Cloud Map Extractor => thực ra ko quá cần thiết, mình cũng cài và giờ ko đưa nó ra giao diện chính nữa vì cũng nhiều thứ, và đủ dùng rồi

Để em cài lên laptop thử trước, ok thì mua con raspberry chơi
Mà nhà em đang dùng ecovac cơ
 
Để em cài lên laptop thử trước, ok thì mua con raspberry chơi
Mà nhà em đang dùng ecovac cơ
Không khác gì hết trừ vụ map, mấy cái lệnh toàn lệnh cơ bản, thậm chí ko get được phòng vẫn có thể giả lập kiểu clean theo zone x1 y1 x2 y2 giả lập thành phòng được mà
Có khó khăn post thử lên mình giúp
 
Không ổn. Vào ngồi im đèn lại tắt mất 😂
Bác mua cái cảm biến aqara high sensitive motion khá ổn. Set thời gian tắt đèn cao 1 chút. Kiểu sau 5p ko có chuyển động mới tắt, nếu kết hợp với cảm biến cửa thì tốt nữa, kiểu đi ị ngồi im thì chỉ khi đóng cửa. Mình thấy nhà thông minh thích nhất là tự động dc cho nhà wc. Lâu lắm rồi chưa sờ vào công tắc
 
mình đang chỉnh quạt hút, có thím nào biết setup sao để quạt chạy 30p rồi tắt, nghỉ 30p xong chạy lại k nhỉ?
D405F4B5-7592-4190-8935-DF48C880C81B.png
 
Em xây tường xong đang đổ mái rồi bác.
Bác có cao kiến gì giúp em với, cần thiết em đập đi vẫn còn kịp
Sơ phác kiểu này, về cơ bản có mấy cái thấy chưa ổn: nên bỏ bàn đảo do chiều rộng không đủ, tủ lạnh bố trí ko hợp lý, bếp bé. Phòng master rộng nhưng khó bố trí đồ. Nói chung chỉnh lại thì bạn xác định các tủ nên đóng may đo, và nên phối hợp với bên thi công đồ để làm kích thước cho chuẩn. Chắc nhà ở tỉnh nên mình cũng ko khuyên bạn làm gì cao xa cả
oe7bu3c.jpg
 
Sơ phác kiểu này, về cơ bản có mấy cái thấy chưa ổn: nên bỏ bàn đảo do chiều rộng không đủ, tủ lạnh bố trí ko hợp lý, bếp bé. Phòng master rộng nhưng khó bố trí đồ. Nói chung chỉnh lại thì bạn xác định các tủ nên đóng may đo, và nên phối hợp với bên thi công đồ để làm kích thước cho chuẩn. Chắc nhà ở tỉnh nên mình cũng ko khuyên bạn làm gì cao xa cả
oe7bu3c.jpg
Cảm ơn bác. Đồ nội thất em cũng tính đóng may đo mà.
Cái phòng master bố trí đồ thì hợp lý, nhưng mở cửa vào đập ngay vào nhà vệ sinh cũng ko ổn
 
hoặc thích có bàn đảo bạn có thể chọn phương án bếp dạng chữ U, thêm nữa thường ng ta hay kiêng bếp gần chậu rửa nếu có thể
v0ddUwS.jpg
 
Bác dùng hệ nào đấy?
Cái này app nào cũng có mà nhỉ.
Bác làm 2 cái
nếu tắt delay 30p rồi bật
Nếu bật delay 30p rồi tắt là được mà
tuya á, tìm trên app tuya k thấy cái delay chỗ nào

mới thấy delay 30p autoshutdown, còn auto bật chỗ nào thím nhỉ
 

Thống kê chủ đề

Ngày tạo
lazura,
Người trả lời cuối
Diệp Vô Ưu,
Trả lời
128
Lượt xem
15.346
Quay lại
Lên đầu trang