반응형

 

 

 

 

6월 업데이트에 삼성 기본 시계앱 알람에서 쓰이는 "공휴일 제외" 기능이 SmartThings에 도입되었습니다.

 

아주 반가운 소식이였습니다.

 

Rules API 문서에도 enum이 추가되었죠

 

https://developer.smartthings.com/docs/api/public#tag/Rules/operation/createRule

API | Developer Documentation | SmartThings

SmartThings Public API

developer.smartthings.com

actions -> if -> equals -> left던 righte 던 같음 -> date -> reference에 가보면 Holiday가 있는것을 볼 수 있습니다.

 

앱에선 공휴일 제외로만 쓸수있습니다.

현재 공휴일 제외로 만들면 룰이 cloud룰로만 만들수 있습니다.

 

그래서!!!

공휴일에도 조건으로 쓰고? 아닐때도 조건으로 쓸수있으면서 로컬룰로도 만들수있는

공휴일 스위치를 만들어보았습니다.

 

1. 준비물은

로컬 가상 스위치 만들기

- 안드로이드는 실험실에서 허브지정해서 만들기

- iOS는 https://cli.weekendproject.net/virtual/ 를 통해서 또는 https://my.smartthings.com/advanced/devices

에서 Switch를 생성하면됩니다.
 

가상스위치 생성방법들에 대한건 이건 따로 게시물이 있어서 링크걸면 좋겠네요 추후 시간나면 만들어볼게요 ㅠㅠ

이미 링크있으면 알려주시면 감사하겠습니다.

 

여튼 가상스위치를 하나 만들고!!

해당 스위치의 deviceId를 https://my.smartthings.com/advanced/devices 에서 복사해옵니다.

https://my.smartthings.com/advanced/rules 로 이동해서 + Add a new Rule을 클릭합니다.

상세 방법은 https://cafe.naver.com/dothesmartthings/27 여기를 참고해주세요

 

간단히 룰을 설명하면 아래와 같습니다.

매일 00:01에

오늘이 공휴일이면 ->공휴일 가상스위치 ON

오늘이 공휴일이 아니면 -> 공휴일 가상스위치 OFF

 

복사한 deviceID를 아래 {{공휴일가상스위치 DeviceID}} 대신에 "deviceId" 를 넣어서 생성하시면 됩니다.

[
  {
    "every": {
      "specific": {
        "reference": "Midnight",
        "offset": {
          "value": {
            "integer": 1
          },
          "unit": "Minute"
        }
      },
      "actions": [
        {
          "if": {
            "equals": {
              "left": {
                "date": {
                  "reference": "Today"
                }
              },
              "right": {
                "date": {
                  "reference": "Holiday"
                }
              }
            },
            "then": [
              {
                "command": {
                  "devices": [
                    {{공휴일가상스위치 DeviceID}}
                  ],
                  "commands": [
                    {
                      "component": "main",
                      "capability": "switch",
                      "command": "on"
                    }
                  ]
                }
              }
            ],
            "else": [
              {
                "command": {
                  "devices": [
                    {{공휴일가상스위치 DeviceID}}
                  ],
                  "commands": [
                    {
                      "component": "main",
                      "capability": "switch",
                      "command": "off"
                    }
                  ]
                }
              }
            ]
          }
        }
      ]
    }
  }
]
 

자정 +1분을 한 이유는... 자정에 혹시 안될까바 ㅎㅎ 1분 추가를 했어요

 

이제 이렇게 가상스위치를 만들어두고 앱에서 제외뿐만 아니라 공휴일일때도 조건으로 활용 할 수 있겠죠?

 

 

 

문의사항은 https://cafe.naver.com/dothesmartthings/270 여기 댓글로 주세요!

 

 

반응형
반응형

 

 

 

https://cli.weekendproject.net

WEB CLI도 기본은 다갖추게되었으니

WEB CLI를 이용한 팁을 하나씩 올려보려고 합니다.

 

오늘의 예제는

테슬라에서 가장 많은 command를 쓰는 Sentry mode를 Capability로 만들어 보겠습니다

Sentry mode는 테슬라에서 감시모드 켜기 끄기입니다. 아래의 기기를 만들어보겠습니다

 

 

Switch랑 똑같습니다. 다만 보이는 글씨가 달라야겠죠???

 

1. Capability 만들기

우선 Web cli로 이동합니다

https://cli.weekendproject.net/capability/

 

Standard Capabilities drop box를 누르면 switch의 schema를 볼수있습니다.

여기서 swith에 해당하는 부분을 Sentry mode로 바꾸고 attribute도 바꿉니다

 

오른쪽 처럼 바꿨습니다. 

노란색 음영처리한것처럼요 참쉽죠?

id : swtich를 빼고 생성합니다

