2016-04-19 6 views
7

के लिए जांच कर रहा है मैं फिलिप्स ह्यू एसडीके का उपयोग करने वाले ऐप पर काम कर रहा हूं। अगर सूर्यास्त के बाद मैं एक कार्रवाई करना चाहता हूं। ऐसा लगता है कि पुल पर एक सेंसर है जो उपयोगकर्ता वर्तमान में डेलाइट के तहत वास्तविक या गलत लौटा सकता है।फिलिप्स ह्यू एंड्रॉइड एसडीके सूर्यास्त/

मुझे लगता है कि प्रलेखन इस क्षेत्र में थोड़ी कमी है, या कम से कम मुझे यह नहीं मिल रहा है। मुझे http://www.developers.meethue.com/documentation/supported-sensors मिला है लेकिन यह इसका उपयोग करने के बारे में कोई जानकारी नहीं देता है। मुझे मिली एकमात्र अन्य चीज http://www.developers.meethue.com/documentation/java-sdk-getting-started#usingSensors है जो सिर्फ नए सेंसर को कैसे ढूंढती है। मैं सभी सेंसर नहीं चाहता हूं, मैं सिर्फ डेलाइट सेंसर तक पहुंचना चाहता हूं और सिर्फ एक चेक करता हूं यह दिन की रोशनी है और अगर कुछ नहीं करता है।

आपकी सहायता के लिए धन्यवाद।

उत्तर

3

आप पुल पर उचित रूप से JSON मान सेट करके इसे पूरा कर सकते हैं। ब्रिज पर डीबग/क्लिप.html टूल का उपयोग करके इसे कैसे करें। आप इन परिचालनों को करने के लिए ह्यू एपीआई में से एक का भी उपयोग कर सकते हैं, लेकिन डीबग टूल का उपयोग करना बहुत आसान है।

सबसे पहले, अपने स्वयं के लंबे और अक्षांश के साथ डेलाइट सेंसर कॉन्फ़िगर करें (अपडेट करें)। ये मान ओमाहा, एनई के लिए हैं। निर्दिष्ट लेट/लम्बा समन्वय के लिए गणना किए गए सूर्योदय/सूर्यास्त के समय से पहले या बाद में राज्य को बदलने के लिए ऑफसेट को 120 मिनट से कम या घटाया जा सकता है।

/api/<username>/sensors/1/config 

{ 
    "long": "96.0419W", 
    "lat": "41.2647N", 
    "sunriseoffset": 0, 
    "sunsetoffset": 0 
} 

यदि आपको यह सही लगता है, तो state/daylight मान के अनुसार बदलना चाहिए।

/api/<username>/rules 

{ 
    "name": "Turn lights off at sunrise", 
    "conditions": [ 
    { 
     "address": "/sensors/1/state/daylight", 
     "operator": "eq", 
     "value": "true" 
    } 
    ], 
    "actions": [ 
    { 
     "address": "/groups/0/action", 
     "method": "PUT", 
     "body": { 
     "on": false 
     } 
    } 
    ] 
} 

यह नियम सभी रोशनी बारी (समूह 0) जब सेंसर के state/daylight मूल्य सूर्योदय के समय true को flips बंद:

अब, पोस्ट एक नियम यह है कि दिन के उजाले राज्य के आधार पर सक्रिय कर देगा (बनाएँ)। सूर्यास्त पर रोशनी चालू करने के लिए आप दूसरा नियम जोड़ सकते हैं।

+0

धन्यवाद यह उपयोगी है लेकिन मैं एंड्रॉइड – Boardy

+0

के लिए फिलिप्स ह्यू एसडीके में ऐसा करने की तलाश में था जैसा कि मैंने कहा था, आप जावा एपीआई का उपयोग ठीक से करने के लिए कर सकते हैं, बस इन मानों को सेट करने के लिए बनाएं/अपडेट कमांड भेजें। मैं स्वयं और आईओएस डेवलपर हूं, और इसे उद्देश्य-सी में किया है, लेकिन जावा में नहीं, लेकिन यह मुश्किल नहीं है। वैसे भी, 25 अंक के लिए धन्यवाद! –

+0

आरई: "मैं सिर्फ डेलाइट सेंसर तक पहुंचना चाहता हूं और सिर्फ एक चेक करता हूं यह दिन की रोशनी है और अगर कुछ नहीं करता है।" तो, सबसे पहले अपने स्थान के लिए सही अक्षांश और देशांतर के साथ, ऊपर के रूप में डेलाइट सेंसर को कॉन्फ़िगर करें। यह निर्धारित करने के लिए कि क्या यह डेलाइट है,/सेंसर/1/राज्य/डेलाइट पर स्थित बूलियन मान की जांच करें, जैसे कि डेडलाइट = सेंसर [1] .state.daylight; (मैं अभी जावा नहीं चला रहा हूं, लेकिन यह ऐसा कुछ होना चाहिए)। अगर आपको कुछ करने की ज़रूरत है, तो इसे लगातार मतदान करना होगा, अन्यथा पहले जैसा उल्लेख किया गया नियम बनाएं और इसे काम करने दें। –

संबंधित मुद्दे