Tôi đang cố sửa đổi mã homebridge-wink3
để thêm biến để tôi có thể theo dõi trạng thái. Tôi có 5 sắc thái trong nhà, vì vậy mỗi phiên bản của biến cần phải là duy nhất.Xuất Javascript - Khởi tạo Biến/Đối tượng
Trong tệp shade.js
, tệp này có;
exports.default = ({ Characteristic, Service }) => {
return {
type: "shade",
group: "shades",
services: [{
service: Service.WindowCovering,
characteristics: [{
characteristic: Characteristic.TargetPosition,
get: (state, desired_state) => desired_state.position * 100,
Tôi muốn thay đổi get
(và set
ở đâu đó trong code) để nó sử dụng một biến địa phương lastState
để theo dõi trạng thái.
get: (state, desired_state) => {
if (desired_state.position != null) {
lastState = desired_state.position * 100;
}
else if (lastState != undefined) {
desired_state.position = lastState/100;
}
return lastState;
Tôi đã dành giờ cố gắng để làm việc ra làm thế nào để có mã duy trì biến cá nhân mỗi bóng râm (object chẳng hạn), nhưng họ dường như luôn được chia sẻ cùng một ví dụ của biến lastState
.
Tôi cần làm gì ở đây?
Xem https://github.com/sibartlett/homebridge-wink3/blob/master/src/devices/shade.js cho mã.
Bạn đã xác định biến lastState ở đâu? –
@ JorgeFuentesGonzález Hư không. Đó là câu hỏi của tôi. Tôi khai báo ở đâu và như thế nào? Mã được viết bằng ES7 và bản gốc 'exports.default' xuất hiện để trả lại một loạt các tham số (loại, nhóm, dịch vụ []). Tôi cần phải có tham số 'get'/function có quyền truy cập vào một biến cục bộ (trong ví dụ của tôi;' lastState') có thể được thiết lập bởi tham số/hàm 'set'. – mriksman
Tôi không phải là người dùng 'homebridge-wink3', nhưng tôi sẽ cố hết sức để giúp đỡ. Vấn đề là tôi không biết những gì bạn đã thử cho đến nay và tôi không muốn lãng phí thời gian cố gắng để làm điều tương tự bạn đã cố gắng trong nhiều giờ. Suy nghĩ của tôi về điều này thường là những gì phần còn lại của các thành viên StackOverflow nghĩ, vì vậy, những gì bạn đã cố gắng cho đến nay? –