아 !! 그리고 팁하나 드리면

name 과 capabilityId의 규칙

 

띄어쓰기 기준으로 대소문자가 결정되요

첫글짜는 무조건 소문자 띄어쓰기 다음부터 대문자

Sentry Mode 라고 하면 capability는 sentryMode

SentryMode 라고 하면 capability는  sentrymode 

 

 이렇게 되니 참고하세요 저는 standard 규칙에 맞게 Sentry Mode로 생성해보았습니다

 

그리고 Create!!!

참고로  id: Switch는 안지워도 무시되요^^

결과는 아래 나오고 

 

이렇게 생성되었습니다.

id는 namespace.CapabiltityId로 생성됩니다.  namespace는 랜덤이지만 자기꺼는 계속 동일합니다.

{
  "id": "samplecircle50208.sentryMode",
  "version": 1,
  "status": "proposed",
  "name": "Sentry Mode",
  "ephemeral": false,
  "attributes": {
    "sentry": {
      "schema": {
        "type": "object",
        "properties": {
          "value": {
            "title": "SentryState",
            "type": "string",
            "enum": [
              "enabled",
              "disabled"
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "value"
        ]
      },
      "enumCommands": [
        {
          "command": "enable",
          "value": "enabled"
        },
        {
          "command": "disable",
          "value": "disabled"
        }
      ]
    }
  },
  "commands": {
    "disable": {
      "name": "disable",
      "arguments": []
    },
    "enable": {
      "name": "enable",
      "arguments": []
    }
  }
}
 
 
 
2. Capability translation 만들기
 

동일하게 아래 쪽에 Translations라고 있습니다

이건 꼭해주세요 command가 지금 안만들어지는 버그가있는데 수동으로  해줘야합니다

어떻게? 모르겠죠? 그럼 다시 switch를 조회해봅니다 ㅎㅎ

방법은 다시 위로 올라가서 Standard Capabilities에서 Switch 선택 -> Retrieve 클릭 -> Translations의 My locales에 en 클릭 

저부분을 복사해와서 제 입맛에 맞게 수정합니다!! 그리고 Create or Update 클릭

그리고 하는김에 한국어도!!! tag에 ko로 바꿔주시면됩니다.

 

참쉽죠? 이제 capability는 준비가 다끝났습니다

 

마지막 관문!!!

 

3. Capability presentation 만들기

이것은 세가지 섹션으로 나뉘어있습니다

dashboard - 첫 기기 카드에서 보일것에 대한 정의

detailview - 기기 카드를 클릭했을때 보이는것에 대한 정의

automation - automation에서 조건과 동작에 쓰일것들에 대한 정의

 

https://cli.weekendproject.net/capabilityPresentation/

여기로 이제 이동합니다

여기로 가면 My Capabilities를 클릭하면 방금 만든 나의 custom capability가 보일거에요 선택해줍니다

 

그럼 맨아래 Result에서 아래와 같은 문구가 나와요 없대요 presentation이 ㅠㅠ

"error":{"code":"4040000","message":"Capability Presentation is not found for id : samplecircle50208.sentryMode, version : 1","details":[]}

 

근데 어떻게? 나할줄모르는데 ㅠㅠ

Standard Capabilities가보이죠? 거기서 우리가 참고한 switch를 선택해줍니다!!!

 

또 열심히 제입맛에 맞게 Sentry모드랑 요것저것 수정을 합니다

 

근데 i18n저기뭔지 모르겠쬬?

저도 설명하기 어려우니 전 후를 보시고 터득하세요^^ ;;

본인하시다가 모르시면 답변드릴게요 저도 다아는건아니라 공부해서라도 알려드리겠습니다

switch sentryMode
{
  "dashboard": {
    "states": [
      {
        "label": "{{switch.value}}",
        "alternatives": [
          {
            "key": "on",
            "value": "{{i18n.attributes.switch.i18n.value.on.label}}",
            "type": "active"
          },
          {
            "key": "off",
            "value": "{{i18n.attributes.switch.i18n.value.off.label}}",
            "type": "inactive"
          }
        ]
      }
    ],
    "actions": [
      {
        "displayType": "standbyPowerSwitch",
        "standbyPowerSwitch": {
          "command": {
            "on": "on",
            "off": "off"
          },
          "state": {
            "value": "switch.value",
            "on": "on",
            "off": "off"
          }
        }
      }
    ],
    "panelItems": []
  },
  "detailView": [
    {
      "label": "{{i18n.label}}",
      "displayType": "standbyPowerSwitch",
      "standbyPowerSwitch": {
        "command": {
          "on": "on",
          "off": "off"
        },
        "state": {
          "value": "switch.value",
          "on": "on",
          "off": "off",
          "label": "{{switch.value}}",
          "alternatives": [
            {
              "key": "on",
              "value": "{{i18n.attributes.switch.i18n.value.on.label}}",
              "type": "active"
            },
            {
              "key": "off",
              "value": "{{i18n.attributes.switch.i18n.value.off.label}}",
              "type": "inactive"
            }
          ]
        }
      }
    }
  ],
  "automation": {
    "conditions": [
      {
        "label": "{{i18n.label}}",
        "displayType": "list",
        "list": {
          "alternatives": [
            {
              "key": "on",
              "value": "{{i18n.attributes.switch.i18n.value.on.label}}",
              "type": "active"
            },
            {
              "key": "off",
              "value": "{{i18n.attributes.switch.i18n.value.off.label}}",
              "type": "inactive"
            }
          ],
          "value": "switch.value",
          "multiSelectable": false
        },
        "emphasis": true
      }
    ],
    "actions": [
      {
        "label": "{{i18n.label}}",
        "displayType": "list",
        "list": {
          "alternatives": [
            {
              "key": "on",
              "value": "{{i18n.commands.on.label}}",
              "type": "active"
            },
            {
              "key": "off",
              "value": "{{i18n.commands.off.label}}",
              "type": "inactive"
            }
          ]
        },
        "emphasis": true
      }
    ]
  },
  "id": "switch",
  "version": 1
}
{
  "dashboard": {
    "states": [
      {
        "label": "{{sentry.value}}",
        "alternatives": [
          {
            "key": "enabled",
            "value": "{{i18n.attributes.sentry.i18n.value.enabled.label}}",
            "type": "active"
          },
          {
            "key": "disabled",
            "value": "{{i18n.attributes.sentry.i18n.value.disabled.label}}",
            "type": "inactive"
          }
        ]
      }
    ],
    "actions": [
      {
        "displayType": "standbyPowerSwitch",
        "standbyPowerSwitch": {
          "command": {
            "on": "enable",
            "off": "disable"
          },
          "state": {
            "value": "sentry.value",
            "valueType": "string",
            "on": "enabled",
            "off": "disabled"
          }
        }
      }
    ],
    "panelItems": []
  },
  "detailView": [
    {
      "label": "{{i18n.label}}",
      "displayType": "standbyPowerSwitch",
      "standbyPowerSwitch": {
        "command": {
          "on": "enable",
          "off": "disable"
        },
        "state": {
          "value": "sentry.value",
          "valueType": "string",
          "on": "enabled",
          "off": "disabled",
          "label": "{{sentry.value}}",
          "alternatives": [
            {
              "key": "enabled",
              "value": "{{i18n.attributes.sentry.i18n.value.enabled.label}}",
              "type": "active"
            },
            {
              "key": "disabled",
              "value": "{{i18n.attributes.sentry.i18n.value.disabled.label}}",
              "type": "inactive"
            }
          ]
        }
      }
    }
  ],
  "automation": {
    "conditions": [
      {
        "label": "{{i18n.label}}",
        "displayType": "list",
        "list": {
          "alternatives": [
            {
              "key": "enabled",
              "value": "{{i18n.attributes.sentry.i18n.value.enabled.label}}",
              "type": "active"
            },
            {
              "key": "disabled",
              "value": "{{i18n.attributes.sentry.i18n.value.disabled.label}}",
              "type": "inactive"
            }
          ],
          "value": "sentry.value",
          "valueType": "string",
          "multiSelectable": false
        },
        "emphasis": false
      }
    ],
    "actions": [
      {
        "label": "{{i18n.label}}",
        "displayType": "list",
        "list": {
          "alternatives": [
            {
              "key": "enable",
              "value": "{{i18n.commands.enable.label}}",
              "type": "active"
            },
            {
              "key": "disable",
              "value": "{{i18n.commands.disable.label}}",
              "type": "inactive"
            }
          ]
        },
        "emphasis": false
      }
    ]
  },
  "id": "samplecircle50208.sentryMode",
  "version": 1
}

 

 

이제 모든게 완성되었습니다

 

4. 확인 방법!!!

https://cli.weekendproject.net/virtual/

Virtual device로 이동합니다.

Location Room Device Label을 적으시고

 

저 밑에 밑에 Create by custom Profile로 가봅니다

형광팬 칠한걸 체크해주고 Category는 자기맘대로 하시고 저는 Car

그리고 복수로 체크해도되지만 SentryMode만 가지고있는 기기를 만들어보겠습니다

체크한 순서대로 Capability가 정의되니 참고해주세요

 

만들고 나면 아래와 같이 생성이 됩니다

 

자앱으로 가볼까요? 잘생성되었습니다. command도 잘됩니다.

 

 

번역도 잘되고 자동화에서 조건 동작에도 원하는데로 잘 나오는것을 확인하실 수 있습니다.

 

피드백은 Do the SmartThings cape에 와서 주시면 더욱 감사하겠습니다!!

https://cafe.naver.com/dothesmartthings/193

반응형
반응형


https://youtube.com/shorts/5xBf2A_Ffl8?si=C9vo6gsfhaTspoht



방법은 카페에 공유했어요!!!

https://cafe.naver.com/dothesmartthings/37?tc=shared_link

아카라 큐브로 갤럭시 홈 미니 동요 재생하기

대한민국 모임의 시작, 네이버 카페

cafe.naver.com


반응형
반응형

 

 

 

며칠전 Philps hue 

탭 다이얼이 SmartThings matter에 연동된다는 소식을 듣고 

 

[New Release] - SmartThings Philips Hue Edge LAN driver now supports additional Hue device types - Announcements - SmartThings Community 

https://community.smartthings.com/t/new-release-smartthings-philips-hue-edge-lan-driver-now-supports-additional-hue-device-types/283898

 

[New Release] - SmartThings Philips Hue Edge LAN driver now supports additional Hue device types

Hey everyone! We are adding support for the following Philips Hue devices to the existing SmartThings Hue LAN Edge Driver: Dimmer switch Tap dial switch Smart button Motion sensor Contact sensor In-wall switch module Smart plug Compound lights (Dymera indo

community.smartthings.com

 

 

설레발 치며 카페에 글을 올렸었는데

https://cafe.naver.com/dothesmartthings/92

 

필립스 휴 탭 다이얼 SmartThings matter 지원

[New Release] - SmartThings Philips Hue Edge LAN driver now supports additional Hue device types ...

cafe.naver.com

 

 

실제로 동작을 안하더라 그리고 그땐 버튼 4개로 온보딩됬는데

다시해보니 1개로 dimmer switch처럼 되는것 확인함

 

아직 matter로 연동하는 방법에 대해서 포스팅을 자세히 한게 없어서 연차에 컴퓨터앞에 앉음

 

방법은 간단합니다.

 

1. Hue app 으로 갑니다 가서 아래 스샷 순서대로 맨마지막  페어링 코드까지 간다음에 종료

 

 

 

2. SmartThings 앱으로 이동하여 기기 탭으로 이동해서 + 기기 추가 아래 스샷들을 보고 쭉쭉 해나가면됩니다.

 

안드로이드로 온보딩중에 잘안되서 실제로는 저는 아이패드로 했더니 한방에 됬어요

안되면 끝없이 안되니 ㅠㅠ 스트레스 받을수 있음 주의

이런 사용성이 개선되야 ST 사람들이 안떠나는데 ㅠㅠ

 

 

다른건 특별하지 않고 Hue tab dial이 궁금했던건데 4버튼으로 등록되고 노브는 아직 입니다.

잘동작되는 것 확인 하였습니다

 

 

 

마지막 로컬로 룰생성 잘되는것도 확인 완료!

 

 

SmartThings 전용 카페!!! 놀러오세요!!!

Do the SmartThings https://cafe.naver.com/dothesmartthings

 

Philips hue x SmartThings matter 연결(with Hue tab dial)

블로그: https://blog.weekendproject.net/277 며칠전 Philps hue 탭 다이얼이 SmartThings matter에 연동된다는 소식을 듣고 ...

cafe.naver.com

 

반응형
반응형

 

 

 

Rules API 를 사용하려면~~~

 

문서는 아래

https://developer.smartthings.com/docs/automations/getting-started-with-automations

 

Getting Started with Automations | Developer Documentation | SmartThings

Automations allow you to create powerful routines, incorporating Devices and Connected Services that are on the SmartThings Platform. The different types of Automations you can create are outlined below.

developer.smartthings.com

https://developer.smartthings.com/docs/automations/rules

 

Rules | Developer Documentation | SmartThings

Visit the Rules API documentation to learn more about the Rules API calls available to you.

developer.smartthings.com

https://developer.smartthings.com/docs/automations/scenes

 

Scenes | Developer Documentation | SmartThings

Scenes are used to simultaneously set a group of Devices to a particular state. Scenes do not have triggers, and are activated either by tapping the Scene in a SmartThings client (such as the SmartThings app) or by using the Scenes API.

developer.smartthings.com

 

postman을 직접 쓰거나 cli를 통해서 생성 및 편집 삭제를 했었어야 했다

동그라미 창고 블로그에 가면 다양한 방법들이 소개되어있으니 여기를 참고하세요 

https://thelightway.tistory.com/5

 

 

근데 SmartThings web에서 그나마 간편하게  rules api를 추가 삭제 편집을 할수 있게 제공을 해주고있다.

룰루해피님이 알려주셔서 나도 얼마전에 알았다... 

 

방법은 아래 링크로 진입해서

https://my.smartthings.com/advanced/rules

 

삼성계정

하나의 계정으로, 모든 기기에서, 나만을 위한 서비스를! 삼성 계정에 로그인하세요.

account.samsung.com

 

"+ Add a new Rule" 을 클릭해서

 

payload를 쉽게 붙여서 추가 가능하다.

 

만들고 나면 바로 목록에서 보여지고 아래처럼 SOURCE에서 API로 표시된다 삭제도 가능 편집도 가능

 

다만 불편한점은 기기의 id를 다 따와야한다는건데... 

기존 CLI보단 그래도 편하다

 

점점 발전하길 기대해본다!!!

반응형
반응형

 

 

 

VOC Top

 

"온도 조건이 맞는데도 에어컨이 안켜졌어요"

 

"새벽에 온도가 분명 조건에 맞게 떨어져있는데 난방이 동작 안했어요"

 

"될때도있고 안될때도 있어요~ "

 

계절마다 카페에 올라오는 질문들

 

이 질문들의 공통점은 "특정 시간 동안"  조건을 쓰는 자동화이다.

 

 

다 비슷하니 난방으로 예를 들자

유저가 이렇게 만들었다

 

새벽 2시에서 5시 사이에 거실 온도가 18도 이하로 떨어지고 난방이 꺼져있다면(선행)?

거실 난방 켜고 난방 온도를 22도로 설정해라

 

유저왈 : "위와같이 만들었는데 새벽에 분명 온도가 17도였는데도 동작을 안해서 얼어죽을뻔했어요. 근데 이게 항상 안되는건 아니에요"

 

그래서 확인해보니 거실 온도 상황을 타임라인으로 보여주면 아래와 같다

 

1. 00:00 - 거실 어웨어 19도

2. 01:00 - 거실 어웨어 18도

3. 01:30 - 거실 어웨어 17도

4. 02:00 - 거실 어웨어 16도

5. 03:00 - 거실 어웨어 15도

5. 05:00 - 거실 어웨어 14도

 

조건이 만족하려면 2시에서 5시 사이에 온도가 18도 이상에서 18도 미만으로 떨어지는 트리거가 있어야한다.

이 자동화에서 트리거는 2번에서 3번일때가 트리거이다 하지만 시간은 2시 이전이다 -> 조건 만족 하지않았다.

2시에 도달해도 트리거는 되지않는다 시간대는 트리거가 아닌 선행조건이다.

 

맞다.. 어렵다 어렵긴 어렵다... 

우선 이해를 위해 설명을 했고

 

그래서 기존에는 저거말고 하나더 만들라고 가이드 했었다.

아래처럼 특정시간에 조건이 만족하면 ~~ 으로 하나 더 만들라고..

이 얼마나 구리고 불편한 일인가?

 

 

 

우선 "특정 시간 동안" 동작 원리에 대해서는 설명을 다했다

 

 

하나더 룰을 만들라고 하는걸 이해못하는분들이 많았다

그래서 SmartThings에서는 이번 앱 업데이트때 요런 옵션을 제공해주었다.

바로 "시작 시간에 실행" 옵션

 

이렇게 해서 만들면 위에 예시로 하나더 만들라고 했던 "~~보조" 룰에 해당하는 것을 쉽게 제공해주고 있다.

아주 칭찬하는 기능이다!!!

지정하고 나면 카드에 아래와 같은 설명이 붙는다

"시작 시간에 다른 조건을 만족하면 루틴을 실행합니다."

 

 

 

=============================================================================

예상 질문???

 

여기서 유저들은 의문을 가질것이다

기본으로 제공해주면 안되나? 왜 불편하게 저렇게 했지?

아주 옛날 Rules API 이전 OCF 시절 룰에서는 저동작이 기본이였다.

지금 바꿔버리면 기존에 Rules api로 만든 룰들이 동작이 기대와 달라질수가있기 때문에 기본으로 제공 안했는것으로 보인다.

 

그때의 VOC는 지금 VOC의 반대의 상황들이 나오기 시작했다

왜 시작에 트리거가 되느냐? 가 포인트다. 

 

대표적인 예시는 아래와 같다

 

조건

시간대 오후 5시~ 오후 7시

멤버위치 내가 집이면

 

동작

조명을 켜줘

 

과거의 유저의 VOC : "주말에 집에 가만히 있었는데 5시에 조명이 켜졌어요"

 

과거의 동작은 5시에도 트리거가되어 이미 집에 있는상태이니 조건을 만족해서 동작했던것이다.

5시 에서 9시 사이 계속 집에 있었으니....

 

 

이제 특정 시간대에 대해 충분히 이해 됬을거라고 생각됨..

그래도 이해안가면 댓글주세요!!!

반응형
반응형

 

2017년도 부터 함께했던 모두의 스마트홈에서 생활을 만 7년 넘게 활동했는데

 

SmartThings 전용 카페가 없다는 아쉬움이 있던 참에

이번에 자동화 QR 공유기능을 제공함에 있어서 QR 코드들을 한곳에 모아서 관리되면 미래에 좋겠다는 생각을 했습니다.

 

그래서 전용 SmartThings 카페를 오픈하였습니다.

 

많은분들이 와서 QR 공유도하고 SmartThings에 대한  VOC 및 제안들을 올려서 발전해 나갔으면 좋겠습니다.

 

https://cafe.naver.com/dothesmartthings/

 

Do the SmartThings (... : 네이버 카페

SmartThings 커뮤니티 자동화와 그외 SmartThings에 관한 정보 공유

cafe.naver.com

 

많이들 와주세요!!

반응형
반응형

※ 직접 구매하고 사용한 후기입니다.

 

 

Tesla 포스팅할게 많지만 우선 요내용부터 포스팅 시작

 

Aqara에서 Tesla를 연동했다는 소식을 듣고 바로 연동을 해봄

단 서버를 중국 본토로 해야지만 가능함

 

근데 Tesla는 공식으로 API를 오픈한적은 없는데 아카라가 테슬라랑 협업해서 한건지 독자적으로 논오피셜 api로 쓴건지 궁금하긴한데

 

 

여튼 연동 잘됨

조건으로 안되고 동작으로 사용가능

 

 

 저는 버튼을 현관에 두고 출근할때 누루고 나가면 차가 시원해져있겠죠? 

 

SmartThings에도 Tesla 연동 되면 좋겠네요 ㅠㅠ

 

반응형
반응형

※ 직접 구매하고 사용한 후기입니다.

 

 

작성일 : 2022.09.14 기준

IoT는 시작을 직접 해봐야 그 매력을 느끼는 분야인데

아직 많은 사람들이 굳이? 란 생각을 많이 하고 있는 듯하여

어떻게 사용하고 하고 있는지 최대한 간단하게 최소한의 정보만으로

몇 가지 소개를 해보려고 합니다~

 

아래의 목차로 소개하겠습니다.

1. 조명
2. 공기 / 날씨
3. 버튼
4. 시간에 따른 자동화
5. 재실에 따른
6. 육아를 위한
7. 알림

 

조명 자동화

1. 복도 조명

자동 ON
조건1: 조도센서에 의해 어두울 때
조건2: 모션센서가 감지되면
동작: 복도 조명을 특정 밝기로 On

자동 OFF
조건2의 모션센서가 미감지상태로 특정 초가 지나면 Off

2. 부엌 조명

자동 ON
조건: 압력센서가 감지되면
동작: 부엌의 조명 ON

자동 OFF
조건 압력센서가 미감지상태로 특정 분이 지나면 Off

3. 식탁 조명 / 세탁실 조명

자동 ON
조건: 모션감지가 감지되면
동작: 조명 ON

자동 OFF
조건 모션센서 미감지상태로 특정 분이 지나면 Off

부엌 식탁 쪽 자세한 사항은

https://weekendproject.tistory.com/246

 

 

5. 화장실 조명

자동 ON
조건: 카운터 센서가 1 이상이 감지되면
동작: 조명 ON

자동 OFF
조건 카운터 센서가 0이 되면 Off

 

공기 자동화

7. 습도에 의한 제습기 / 가습기 제어 40 ~ 60 % 사이로 맞춤

여름철 - 제습기
습도가 높을 때 제습기 on 낮아지면 off

가을 겨울 봄 - 가습기 
습도가 낮을 때 가습기 on 높아지면 off

 

8. 미세먼지 - 공청기 제어

각방의 Air monitor의 실내 미세먼지가 안 좋을 때 각방 공기 청정기 가동
좋아지면 자동 Off

 

9. CO2 tvoc에 의한 환기 - 전열교환기

CO2가 높으면 수면의 질이 좋지 않고
tvoc가 높으면 피부 트러블이 생길 수 있고 인체에 좋지 않습니다

이 두 가지 항목은 공기 청정기로 해결이 안 되는 항목이라 전열교환기 또는 실제 문을 열고 환기를 해야 합니다

* 월패드와 연동된 브릿지허브라는 기기를 통해 전열교환기 제어 가능 with SmartThings

 

10. 겨울 난방 제어

방 온도가 22도 이하로 떨어지면 난방 제어 25도로
25도 도달하면 off

* 월패드와 연동된 브릿지허브라는 기기를 통해 난방 제어 가능 with SmartThings

 

 

버튼 자동화

11. 외출 시 버튼을 통한 엘베 호출

신발 신고 나갈때 현관에서 SmartThings button을 누르고 신발신고 현관을 나섬

* 월패드와 연동된 브릿지허브라는 기기를 통해 엘레베이터 제어 가능 with SmartThings

 

12. 침대 머리맡에 모든 조명 끄기 + 침대 조명

누웠을 때 전체 조명을 끄거나 (버튼 두 번 누름)
침대 주변 간접 조명을 켜고 끌 때 (버튼 한번 누름)

 

13. 거실 메인 조명 제어

SmartThings와 연동된 controller를 버튼에 각각 제어

 

14. 부엌에서 수동 제어

오류 상황에 켜지지 않거나 꺼져 버린 경우 수동으로 켜서 부엌일을 할 수 있도록
버튼으로 부엌 조명을 켤 수 있도록 마련함

 

시간에 따른 자동화

15. 일출 일몰 커튼 열고 닫기

평일 일출 / 일몰 때 거실 커튼을 열고 닫음
저녁엔 간접조명도 같이 켜줌

 

16. 기상 시 안방 화장실 첫 진입 시 오늘 날씨 by 갤럭시 홈 미니

 

재실에 따른 자동화

17. 자동으로 문 열기

한때 사용했으나 폰을 교체하고 다시 세팅해야 하거나 등등 귀차니즘 & NFC TAG로 전환하게 되어서 미사용 하게 되었지만 사용 시에 상당히 만족하고 썼었음

 

18. 아빠 출퇴근 알림 - 와이프를 위한

와이프가 퇴근길에 집에 다 와가는지 알고 싶다고 하여 SmartThings Linked place를 통해서 위치 알림
위 스샷은 저만 보이고 와이프는 SmartThings Notification으로 받음
* 현재 SmartApp 종료로 사용 불가(2023.03.06 기준)

 

19. 침대 압력센서를 통해서 기상 / 취침 모드

특정 시간대에(밤) 침대의 압력센서가 감지가 20분 이상 감지되면 취침 모드
특정 시간대에(아침) 부부 중 하나라도 미감지로 15분 이상이면 기상 모드

 

20. 외출 시 일괄 off

부부가 모두 외출할 때 집안의 모든 조명 off 그 외 꺼져야 할 것들 off

 

 

육아 자동화

21. 압력센서로 기저귀 교환대

아기가 태어나서 기저귀 갈이대에 올려놓으면 알아서 조명이 켜지고 미사용시(압력센서 미감지)가 몇 초가 이상이 되면 자동 조명 off

 

22. 압력센서로 아기 침대 눕힐 때 - "아기 자는 중 모드" 변환

"아기 자는 중 모드"로 변환 시에는 약간의 자동화들이 제약됨 예를 들어 TTS가 울려야 할 때 안 울림

 

23. 아기 장난감 4 버튼 tts

팀 동료 아기한테 SmartThings 버튼에 TTS 자동화로 놀게 하는 모습을 보고 따라 했는데
우리 아긴 크게 재미있어하진 않고 막누름.... tts는 관심 없어 보임
(소리 켜고 봐야 함)

 

24. 카메라 녹화

부부가 서로 다른 일 하는 사이 일어난 일....
이때 기지 못할 때인데 애가 없어져서 놀랬었는데 오른쪽 위에 선반 밑에서 발견됨

첨엔 얘가 기어서 간 줄 알고 놀랬는데 녹화된 캠을 보니 굴러가서 저기에 쏙 들어간 거였음

SmartThings cam으로 움직임 감지 시 녹화 기능으로 좋은 추억이 생김
(위영상은 여러 개 짜깁기 편집한 거임)

 

 

 TTS / 알림 자동화

25. 집에 있을 때 문 앞에 누가 왔을 때 tts 알림

문 앞에 카메라가 설치되어있음(모션 감지 기능 탑재)
배달을 많이 시키는데 아기 때문에 벨을 누르지 말라고 붙여둠
그래서 배달이 온 지 안 왔는지 알 수 없을 때가 많은데

현관에 누가 감지되면 노티를 주게 해서 따뜻할 때 배달음식을 들일수 있음

 

26. 세탁기 건조기 종료 알림

구형 세탁기 건조기라서 SmartThings 연동이 안됨
SmartPlug를 각각 연결해서 전력량으로 3w 이하가 15초 이상 지속되면 끝났다고 간주하고 끝남 알림을 함.

다른 일로 다된 걸 놓쳤을 때 유용

 

27. 인덕션 30분 이상 지속 시 노티 및 캡처

비스포크 인덕션을 SmartThings에 붙여서 유일하게 사용하는 자동화

혹시 깜빡 잊고 불을 안 껐을 때 대비해서 30분 이상 켜져 있으면 홈360 카메라 캡처 및 노티

 

28. 출근 시 최초 한번 "오늘 날씨" by 빅스비 명령하기

29. 퇴근 시 최초 한번 "내일 날씨" by 빅스비 명령하기

출퇴근 시 중문 문이 열리면 출퇴근 상황에 맞게 빅스비 명령하기 기능으로 오늘 또는 내일 날씨 읊게 함
-아기 태어나고 off 해둠 -

 

30. 중문이 5분 이상 열려있을 시 알림

자주 중문을 안 닫고 들어오는데 5분 이상 열려 있을 때 tts 알림으로 중문 열림을 알려줌

 

31. 비가 올 시 알림

https://weekendproject.tistory.com/188

 

Weather Flow 설치 및 SmartThings DTH 개발

※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다 붱이 Story Weather Station Weather Flow https://www.indiegogo.com/projects/weatherflow-smart-weather-stations#/ 작년에8월인..

blog.weekendproject.net

 

 

실제 룰은 100개가 넘는 상황인데 축약해서 중복되는 거 빼고 하니 약 31개 정도로 정리가 되네요 

실제로 현재도 쓰고 있는 자동화들입니다. 

 

이글 보시는 분들이

이런 것도 가능해? 하는 것들이 있어서 IoT 경험을 해볼 수 있는 기회가 되는 포스팅이 되었으면 합니다!

 

궁금한 점은 번호와 함께 질문 남겨주시면 답변 드리겠습니다.

 

반응형
반응형

※ 내돈 내산 후기입니다.

 

 

우리집컴은 약 5년전? 산 데스크탑인데 

 

하드 디스크 구성은 이렇다

 

C: sandisk 240G - SATA 방식

D: wd껀가? 모르겟다 걍 디스크 하드 2TB

 

저번주부터 pc에서 소리가 크게 나더니 이상하더라.... 팬소리인지 HDD 읽는 소리인지 드르륵 드르륵 

 

결론은 HDD는 아니였고 fan 문제였다

 

그러다 SATA와 NVME SSD 속도를 자세히보다보니 속도차가 어마어마하더라

 

그래서 HDD는 이제 결별좀 하고 SSD도 NVME를 써보자 하고 알아보았쥐...

 

우리집 메인보드는 구형이라 PCIe 3.0...

그래서 Samsung SSD 970 EVO Plus 를 구매해보기로....

980 PRO 는 4.0을 지원해서 3.0보다도 2배는 빠르다고한다.

 

어차피 못쓰니 난 EVO로

 

난 윈도3.1부터 쓴세대로써....

 

이번 경험이 너무 충격이라 포스팅을하는 중인건데...

 

마이그레이션에서 교체까지 딱 15분도 안걸렸다...

 

 

알아서 C드라이브 자리까지 차지하고있고....

 

그과정을 소개해보려고한당

 

 

설치는 뭐 간단하다 컴터를 끈체로 Ultra.M.2 슬로에 꼽고 끝에는 나사로 조여야하는데 없어서 걍 .. 뒀다

 

그리고 컴터를 켜고 마이그레이션 툴을 다운받았다

 

https://www.samsung.com/sec/support/model/MZ-76E250B/KR/

 

Samsung 대한민국

 

www.samsung.com

 

여기로 가서

Data Migration Tool  다운 설치한담에

 

아래와같이 원본 드라이브 와 대상 드라이브를 선택해주고 시작하면된다 

난 총 약 14분 걸렸다 알아서 종료가 되고 

 

컴터를 켜니!!! C가 새로산 SSD로 잡혀서 부팅이 바로되더라 신기...

정말 신기했음. 많이 많이

 

이렇게 쉽게 되다니 ㄷㄷㄷ

 

그리고 바로 벤치마크를 돌려봤다

기존 SSD Sandisk SATA 기존 HDD 7200rpm 2TB Samsung 970 EVO Plus nvme.M2

 

와속도 차이봐라 진짜 어마어마하다 

 

헌데 교체하고 나니 기존 SATA SSD가 안보이더라...

 

요건 아래와 같이 하면 다시 나타남

내 PC -> 관리 -> 저장소 - 디스크 관리 -> 오프라인인게 보일것이다 그거 우클릭해서 온라인으로 바꾸면 끝

 

이제 HDD랑 SATA는 떼어내서 당근행해야지

 

요즘은 정말 편리한 시대구나... 싶다

 

이렇게 쉽게 마이그레이션이되다니.. ㄷㄷㄷ

 

총 15분 걸림

 

 

==============

아 그래서 체감하냐? 아직 사실 잘모르겠다 ㅎㅎ

SATA SSD 로도 솔직히 느린건 몰랐었으니....

 

그래도 저 숫자를보니 걍 좋다

반응형

+ Recent posts