홈파이: 텔레그램으로 제어하는 홈 오토메이션 (명령어 리스트)
텔레그램으로 제어하는 홈 오토메이션 프로젝트 – 홈파이
- 홈파이: 텔레그램 메신저로 제어하는 홈 오토메이션 프로젝트
- 홈파이 : 라즈베리 파이에 설치하는 방법
- 홈파이 : 예제 센서 장치 만드는 방법
- 홈파이 : 동작 시나리오와 프로토콜
- 홈파이 : 명령어 리스트
- 홈파이 : 일회용 컵을 재활용한 스마트 화분 연동하기
.
홈파이에서 사용 가능한 명령어 리스트입니다. 아래와 같은 형식으로 표시되어 있습니다.
- 모든 명령어는 영어, 한글 지원하므로 선택해서 사용 가능
- 영어는 소문자만 인식
- 명령어 단어들과 파라미터는 공백 1칸으로 구분
- {} 대괄호는 대체 가능한 문자, [] 중괄호는 생략 가능한 파라미터, () 소괄호는 필수 파라미터를 표시
- {} 대괄호, [] 중괄호, () 소괄호 안에서 선택 가능한 항목들은 콤마(,)로 구분
홈파이 명령어
hello
- hello={hi, 안녕, 하이}
- 홈파이 서버가 응답 가능한지 확인.
help
- help={도움말}
- 사용가능한 명령어를 보여줌.
ping (장치넘버)
- ping={핑}
- 지정한 장치에 ping 신호를 보내 응답이 오는지 확인. 장치가 동작중인지 확인.
chat (메시지)
- chat={챗}
- 지정한 메시지를 현재 활성화 된 채팅창에 출력.
lang (en, kr)
- lang={language, 언어}, en={영어}, kr={한글}
- 언어 설정을 변경. 영어(en), 한글(kr)만 지원
cctv (on, off)
- cctv={cam, 캠}, on={온}, off={오프}
- 카메라를 동작시키고 JPG 스트리밍을 on/off. CCTV를 볼 수 있는 URL을 전달
pic
- pic={사진}
- 사진을 촬영해서 이미지 파일을 전송해줌. 기존에 cctv가 동작중인 경우 cctv 동작이 중단됨
dev
- dev={device, 장치}
- 현재까지 감지되었던 장치들의 리스트를 보여줌.
- 동작이 중단된 장치가 있을 수 있음.
- 각 장치는 장치넘버를 가짐
dev desc (장치넘버)
- desc={detail, 상세}
- 해당하는 장치의 상세 정보를 보여줌.
- 각 장치가 처리할 수 있는 제어신호(control signal) 정보도 함께 출력.
dev del (장치넘버)
- del={remove, delete, 삭제, 제거}
- 지정한 장치를 삭제. 장치가 보내준 센서 데이터도 모두 삭제됨
dev delall
- delall={removeall, deleteall, 모두삭제, 모두제거}
- 등록된 장치들을 모두 삭제, 모든 센서 데이터도 삭제됨
sensor (장치넘버) [갯수]
- sensor={data, print, 센서, 데이터, 출력}
- 지정한 장치가 보내준 센서 데이터를 [갯수] 만큼 출력.
- 최대 100개까지 출력. [갯수]가 생략된 경우 최신 데이터 1개만 출력
sensor del (장치넘버) [시간]
- del={remove, delete, 삭제, 제거}
- 지정한 장치의 센서 데이터를 [시간] 단위로 삭제.
- 해당 장치의 지정한 시간 이전의 데이터는 모두 삭제됨.
- [시간] 항목을 생략하면 해당 장치의 센서 데이터 모두를 삭제
sensor delall [시간]
- delall={removeall, deleteall, 모두삭제, 모두제거}
- 모든 센서 데이터를 [시간] 단위로 삭제. 지정한 시간 이전의 데이터는 모두 삭제됨. [시간] 항목을 생략하면 센서 데이터 모두를 삭제
graph (장치넘버) [갯수]
- graph={그래프}
- 지정한 장치의 센서 데이터를 [갯수]만큼 추출해서 그래프로 그린 뒤 이미지 파일로 전송해줌.
- 최대 100개까지 출력. [갯수]가 생략된 경우 최신 데이터 10개를 사용.
send (장치넘버) (제어신호1) [제어신호2] [제어신호3] [제어신호4]
- send={ctrl, control, 제어, 전송}
- 지정한 장치로 제어신호를 전송. 제어신호1 은 필수이면 2, 3, 4는 생략가능.
- 반드시 제어신호는 순서대로 기재해야 함.
- 사용가능한 제어신호의 정수값은 “장치 상세 (장치넘버)” 명령으로 확인가능.
noti
- noti={notification, 알림}
- 사용자가 설정한 알림 설정을 모두 보여줌. 각각의 알림 설정은 알림 ID를 가짐.
noti add (장치넘버) (조건식1) [조건식2] [조건식3] [조건식4]
- add={추가}
- 지정한 장치에서 조건식에 맞는 센서 데이터를 보낼 경우 메시지로 알려주도록 설정함.
- 조건식 한 개는 필수, 나머지는 생략 가능.
- 반드시 조건식은 data1, data2, data3, data4 로 센서 데이터를 구분해야 하며 공백없이 기재.
- 아래와 같이 비교문을 사용가능.
- data1>12 data2<100
- data3>=11 data4<=99
- data1==1 data3!=0
- data2>0 data3<50 data4!=0
- data1>=1 data2<=99 data4==1
noti del (알림ID)
noti del (장치분류1) (장치분류2) (장치ID)
- del={delete, 삭제, 제거}
- 지정한 알림ID 에 해당하는 설정을 삭제.
- 알림ID 대신 분류1, 분류2, 장치ID 를 사용할 경우 해당 장치의 알림 모두를 삭제.
- (지정한 알림과 연결된 매크로도 모두 삭제됨)
macro
- macro={매크로}
- 현재 설정된 모든 매크로를 출력
macro add (알림ID) (명령어)
- add={추가}
- 지정한 알림 조건을 만족하는 센서값이 업데이트되면 챗으로 알려주는 대신 (명령어)를 실행함.
- 예) macro add 1 pic
- ==> 1번 알림 조건을 만족하는 센서값이 들어오면 사진을 촬영 후 전송
macro del (매크로ID)
macro del (장치분류1) (장치분류2) (장치ID)
- del={delete, 삭제, 제거}
- 지정한 매크로ID 에 해당하는 설정을 삭제.
- 매크로ID 대신 분류1, 분류2, 장치ID 를 사용할 경우 해당 장치의 매크로 모두를 삭제.
timer
- timer={타이머}
- 현재 설정된 모든 타이머를 출력
timer add (시간 간격/분) (명령어)
- add={추가}
- 일정한 시간 간격(분 단위)으로 (명령어)를 실행함.
- 예) timer add 10 pic
- ==> 10분 간격으로 사진을 촬영 후 전송
timer add (시간/시:분) (명령어)
- 지정한 (시간)에 (명령어)를 실행함.
- 예) timer add 13:50 pic
- ==> 13:50 분에 사진을 촬영 후 전송
timer del (타이머ID)
- del={delete, 삭제, 제거}
- 지정한 타이머ID 에 해당하는 설정을 삭제.
.