Compare commits

..

19 Commits

Author SHA1 Message Date
Nick Mahon
4cffd91250 MSA-1780: turn off a mains switch (i.e. a light) only when all windows are closed (I used a shop "open" sign by the front door, to remind my housemates to close the windows before they leave) 2017-02-13 07:20:26 -08:00
Vinay Rao
2d82b05f90 Merge pull request #1660 from SmartThingsCommunity/staging
Rolling down staging hotfixes to master
2017-02-09 17:54:06 -06:00
Vinay Rao
1611fd0144 Merge pull request #1640 from skt123/device_filtering_1
[CHANGE-840] Adding new capabilities to DTHs
2017-02-09 17:51:50 -06:00
Vinay Rao
c416c39ac4 Merge pull request #1639 from pchomal/devicefiltering1
[CHANGE-839] Adding New Capabilities (Light & Outlet)
2017-02-09 17:51:19 -06:00
Vinay Rao
bc0f849dad Merge pull request #1655 from SmartThingsCommunity/master
Rolling up master to staging
2017-02-07 14:24:23 -08:00
Vinay Rao
459e69607b Merge pull request #1654 from SmartThingsCommunity/staging
Rolling down staging to master
2017-02-07 14:23:24 -08:00
Juan Pablo Risso
cfdc61d72a DVCSMP-2290 - Ecobee Localization (#1628)
Split Files

Updated
2017-02-07 14:11:38 -06:00
Zach Varberg
0c26d75792 Merge pull request #1652 from varzac/dimmer-fixes
DPROT-242 Properly handle setLevel for zigbee-dimmer
2017-02-07 13:07:30 -06:00
Zach Varberg
bf491270a9 Properly handle setLevel for zigbee-dimmer
This works around a few devices that use this DTH that do not properly
handle the setLevel command.

This resolves: https://smartthings.atlassian.net/browse/DPROT-242
2017-02-07 13:06:26 -06:00
Vinay Rao
871d75aea6 Merge pull request #1650 from larsfinander/DVCSMP-2395_Update_OPenT2T_staging
DVCSMP-2395 Update OpenT2T with bugfixes
2017-02-06 11:44:13 -08:00
Lars Finander
3905d48235 DVCSMP-2395 Update OpenT2T with bugfixes 2017-02-06 12:34:00 -07:00
Vinay Rao
d91c02b970 Merge pull request #1644 from varzac/fix-zigbee-dimmer-set-level
DPROT-238 Fix typo on toInteger zigbee dimmer power
2017-02-03 16:35:48 -08:00
Zach Varberg
e019d22aff Fix typo on toInteger zigbee dimmer power
This relates to: https://smartthings.atlassian.net/browse/DPROT-238
2017-02-03 16:22:20 -06:00
Vinay Rao
900ab9f70e Merge pull request #1638 from dkirker/DEVC-488
DEVC-488 Add fingerprint for DL15S In-wall Switch
2017-02-03 13:53:48 -08:00
Vinay Rao
e8d205c775 Merge pull request #1643 from varzac/fix-zigbee-dimmer-set-level
[DPROT-238] Manually call on with setLevel
2017-02-03 13:14:14 -08:00
Zach Varberg
1800ea2bad Manually call on with setLevel
This is to work around misbehaving devices that don't properly honor the
move to level with on off command.

This resolves: https://smartthings.atlassian.net/browse/DPROT-238
2017-02-03 13:01:05 -06:00
sushant.k1
f164b8832c [CHANGE-840]
Added new capabilities for following DTHs:
1. Dimmer Switch
2. Zigbee RGB Bulb
3. Zigbee Dimmer
2017-02-03 16:33:30 +05:30
piyush.c
2d3fa22e07 [CHANGE-839]
Adding New Capabilities (Light & Outlet) to the DTHs
2017-02-03 16:22:56 +05:30
Donald Kirker
54a4620c9b DEVC-488 Add fingerprint for DL15S In-wall Switch 2017-02-02 22:00:49 -08:00
16 changed files with 169 additions and 162 deletions

View File

@@ -1,145 +0,0 @@
/**
* Aeon Motor Controller
*
* Copyright 2015 Bruce Ravenel
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
* for the specific language governing permissions and limitations under the License.
*
*/
metadata {
definition (name: "Aeon Motor Controller", namespace: "bravenel", author: "Bruce Ravenel") {
capability "Refresh"
capability "Actuator"
capability "doorControl"
capability "Switch"
command "up"
command "down"
command "stop"
// fingerprint inClusters: "0x26,0x32"
}
simulator {
status "up": "command: 2604, payload: FF"
status "down": "command: 2604, payload: 00"
status "stop": "command: 2605, payload: FE"
["FF", "FE", "00"].each { val ->
reply "2001$val,delay 100,2602": "command: 2603, payload: $val"
}
}
tiles {
standardTile("motor", "device.motor", width: 2, height: 2) {
state("stopUp", label:'stop', icon:"st.doors.garage.garage-open", action: 'down', backgroundColor:"#79b821")
state("stopDn", label:'stop', icon:"st.doors.garage.garage-closed", action: 'up', backgroundColor:"#79b821")
state("up", label:'up', icon:"st.doors.garage.garage-opening", action:'stop', backgroundColor:"#ffe71e")
state("down", label:'down', icon:"st.doors.garage.garage-closing", action:'stop', backgroundColor:"#ffe71e")
}
valueTile("energy", "device.energy", decoration: "flat") {
state "default", label:' '
}
standardTile("refresh", "device.switch", inactiveLabel: false, decoration: "flat") {
state "default", label:"", action:"refresh.refresh", icon:"st.secondary.refresh"
}
standardTile("stop", "device.switch") {
state "default", label:"", action: "stop", icon:"http://cdn.device-icons.smartthings.com/sonos/stop-btn@2x.png"
}
standardTile("up", "device.switch") {
state "default", label: "Up", action: "up", icon:"http://cdn.device-icons.smartthings.com/thermostat/thermostat-up@2x.png"
}
standardTile("down", "device.switch") {
state "default", label: "Down", action: "down", icon:"http://cdn.device-icons.smartthings.com/thermostat/thermostat-down@2x.png"
}
}
main(["motor"])
details(["motor", "refresh", "energy", "up", "down", "stop",])
}
// parse events into attributes
def parse(String description) {
def result = []
def cmd = zwave.parse(description, [0x20: 1, 0x26: 3])
if (cmd) {
result = zwaveEvent(cmd)
log.debug("'$description' parsed to $result")
} else {
log.debug("Couldn't zwave.parse '$description'")
}
result
}
def zwaveEvent(physicalgraph.zwave.commands.basicv1.BasicReport cmd) {
motorEvents(cmd)
}
def zwaveEvent(physicalgraph.zwave.commands.basicv1.BasicSet cmd) {
motorEvents(cmd)
}
def zwaveEvent(physicalgraph.zwave.commands.switchmultilevelv3.SwitchMultilevelReport cmd) {
motorEvents(cmd)
}
def motorEvents(physicalgraph.zwave.Command cmd) {
def result = []
def switchEvent = []
if(cmd.value == 0) {switchEvent = createEvent(name: "motor", value: "down", descriptionText: text)}
else if(cmd.value == 254) {
def stopVal = state.up ? "stopUp" : "stopDn"
switchEvent = createEvent(name: "motor", value: stopVal, descriptionText: text)
}
else if(cmd.value == 255) {switchEvent = createEvent(name: "motor", value: "up", descriptionText: text)}
result << switchEvent
}
def refresh() {
zwave.switchMultilevelV1.switchMultilevelGet().format()
}
def up() {
state.up = true
delayBetween([
zwave.basicV1.basicSet(value: 0xFF).format(),
zwave.switchMultilevelV1.switchMultilevelGet().format()
], 1000)
}
def down() {
state.up = false
delayBetween([
zwave.basicV1.basicSet(value: 0x00).format(),
zwave.switchMultilevelV1.switchMultilevelGet().format()
], 1000)
}
def stop() {
delayBetween([
zwave.switchMultilevelV1.switchMultilevelStopLevelChange().format(),
zwave.switchMultilevelV1.switchMultilevelGet().format()
], 1000)
}
def on() {
state.up = true
delayBetween([
zwave.basicV1.basicSet(value: 0xFF).format(),
zwave.switchMultilevelV1.switchMultilevelGet().format()
], 1000)
}
def off() {
state.up = false
delayBetween([
zwave.basicV1.basicSet(value: 0x00).format(),
zwave.switchMultilevelV1.switchMultilevelGet().format()
], 1000)
}

View File

@@ -23,6 +23,7 @@ metadata {
capability "Switch"
capability "Switch Level"
capability "Health Check"
capability "Light"
fingerprint profileId: "C05E", inClusters: "0000,0003,0004,0005,0006,0008,1000", outClusters: "0000,0019"
}

View File

@@ -21,6 +21,7 @@ metadata {
capability "Refresh"
capability "Sensor"
capability "Health Check"
capability "Light"
fingerprint mfr:"0063", prod:"4457", deviceJoinName: "GE In-Wall Smart Dimmer "
fingerprint mfr:"0063", prod:"4944", deviceJoinName: "GE In-Wall Smart Dimmer "

View File

@@ -23,6 +23,8 @@ metadata {
capability "Refresh"
capability "Sensor"
capability "Health Check"
capability "Light"
capability "Outlet"
fingerprint profileId: "0104", inClusters: "0000,0003,0004,0005,0006,0B04,0B05", outClusters: "0019", manufacturer: "CentraLite", model: "3200", deviceJoinName: "Outlet"
fingerprint profileId: "0104", inClusters: "0000,0003,0004,0005,0006,0B04,0B05", outClusters: "0019", manufacturer: "CentraLite", model: "3200-Sgb", deviceJoinName: "Outlet"

View File

@@ -97,7 +97,7 @@ def on() {
}
def setLevel(value) {
zigbee.setLevel(value)
zigbee.setLevel(value) + (value?.toInteger() > 0 ? zigbee.on() : [])
}
/**

View File

@@ -20,6 +20,7 @@ metadata {
capability "Switch"
capability "Switch Level"
capability "Health Check"
capability "Light"
fingerprint profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006, 0008"
@@ -93,7 +94,13 @@ def on() {
}
def setLevel(value) {
zigbee.setLevel(value)
def additionalCmds = []
if (device.getDataValue("model") == "iQBR30" && value.toInteger() > 0) { // Handle iQ bulb not following spec
additionalCmds = zigbee.on()
} else if (device.getDataValue("manufacturer") == "MRVL") { // Handle marvel stack not reporting
additionalCmds = refresh()
}
zigbee.setLevel(value) + additionalCmds
}
/**
* PING is used by Device-Watch in attempt to reach the Device
@@ -103,7 +110,7 @@ def ping() {
}
def refresh() {
zigbee.onOffRefresh() + zigbee.levelRefresh() + zigbee.onOffConfig(0, 300) + zigbee.levelConfig()
zigbee.onOffRefresh() + zigbee.levelRefresh()
}
def configure() {
@@ -113,5 +120,5 @@ def configure() {
sendEvent(name: "checkInterval", value: 2 * 10 * 60 + 1 * 60, displayed: false, data: [protocol: "zigbee", hubHardwareId: device.hub.hardwareID])
// OnOff minReportTime 0 seconds, maxReportTime 5 min. Reporting interval if no activity
zigbee.onOffRefresh() + zigbee.levelRefresh() + zigbee.onOffConfig(0, 300) + zigbee.levelConfig()
refresh() + zigbee.onOffConfig(0, 300) + zigbee.levelConfig()
}

View File

@@ -28,6 +28,7 @@ metadata {
capability "Switch"
capability "Switch Level"
capability "Health Check"
capability "Light"
fingerprint profileId: "0104", inClusters: "0000,0003,0004,0005,0006,0008,0300,0B04,FC0F", outClusters: "0019", manufacturer: "OSRAM", model: "Gardenspot RGB", deviceJoinName: "SYLVANIA Smart Gardenspot mini RGB"
fingerprint profileId: "0104", inClusters: "0000,0003,0004,0005,0006,0008,0300,0B04,FC0F", outClusters: "0019", manufacturer: "OSRAM", model: "LIGHTIFY Gardenspot RGB", deviceJoinName: "SYLVANIA Smart Gardenspot mini RGB"

View File

@@ -29,6 +29,7 @@ metadata {
capability "Switch"
capability "Switch Level"
capability "Health Check"
capability "Light"
attribute "colorName", "string"
command "setGenericName"

View File

@@ -23,6 +23,7 @@ metadata {
fingerprint profileId: "0104", inClusters: "0000, 0003, 0006", outClusters: "0003, 0006, 0019, 0406", manufacturer: "Leviton", model: "ZSS-10", deviceJoinName: "Leviton Switch"
fingerprint profileId: "0104", inClusters: "0000, 0003, 0006", outClusters: "000A", manufacturer: "HAI", model: "65A21-1", deviceJoinName: "Leviton Wireless Load Control Module-30amp"
fingerprint profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006", outClusters: "0003, 0006, 0008, 0019, 0406", manufacturer: "Leviton", model: "DL15A", deviceJoinName: "Leviton Lumina RF Plug-In Appliance Module"
fingerprint profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006", outClusters: "0003, 0006, 0008, 0019, 0406", manufacturer: "Leviton", model: "DL15S", deviceJoinName: "Leviton Lumina RF Switch"
}
// simulator metadata

View File

@@ -26,6 +26,7 @@ metadata {
capability "Refresh"
capability "Switch"
capability "Switch Level"
capability "Light"
attribute "colorName", "string"
command "setGenericName"

View File

@@ -0,0 +1,79 @@
/**
* Turn Off Switch when Windows/Doors closed
*
* Copyright 2017 Nick Mahon
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
* for the specific language governing permissions and limitations under the License.
*
*/
definition(
name: "Turn Off Switch",
namespace: "Nick257b",
author: "Nick Mahon",
description: "Turn off a switch (e.g. a light), when all specified door/window contact sensors closed",
category: "Safety & Security",
iconUrl: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience.png",
iconX2Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png",
iconX3Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png")
preferences {
section("Select the switch to turn off") {
input "theSwitch", "capability.switch", title: "Which switch?", required: true, multiple: false
}
section("when these are ALL closed") {
input "contactSensors", "capability.contactSensor", multiple: true
}
section("Send Push Notification?") {
input "sendPush", "bool", required: false,
title: "Send Push Notification when ALL closed?"
}
}
def installed() {
log.debug "Installed with settings: ${settings}"
initialize()
}
def updated() {
log.debug "Updated with settings: ${settings}"
unsubscribe()
initialize()
}
def initialize() {
subscribe(contactSensors, "contact.closed", contactClosedHandler)
}
def contactClosedHandler(evt)
{
log.trace "evt.name: $evt.value, $evt.deviceId"
if (evt.value == "closed") {
log.debug "isDoorsOpen()? ${isDoorsOpen()}"
def device = contactSensors.find { it.id == evt.deviceId }
if (!isDoorsOpen()) {
def message = "${device.displayName} was closed, switching off light as all other selected contacts sensors also in a closed state."
log.debug (message)
theSwitch.off()
if (sendPush) {
sendPush(message)
}
}
}
}
def isDoorsOpen() {
log.debug "doorss: $contactSensors.currentContact"
doors.findAll{it.currentContact == "open"}
}

View File

@@ -51,7 +51,7 @@ definition(
//Device Inputs
preferences {
section("Allow <PLACEHOLDER: Your App Name> to control these things...") {
section("Allow OpenT2T to control these things...") {
input "contactSensors", "capability.contactSensor", title: "Which Contact Sensors", multiple: true, required: false
input "garageDoors", "capability.garageDoorControl", title: "Which Garage Doors?", multiple: true, required: false
input "locks", "capability.lock", title: "Which Locks?", multiple: true, required: false
@@ -329,34 +329,38 @@ private getDeviceType(device) {
switch (it.name.toLowerCase()) {
case "switch":
deviceType = "switch"
break
case "switch level":
deviceType = "light"
if (caps.any { it.name.toLowerCase() == "power meter" }) {
return deviceType
}
if (caps.any { it.name.toLowerCase() == "switch level" }) {
deviceType = "light"
return deviceType
}
break
case "contact sensor":
deviceType = "contactSensor"
break
return deviceType
case "garageDoorControl":
deviceType = "garageDoor"
break
return deviceType
case "lock":
deviceType = "lock"
break
return deviceType
case "video camera":
deviceType = "camera"
break
return deviceType
case "motion sensor":
deviceType = "motionSensor"
break
return deviceType
case "presence sensor":
deviceType = "presenceSensor"
break
return deviceType
case "thermostat":
deviceType = "thermostat"
break
return deviceType
case "water sensor":
deviceType = "waterSensor"
break
return deviceType
default:
break
}

View File

@@ -20,6 +20,9 @@
* JLH - 02-15-2014 - Fuller use of ecobee API
* 10-28-2015 DVCSMP-604 - accessory sensor, DVCSMP-1174, DVCSMP-1111 - not respond to routines
*/
include 'localization'
definition(
name: "Ecobee (Connect)",
namespace: "smartthings",
@@ -86,7 +89,7 @@ def authPage() {
if (numFound > 0) {
section("") {
paragraph "Tap below to see the list of ecobee sensors available in your ecobee account and select the ones you want to connect to SmartThings."
input(name: "ecobeesensors", title:"Select Ecobee Sensors (${numFound} found)", type: "enum", required:false, description: "Tap to choose", multiple:true, options:options)
input(name: "ecobeesensors", title: "Select Ecobee Sensors ({{numFound}} found)", messageArgs: [numFound: numFound], type: "enum", required:false, description: "Tap to choose", multiple:true, options:options)
}
}
}

View File

@@ -0,0 +1,17 @@
'''Connect your Ecobee thermostat to SmartThings.'''.ar=قم بتوصيل ثرموستات Ecobee بـ SmartThings.
'''You are connected.'''.ar=أنت متصل.
'''Click to enter Ecobee Credentials'''.ar=النقر لإدخال بيانات اعتماد Ecobee
'''Login'''.ar=تسجيل الدخول
'''Tap below to log in to the ecobee service and authorize SmartThings access. Be sure to scroll down on page 2 and press the 'Allow' button.'''.ar=انقر أدناه لتسجيل الدخول إلى خدمة ecobee والمصادقة على الوصول إلى SmartThings. تأكد من التمرير للأسفل على الصفحة ٢ والضغط على زر ”السماح“.
'''Select Your Thermostats'''.ar=تحديد الثرموستات
'''Tap below to see the list of ecobee thermostats available in your ecobee account and select the ones you want to connect to SmartThings.'''.ar=انقر أدناه لرؤية قائمة أجهزة ثرموستات ecobee المتوفرة في حساب ecobee، وحدد الأجهزة التي ترغب في توصيلها بـ SmartThings.
'''Tap to choose'''.ar=النقر لاختيار
'''Tap below to see the list of ecobee sensors available in your ecobee account and select the ones you want to connect to SmartThings.'''.ar=انقر أدناه لرؤية قائمة مستشعرات ecobee المتوفرة في حساب ecobee، وحدد الأجهزة التي ترغب في توصيلها بـ SmartThings.
'''Select Ecobee Sensors ({{numFound}} found)'''.ar=تحديد مستشعرات Ecobee ({{numFound}} found)
'''Your ecobee Account is now connected to SmartThings!'''.ar=حساب ecobee متصل الآن بـ SmartThings!
'''Click 'Done' to finish setup.'''.ar=انقر فوق ”تم“ لإنهاء الإعداد.
'''The connection could not be established!'''.ar=يتعذر إنشاء الاتصال!
'''Click 'Done' to return to the menu.'''.ar=انقر فوق ”تم“ للعودة إلى القائمة.
'''{{deviceName}} is connected to SmartThings'''.ar={{deviceName}} متصل بـ SmartThings
'''{{deviceName}} is disconnected from SmartThings, because the access credential changed or was lost. Please go to the Ecobee (Connect) SmartApp and re-enter your account login credentials.'''.ar=تم قطع اتصال {{deviceName}} بـ SmartThings، لأن بيانات اعتماد الوصول قد تغيرت أو فُقدت. يُرجى الانتقال إلى التطبيق الذكي Ecobee (Connect) وإعادة إدخال بيانات اعتماد تسجيل الدخول إلى حسابك.
'''Your Ecobee thermostat'''.ar=ثرموستات Ecobee

View File

@@ -0,0 +1,17 @@
'''Connect your Ecobee thermostat to SmartThings.'''.th=เชื่อมต่อตัวควบคุมอุณหภูมิ Ecobee ของคุณเข้ากับ SmartThings
'''You are connected.'''.th=คุณได้เชื่อมต่อแล้ว
'''Click to enter Ecobee Credentials'''.th=คลิกเพื่อใส่ ข้อมูลยืนยันตัวตน Ecobee
'''Login'''.th=เข้าสู่ระบบ
'''Tap below to log in to the ecobee service and authorize SmartThings access. Be sure to scroll down on page 2 and press the 'Allow' button.'''.th=แตะด้านล่างเพื่อเข้าสู่บริการ Ecobee และอนุญาตการเข้าถึงของ SmartThings ดูให้แน่ใจว่าได้เลื่อนลงมาที่หน้า 2 แล้วกดปุ่ม 'อนุญาต'
'''Select Your Thermostats'''.th=เลือกตัวควบคุมอุณหภูมิของคุณ
'''Tap below to see the list of ecobee thermostats available in your ecobee account and select the ones you want to connect to SmartThings.'''.th=แตะที่ด้านล่างเพื่อดูรายการตัวควบคุมอุณหภูมิ Ecobee ที่มีอยู่ในบัญชีผู้ใช้ Ecobee ของคุณ และเลือกตัวควบคุมอุณหภูมิที่คุณต้องการจะเชื่อมต่อกับ SmartThings
'''Tap to choose'''.th=แตะเพื่อเลือก
'''Tap below to see the list of ecobee sensors available in your ecobee account and select the ones you want to connect to SmartThings.'''.th=แตะที่ด้านล่างเพื่อดูรายการเซ็นเซอร์ Ecobee ที่มีอยู่ในบัญชีผู้ใช้ Ecobee ของคุณ และเลือกเซ็นเซอร์ที่คุณต้องการจะเชื่อมต่อกับ SmartThings
'''Select Ecobee Sensors ({{numFound} found)'''.th=เลือกเซ็นเซอร์ Ecobee ({{numFound}} found)
'''Your ecobee Account is now connected to SmartThings!'''.th=ตอนนี้บัญชีผู้ใช้ Ecobee ของคุณเชื่อมต่อกับ SmartThings แล้ว
'''Click 'Done' to finish setup.'''.th=คลิก 'เสร็จสิ้น' เพื่อทำการตั้งค่าให้เสร็จสิ้น
'''The connection could not be established!'''.th=ไม่สามารถสร้างการเชื่อมต่อได้!
'''Click 'Done' to return to the menu.'''.th=คลิก 'เสร็จสิ้น' เพื่อกลับไปยังเมนู
'''{{deviceName}} is connected to SmartThings'''.th={{deviceName}} เชื่อมต่อกับ SmartThings แล้ว
'''{{deviceName}} is disconnected from SmartThings, because the access credential changed or was lost. Please go to the Ecobee (Connect) SmartApp and re-enter your account login credentials.'''.th={{deviceName}} ถูกตัดการเชื่อมต่อจาก SmartThings เนื่องจากข้อมูลการเข้าถึงถูกเปลี่ยนแปลงหรือหายไป กรุณาไปที่ Ecobee (การเชื่อมต่อ) SmartApp และใส่ข้อมูลยืนยันตัวตนการเข้าสู่บัญชีผู้ใช้ของคุณอีกครั้ง
'''Your Ecobee thermostat'''.th=ตัวควบคุมอุณหภูมิ Ecobee ของคุณ

View File

@@ -0,0 +1,17 @@
'''Connect your Ecobee thermostat to SmartThings.'''.tr=Ecobee termostatınızı SmartThings'e bağlayın.
'''You are connected.'''.tr=Bağlantı kurdunuz.
'''Click to enter Ecobee Credentials'''.tr=Ecobee Kimlik Bilgilerinizi girmek için tıklayın
'''Login'''.tr=Oturum aç
'''Tap below to log in to the ecobee service and authorize SmartThings access. Be sure to scroll down on page 2 and press the 'Allow' button.'''.tr=Ecobee servisinde oturum açmak ve SmartThings erişimine izin vermek için aşağıya dokunun. Ekranı 2. sayfaya kaydırdığınızdan emin olun ve 'İzin Ver' tuşuna basın.
'''Select Your Thermostats'''.tr=Termostatlarınızı Seçin
'''Tap below to see the list of ecobee thermostats available in your ecobee account and select the ones you want to connect to SmartThings.'''.tr=Ecobee hesabınızda mevcut olan ecobee termostatlarının listesini görüntülemek için aşağıya dokunun ve SmartThings'e bağlamak istediklerinizi seçin.
'''Tap to choose'''.tr=Seçmek için dokunun
'''Tap below to see the list of ecobee sensors available in your ecobee account and select the ones you want to connect to SmartThings.'''.tr=Ecobee hesabınızda mevcut olan ecobee sensörlerinin listesini görüntülemek için aşağıya dokunun ve SmartThings'e bağlamak istediklerinizi seçin.
'''Select Ecobee Sensors ({{numFound}} found)'''.tr=Ecobee Sensörlerini seçin ({{numFound}} bulundu)
'''Your ecobee Account is now connected to SmartThings!'''.tr=Ecobee Hesabınız artık SmartThings'e bağlandı!
'''Click 'Done' to finish setup.'''.tr=Kurulumu bitirmek için 'Bitti' öğesine tıklayın.
'''The connection could not be established!'''.tr=Bağlantı kurulamadı!
'''Click 'Done' to return to the menu.'''.tr=Menüye dönmek için 'Bitti' öğesine tıklayın.
'''{{deviceName}} is connected to SmartThings'''.tr={{cihazİsmi}} SmartThings'e bağlandı
'''{{deviceName}} is disconnected from SmartThings, because the access credential changed or was lost. Please go to the Ecobee (Connect) SmartApp and re-enter your account login credentials.'''.tr=Ecobee termostatınız
'''Your Ecobee thermostat'''.tr=Ecobee termostatınız