Tôi có một bóng đèn ZWave và một công tắc tường 4 nút ZWave, cả hai đều được kết nối với Domoticz được cài đặt trên Raspberry Pi.
Tôi muốn các tình huống sau:
- Nút 1: bật đèn trong 30 phút
- Nút 2: tắt đèn
- Nút 3: đèn luôn sáng
- Nút 4: triệu tập Cthulhu
Mỗi nút ghi đè hành động trước đó (Nút 3 -> Nút 1 = bật trong 30 phút)
Đấu dây và lập trình các nút rất dễ, nhưng bây giờ, làm thế nào về bộ đếm thời gian? Tôi muốn tránh tạo ra một dịch vụ tự chế vì tôi sợ làm phiền init.d
.
Tôi có 3 khả năng:
Công tắc giả
Domoticz cho phép tạo ra một công tắc giả có thể thay đổi trạng thái sau một thời gian được đưa ra trong một giao diện:
Ưu
- hẹn giờ ra khỏi kệ!
- Tôi có thể tương tác khá nhanh giữa công tắc trên tường và đèn
Nhược điểm
- Mặc dù Domoticz xử lý MQTT, nhưng sẽ có rất nhiều tập lệnh LUA và "chặn" để kết nối các thiết bị
- thời gian có thể không dễ dàng cấu hình ...
at
và atq
at
là một lệnh linux để lập kế hoạch hành động kịp thời, đơn giản như
at [when] < [what]
Ưu
- dịch vụ đa giờ
- dễ sử dụng và gọi
Nhược điểm
- tại chỉ cung cấp một ID duy nhất, trừ khi phân tích cú pháp lệnh theo kế hoạch, tôi không thể đặt tên cho công việc (trừ khi có lệnh linux ma thuật ...)
- do đó tôi cần mã hóa / triển khai công cụ đối sánh công việc bằng cơ sở dữ liệu
Crontab
Crontab là một dịch vụ linux để lên kế hoạch cho các nhiệm vụ lặp đi lặp lại. Trong trường hợp của tôi, nó sẽ là một đơn giản
# check every minute
* * * * * /path/checktimer.sh
Ưu
- Kích hoạt thời gian đáng tin cậy
Nhược điểm
- Không thể quản lý giây ...
- Vẫn bị buộc phải duy trì ở đâu đó một công việc phù hợp
Với câu hỏi của tôi:
- Bạn có phải quản lý bộ hẹn giờ như thế này không?
- Tôi đã bỏ lỡ các giải pháp đáng tin cậy / cấu hình khác?
- Bạn có một ưu tiên với các giải pháp trên?
sleep
có vẻ tệ hơn: bạn chỉ vượt qua một thời gian và nó không trả lại gì cả. Bạn có thể trả lời và đưa ra một ví dụ bằng cách sử dụng jobs
?
sleep
hoặcusleep
để kích hoạt tắt? Đây là chức năng cơ bản bên dưới, và bạn có thể sử dụngjobs
để xử lý các công việc nền (chủ yếu là hủy bỏ kế hoạch tắt nếu tôi hiểu đúng)