मैं एक चर जोड़ने के लिए homebridge-wink3
कोड को संशोधित करने का प्रयास कर रहा हूं, इसलिए मैं राज्य को ट्रैक कर सकता हूं। मेरे घर में 5 रंग हैं, इसलिए चर के प्रत्येक उदाहरण को अद्वितीय होना चाहिए।जावास्क्रिप्ट निर्यात - इंस्टेंटिएट वैरिएबल/ऑब्जेक्ट्स
shade.js
फ़ाइल में, यह है;
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,
मैं बदलना चाहते हैं get
(और set
कोड में कहीं) तो यह स्थिति को ट्रैक करने के लिए एक स्थानीय चर lastState
उपयोग करता है।
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;
मैं घंटे खर्च किया है बाहर काम करने के लिए कैसे कोड छाया प्रति व्यक्ति चर (वस्तु दृष्टान्त) को बनाए रखने के लिए कोशिश कर रहा है, लेकिन वे हमेशा lastState
चर का एक ही उदाहरण साझा करने लगते हैं।
मुझे यहां क्या करने की ज़रूरत है?
कोड के लिए https://github.com/sibartlett/homebridge-wink3/blob/master/src/devices/shade.js देखें।
आपने अंतिमस्टेट चर परिभाषित किया है? –
@ JorgeFuentesGonzález कहीं भी नहीं। यही मेरा सवाल पूछ रहा है। मैं कहां और कैसे घोषित करूं? कोड ES7 में लिखा गया है, और मूल 'export.default' पैरामीटर (प्रकार, समूह, सेवाएं []) का एक गुच्छा वापस करने के लिए प्रतीत होता है। मुझे 'get' पैरामीटर/फ़ंक्शन को स्थानीय चर (मेरे उदाहरण में;' lastState') तक पहुंच की आवश्यकता है जिसे 'set' पैरामीटर/फ़ंक्शन द्वारा सेट किया जा सकता है। – mriksman
मैं 'होमब्रिज-विंक 3' उपयोगकर्ता नहीं हूं, लेकिन मैं मदद करने के लिए अपनी पूरी कोशिश करूंगा। समस्या यह है कि मुझे नहीं पता कि आपने अभी तक क्या प्रयास किया है और मैं वही काम करने की कोशिश कर रहा हूं जो आपने घंटों तक करने की कोशिश की है। इसके बारे में मेरी सोच आमतौर पर बाकी स्टैक ओवरफ्लो सदस्यों के बारे में सोचती है, तो, आपने अभी तक क्या प्रयास किया है? –