KuKu Mi

스마트싱스에 Xiaomi 제품 연동을 위한 SmartApp ‘KuKu Mi’ – Mi Remote 연동

‘KuKu Mi’ Mi Remote 연동

 

0. 준비

기본적으로 아래와 같은 환경이 필요

  • ‘MiHome’에서 ‘Mi Remote’ 제품 등록된 상태

  • ‘Docker’ 시스템 툴
  • NAS or Micro or Mini server

 

1. ‘KuKu Mi’ Web & API Server 실행

1-1) ‘KuKu Mi’ Docker Image 다운로드

[X86 Platform]
# docker pull turlvo/kukumi

[ARM Platform]
# docker pull turlvo/kukumi-rasp

 

1-2) 다운받은 Docker Image로 Container 실행
(–privileged 옵션을 넣어야 추후 ‘KuKu Mi’에서 BT시스템에 접근 가능)

[X86 Platform]
# docker run --name=KuKuMi --net=host --privileged turlvo/kukumi
[ARM Platform]
# docker run --name=KuKuMi --net=host --privileged turlvo/kukumi-rasp

 

1-3) 재부팅시마다 1-2)에서 생성한 ‘KuKu Mi’ Container를 재시작하도록 설정(Optional)

# sudo vim /etc/systemd/system/kukumi.service

    <kukumi.service 파일 내용>

    [Unit]
    Description=KuKuMi container
    Requires=docker.service
    After=docker.service

    [Service]
    Restart=always
    ExecStart=/usr/bin/docker start -a KuKuMi
    ExecStop=/usr/bin/docker stop -t 2 KuKuMi

    [Install]
    WantedBy=multi-user.target
# sudo systemctl enable /etc/systemd/system/kukumi.service

2. ‘KuKu Mi’ Web Server에서 ‘Mi Remote’ 설정

2-1) 웹브라우저로 아래 주소에 접속

‘http://[KuKu Mi api Server’s IP]:8484/’
ex) http://192.168.1.137:8484/

2-2) ‘Mi Remote’ 기기 등록

– ‘Mi Remote Device’ 선택
– ‘Auto Add’로 ‘Mi Remote’ device 검색 후 결과에서 원하는 Device 선택 후 Add
(Manual시에는 이름에 공백없이)

2-3) ‘Mi Remote’ 명령어 추가

(여기선 학습기능으로 설명)
– ‘Mi Remote’ device 중 학습 기능을 이용 할 device를 선택 후  ‘Learn’ 클릭

 

– 화면이 어두운 상태에서 위에서 선택한 ‘Mi Remote’ 기기에 리모콘 명령 발사
– 제한시간 10초안에 정상적으로 IR 신호를 받지 못 하면 Timeout 처리 됨

 

– 정상적으로 ‘Mi Remote’에서 수신이 되면 자동으로 ‘Code’ 부분에 입력됨
– ‘Name’은 공백 없이 원하는 값을 입력
(모든 기기에서 사용 할 수 있기 때문에, 아래와 같이 커맨드 기기 종류 + 명령어 이름 조합이 좋음)
ex) tv-volume-down
– ‘Add’ 버튼으로 저장

 

 

2-4) ‘Mi Remote’ 기기 추가 및 IR 명령어 추가 완료 모습

=> ‘KuKu Mi’ SmartApp에서 여기서 저장 된 기기 정보와 IR 명령어 정보를 사용한다.

3.’KuKu Mi’ DTH와 SmartApp 설치

3-1) ST IDE에서 ‘KuKu Mi’ DTH source 들을 추가

3-2) ST IDE에서 ‘KuKu Mi’ SmartApp source를 추가

https://github.com/turlvo/KuKuMi

GitHub Repository Integration
- Owner : turlvo
- Name : KuKuMi
- Branch : master

4. 스마트싱스 앱에서 ‘KuKu Mi’ SmartApp 설치

4-1) ‘KuKu Mi’ SmartApp 설치

– Add a SmartApp’ -> ‘My SmartApp’ ->  ‘KuKu Mi’ 선택

 

– ‘KuKu Mi’ container 실행 중인 Server 의 IP와 Port 8484 입력
ex) 192.168.1.137:8484
– 입력 완료 후 ‘Save’ 버튼 클릭으로 설치 완료

 

4-2) 원하는 타입의 기기 생성

– ‘Automation’ -> ‘SmartApps’ -> ‘KuKu Mi’ 진입
– ‘Add a device…’ 선택
– ‘Xiaomi Product Type’ 선택

 

– 추가할 기기의 타입 선택. (현재는 ‘Mi Remote’ 만 지원)
– ‘Mi Remote Device’ 메뉴에서 추가할 기기가 이용할 ‘Mi Remote’ 기기 선택
(‘KuKu Mi’ Web Server에서 추가했던 기기목록)

 

– ‘device name’ 에 원하는 이름 입력
– 이 기기의 ‘DTH Type’을 선택
(선택에 따라 홈킷 기기 종류  및 버튼 레이아웃이 달라짐)

 

– Next’선택하여 커맨드 맵핑화면으로 진입
– 이 기기에서 사용 할 버튼들에 IR 명령어 맵핑
(‘KuKu Mi’ Web Server에서 추가했던 명령어들)

 

– (선택사항) 추가로 이 기기의 상태 싱크를 위한 방법 선택
– ‘Save’ 버튼으로 설정을 완료
– 스마트앱 첫화면에 추가된 기기가 보임

 

4-3) 기기 목록에서의 설치 된 기기 모습과 세부 내부 모습(Custom DTH)

Author

turlvo@gmail.com

Comments

오날듀
2018-03-07 at 08:32

얼마나 많은 금액이 절약될지..최고네요 쿠쿠님 !!



    turlvo
    2018-03-07 at 08:55

    얼마나 버그가 많을지 ㅋㅋㅋ
    절약시켜드린거 맞죠? 2만원 추가지출이아니고요 ㅋㅋㅋㅋ



처리
2018-03-29 at 22:10

Discover device 에서 찾아지지 않을 경우에 해볼만한게 있나요? 같은 네트워크에 있긴합니다



    turlvo
    2018-03-29 at 22:37

    안녕하세요.
    아래 보일러님 이슈도 확인해봐야하는데…
    제가 괜한거에 꽂혀서… 이건 의심가는 부분이 있어서 답변드립니다.
    Yee bt관련 라이브러리때문에 discover가 동작 안하는게 맞을 수 있습니다.

    혹시 shell에 익숙하시면,
    docker exec -ti KuKuMi /bin/bash
    (여기서 ‘KuKuMi’는 container 이름입니다.)
    pip3 install construct==2.9.30
    실행 후 mirobo discover 하시면 토큰이랑 ip가 나올거에요 수동으로 입력해서 확인 부탁드립니다. 죄송합니다 ㅠㅠ



      처리
      2018-03-30 at 08:59

      아닙니다 제가 또 해보고 말씀드리겠습니다 감사합니다 ^^;



      처리
      2018-03-31 at 09:37

      현재 Token / ip는 있는데 Dev ID를 못구해서요 구하는 방법이 있을까요 ??
      Discover device로 해서 보이는거 같은데 제가 하나도 안보여서요 ㅠㅠ



        turlvo
        2018-03-31 at 11:18

        dev 는 아무거나넣으면됩니당 그리고 여유되시면 도커이미지 새로 댕겨보시겠어요? ^^* 확바꿨어요



          처리
          2018-03-31 at 14:37

          네 오늘 집에서 해볼께요 감사합니다



          처리
          2018-04-02 at 06:23

          일단 새로운 도커 이미지를 받아도 동일하게보입니다 ㅜㅜ 제가뭐가다른걸까요 흠



          turlvo
          2018-04-02 at 22:03

          음 조금만 더자세히 어디서 어떻게 안되는지,
          smartthings IDE에서 live logging 에 나오는 로그와 함께 공유부탁드립니다.
          어디가 문제인지 감이 안잡혀서요…



    turlvo
    2018-03-29 at 22:51

    안녕하세요….
    아이고… learn 커맨드도 안보이시나요?
    그러시다면 조금만 다른 작업먼저하고 계시겠어요?



      처리
      2018-04-04 at 23:55

      설치 후 Discover Device 누르면 아래와 같이 나옵니다. 혹시 어느 부분이 문제가 될까요 ???
      [04/Apr/2018 14:53:06] “GET /miremote/ HTTP/1.1” 200 2075
      [04/Apr/2018 14:53:12] “GET /miremote/device/create HTTP/1.1” 200 4270
      [04/Apr/2018 14:53:12] “GET /static/js/jquery.loading.css HTTP/1.1” 200 815
      [04/Apr/2018 14:53:12] “GET /static/js/jquery.loading.js HTTP/1.1” 200 11511
      INFO:MiRemote.ext.miio_api:Sending discovery to with timeout of 5s..
      WARNING:MiRemote.ext.miio_api:error while reading discover results: _decode() missing 1 required positional argument: ‘path’
      array : []
      ERROR:MiRemote.views:discover>> result : []
      [04/Apr/2018 14:53:13] “GET /miremote/api/device/discover HTTP/1.1” 200 31
      INFO:MiRemote.ext.miio_api:Sending discovery to with timeout of 5s..
      WARNING:MiRemote.ext.miio_api:error while reading discover results: _decode() missing 1 required positional argument: ‘path’
      array : []
      ERROR:MiRemote.views:discover>> result : []
      [04/Apr/2018 14:53:45] “GET /miremote/api/device/discover HTTP/1.1” 200 31



        처리
        2018-04-05 at 00:09

        Discover 누르면 나오는 로그입니다.
        ERROR:MiRemote.views:learn_cmd>> device >> name: chuangmi.ir.v2, ip: 192.168.29.228, token: ………….
        WARNING:miio.device:error while reading discover results: _decode() missing 1 required positional argument: ‘path’
        ERROR:miio.device:Unable to discover a device at address 192.168.29.228
        [04/Apr/2018 15:02:46] “GET /miremote/api/device/chuangmi.ir.v2/learn_cmd HTTP/1.1” 200 58
        [04/Apr/2018 15:03:11] “GET /miremote/command/create HTTP/1.1” 200 6250

        Path : /usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 입니다.
        추가로 Path에 설정하거나 해야하는게 있나요 ?? Path가 위에도 문제가 되는데 무엇을 빠트렸을까요 ??



          turlvo
          2018-04-05 at 22:02

          오잉 요건 수정해서 도커에반영한건데요 흠 도커이미지를 최신거에서 런시켜도 동일하면 이상하네요



      처리
      2018-04-06 at 10:00

      그런가요? 다시받아도 동일하던데 제가 이상한걸 받나봅니다 도커이미지한번만 확인해주실 수 있나요?



        turlvo
        2018-04-06 at 10:09

        엇 만들때 항상 확인하고 올렸는데요 다시확인해보겠습니당
        도커이미지받고 컨테이너 새로만드신거죠?(docker run)
        docker start는 만든당시이미지를 가지고 가는지라…



        turlvo
        2018-04-06 at 10:55

        허허 이런 죄송합니다
        제 시스템에서 해당 도커이미지가 최신이 아닌게 이상하네요. 항상 올리는 컴퓨터인데요….

        다시 pull해서 확인하니 라이브러리 에러가나서 수정해서 올렸습니다 ㅠㅠ

        privileged 옵션은 비티관련기능을 위해 추가하였습니다.

        docker run –name=kukumi –net=host –privileged –restart=always turlvo/kukumi

        고생시켜드려 죄송하네요



          처리
          2018-04-06 at 11:27

          네 집에 가서 해보겠습니다.. 감사합니다..



          처리
          2018-04-06 at 17:25

          제가 잘 몰라서 그러는데 시놀로지 나스에 docker도 동일한지 궁금합니다. 다시 받아서 설치 후 진행시 이런 메세지가 나오고 있어서요 흠 이번에는 뭔가 제가 많이 빠트리는것 같습니다. ㅠㅠ
          ERROR:django.security.DisallowedHost:Invalid HTTP_HOST header: ‘192.168.29.162:8484’. You may need to add ‘192.168.29.162’ to ALLOWED_HOSTS.
          [06/Apr/2018 08:20:08] “GET /miremote/ HTTP/1.1” 400 57800
          Invalid HTTP_HOST header: ‘192.168.29.162:8484’. You may need to add ‘192.168.29.162’ to ALLOWED_HOSTS.
          ERROR:django.security.DisallowedHost:Invalid HTTP_HOST header: ‘192.168.29.162:8484’. You may need to add ‘192.168.29.162’ to ALLOWED_HOSTS.
          [06/Apr/2018 08:20:09] “GET /favicon.ico HTTP/1.1” 400 57659



          turlvo
          2018-04-06 at 17:30

          ㅠㅠ 죄송해요
          제가 이런 코딩이 첨이라 놓친게 있네요

          docker stop후 다시 시작하면 수정한거 받고 적용될거에요
          이젠 진짜 될 것 같습니다



          처리
          2018-04-06 at 17:33

          오잉 진짜 되네요 리모트 1개 추가했습니다. ^^;
          감사합니다. ~~~~



          turlvo
          2018-04-06 at 17:35

          ㅠㅠ 오래고생하게 해드려서 죄송하네요
          덕분에 같은 고생하는 분들이 줄거나 쉽게 적용 하실 수 있을거에요 고맙습니당



          처리
          2018-04-06 at 19:04

          마지막으로 질문이 있습니다 command code 까지는 얻었는데 실행해보면 mi가 실행이 안됩니다 test command 에서 파랑 불이 깜빡이지 않습니다 추가적으로 mi 앱에서는 잘됩니다 ㅜㅜ 왜그럴까요 테스트한번 부탁드립니다 감사합니다



          turlvo
          2018-04-06 at 19:17

          혹시 커맨드이름에 스페이스들어갔나요?



          처리
          2018-04-06 at 19:48

          스페이스는 없습니다



          turlvo
          2018-04-06 at 19:50

          네 ㅠㅠ 제가 ux뒤집으면서 딴걸 건드렸나봅니다
          확인하고 바로수정할게요



          turlvo
          2018-04-06 at 20:12

          윽 다른모듈에만 신경썼던지라 잠시 막아두었었네요 죄송해요ㅠㅠ
          docker stop후 start하시면 반영됩니당



처리
2018-04-06 at 20:30

이제 정상 작동합니다 감사합니다 수고하셨습니다 ^^;



    turlvo
    2018-04-06 at 23:18

    ㅎㅎ 수고하셨습니당



      처리
      2018-04-07 at 10:43

      한가지 더 궁금한게 있는데요 app에 다 추가해서 실제 명령을 누르면 동작을 안해서요 어떻게 해야할까요? ㅎㅎ 이제 다해가네요^^;



        turlvo
        2018-04-07 at 11:38

        오잉 어느타입으로 하신건가요?
        우선 어제안된다고 하셔서 커스텀 온오프버튼으로 동작까지확인했었거든요

        st ide사이트에서 버튼누를때 라이브로깅도 공유해주시면 문제파악이쉬울 것 같아잉



          처리
          2018-04-07 at 13:43

          네 일단 TV로 했습니다. 로그는 제가 확인 해서 보내드릴께요



        turlvo
        2018-04-07 at 12:02

        이상하네요 요건수정안했던 것 같은데요

        dth custom이 맞으실것같은데요 dth업뎃했으니 업뎃하시고 확인부탁드릴게요



          처리
          2018-04-07 at 13:54

          아래 로그 같이 보내드립니다
          참고 부탁드립니다
          3c0db0f1-e1d8-4155-8f24-a962aa17b91e 1:49:31 PM: errorsendCommandToDevice_response >> response body is null

          3c0db0f1-e1d8-4155-8f24-a962aa17b91e 1:49:30 PM: errorsendCommandToDevice_response >> response body is null

          3c0db0f1-e1d8-4155-8f24-a962aa17b91e 1:49:30 PM: debuggetHubAction>> 192.168.29.162:8484, /miremote/api/device/DadRoom Remote/command/TV_ON, sendCommandToDevice_response

          3c0db0f1-e1d8-4155-8f24-a962aa17b91e 1:49:30 PM: debugsendCommandToDevice >> miApiServerIP : 192.168.29.162:8484

          3c0db0f1-e1d8-4155-8f24-a962aa17b91e 1:49:30 PM: debuggetCommandName>> cmd : on, name: TV_ON

          3c0db0f1-e1d8-4155-8f24-a962aa17b91e 1:49:30 PM: debugchildApp parent command(child)>> type : miremote, device: DadRoom Remote, command: on

          3c0db0f1-e1d8-4155-8f24-a962aa17b91e 1:49:29 PM: debuggetHubAction>> 192.168.29.162:8484, /miremote/api/device/DadRoom Remote/command/TV_ON, sendCommandToDevice_response

          3c0db0f1-e1d8-4155-8f24-a962aa17b91e 1:49:29 PM: debugsendCommandToDevice >> miApiServerIP : 192.168.29.162:8484

          3c0db0f1-e1d8-4155-8f24-a962aa17b91e 1:49:29 PM: debuggetCommandName>> cmd : off, name: TV_ON

          3c0db0f1-e1d8-4155-8f24-a962aa17b91e 1:49:29 PM: debugchildApp parent command(child)>> type : miremote, device: DadRoom Remote, command: off



          turlvo
          2018-04-07 at 14:08

          에구… 리모트 이름에 스페이스때문인것 같아용..
          저장 단계에서 막아야겠네요… 죄송합니다.
          Miremote 디바이스 이름에서 스페이스 제거 후 확인 부탁드립니다.



          처리
          2018-04-07 at 17:16

          네 드디어 작동확인 다했습니다 수고하셨습니다 ^^;



          turlvo
          2018-04-07 at 17:28

          아이고 고생하셨습니당
          고맙습니다



boki
2018-04-11 at 11:39

Error in main Management not available (permissions problem?)
라고 콘솔창에 4초 간격으로 게속 찍히는데 뭐가 문제일까요?
도커에 올려논 상태입니다



    turlvo
    2018-04-11 at 11:48

    흠 이상하구만요 실해 커맨드랑 결과모두 공유가능하시겠어요? 그리고 이 도커이미지는 x86용입니다



      boki
      2018-04-11 at 13:03

      네 시놀 1515+라서 x86으로 설치 했습니다 커맨드랑 결과는 어떤걸 드리면 되나요?



        turlvo
        2018-04-11 at 16:29

        도커런 하고 나오는 에러전체를 말씀드린겁니당
        시놀에서 저도 한번 돌려보고 말씀드릴게용



          boki
          2018-04-11 at 19:16

          018-04-11 19:09:17 INFO XiaomiBTDaemon stopped!!!
          Running KuKu Mi Server…
          2018-04-11 19:09:19 INFO XiaomiBTDaemon stopped!!!
          pidfile /tmp/xiaomibt-daemon.pid does not exist. Daemon not running?
          pidfile /tmp/xiaomibt-daemon.pid does not exist. Daemon not running?
          pidfile /tmp/xiaomibt-daemon.pid does not exist. Daemon not running?
          pid : 612018-04-11 19:09:19 INFO XiaomiBTDaemon started~~~
          2018-04-11 19:09:19 INFO Error in main Management not available (permissions problem?)
          2018-04-11 19:09:21 INFO Error in main Management not available (permissions problem?)
          Startup…
          No changes detected
          2018-04-11 19:09:23 INFO Error in main Management not available (permissions problem?)
          2018-04-11 19:09:24 INFO XiaomiBTDaemon stopped!!!
          pid : 762018-04-11 19:09:24 INFO XiaomiBTDaemon started~~~
          2018-04-11 19:09:24 INFO Error in main Management not available (permissions problem?)
          Startup…
          Operations to perform:
          Apply all migrations: admin, app, auth, contenttypes, sessions
          Running migrations:
          No migrations to apply.
          2018-04-11 19:09:26 INFO Error in main Management not available (permissions problem?)
          2018-04-11 19:09:26 INFO XiaomiBTDaemon stopped!!!
          pid : 902018-04-11 19:09:26 INFO XiaomiBTDaemon started~~~
          2018-04-11 19:09:26 INFO Error in main Management not available (permissions problem?)
          2018-04-11 10:09:27 INFO XiaomiBTDaemon stopped!!!
          pid : 1012018-04-11 10:09:27 INFO XiaomiBTDaemon started~~~
          2018-04-11 10:09:27 INFO Error in main Management not available (permissions problem?)
          2018-04-11 10:09:29 INFO Error in main Management not available (permissions problem?)
          2018-04-11 10:09:31 INFO Error in main Management not available (permissions problem?)
          2018-04-11 10:09:33 INFO Error in main Management not available (permissions problem?)
          2018-04-11 10:09:35 INFO Error in main Management not available (permissions problem?)
          도커 시작하면 위와같이 나오고 밑에 계속 에러 메시지가 반복되네요

          그리고 하나 더 여쩌볼게요
          웹으로 미 리모트 설정하고 각 리모콘 코드값도 저장 한 후 st에 앱에서 kukumi 설정하고 설명하신글 보고 다 셋팅했는데
          작동이 안됩니다 이것도 위 에러때문에 안되는걸까요?
          지금은 HA에서 chuangmi_ir 플랫폼 써서 잘 쓰고 있습니다 그래서 그 코드값도 kukumi에 넣었구요
          st에서 쓰고 싶은데 도움 부탁드립니다 ㅠ



          boki
          2018-04-11 at 19:43

          헉 안봐주셔도 될거같습니다
          방금 도커 새로 받아서 하니까 잘 작동됩니다
          대박이네여…
          감사히 잘쓸께여 ^^



          turlvo
          2018-04-11 at 19:45

          나이슈
          방금 나갔다와서 컴터켜고있었습니다
          잘 쓰세요 비티기능이나 아두이노추가하시면 샤오미비티 온습도계도 사용가능하십니다 정확도가 좋다고합니다



          boki
          2018-04-11 at 20:19

          샤오미비티 온습도계가 센서를 말하시는건가요?
          모션센서나 도어센서같은…



          turlvo
          2018-04-11 at 20:34

          샤오미 기본센서류들은 직비이고요 화면달린게 블투이용하는겁니다



boki
2018-04-16 at 19:07

안녕하세요 쿠쿠미 감사히 잘 사용하고 있는 유저입니다
다름이 아니라 도커로 5~6정도 띄워서 쓰고있는데 다른 애들은 cpu 점유가 1%정도인데 쿠쿠미가 28%정도 먹어서 프로세스중
python ../xiaomibt-daemon/xiaomibt-daemon.py restart 이것만 죽여도 28%에서 2%로 떨어지더군요
혹시 저부분 띄우는부분 알수있을까요? 아니면 안뜨게라도.. ^^; 무슨 역할하는지는 잘 모르겠는데 죽여도 작동은 잘 되더라구여 ^^;



    turlvo
    2018-04-16 at 19:16

    안녕하세요
    ㅎㅎ 쿠쿠미서버 돌때 자동으로 돌리느라 고생하였던건데요 ㅎㅎㅎㅎㅎ
    샤오미 비티 온습도를 위한 데몬입니다
    미리모트만쓰면 필요없긴합니다
    cpu로드를 많이 먹고있는건 루틴에 좀 문제가있나보군요 다듬어보겠습니다
    불편하시더라도 당분간 강제로 죽여주세요 ^^;; 컨테이너 다시 시작할때 다시 살꺼에요



      boki
      2018-04-16 at 19:30

      네 미리모트만 써서 문제없었나봅니다 ^^
      더 업그레이드 해주신다니… 감사합니다 ㅠㅠ
      그럼 즐거운 저녁 되세요 ^^



        turlvo
        2018-04-18 at 23:56

        안녕하세요.

        해당 부분 업데이트하였으니,
        container 재시작시 적용 될거에요

        고맙습니다.



오날두
2018-04-17 at 12:07

저도 어서 동참해야할텐데ㅎㅎ



Km81
2018-04-18 at 12:04

turlvo 님,

항상 좋은 프로그램 감사합니다.

댓글에도 있던데, 저도 시놀로지 나스(916+) 모델에 도커를 이용 중인데,

python ../xiaomibt-daemon/xiaomibt-daemon.py

상기 프로세스로 인해 CPU 점유율이 20~30%를 가지고 갑니다.

혹시 초기 실행시, 해당 xiaomibt-daemon.py을 삭제하는 방법이 있으면 알려주시면 감사하겠습니다.

다시 한번 공유 감사합니다.



    turlvo
    2018-04-18 at 12:09

    안녕하세요
    에구구 로드가많이걸리나보네요
    혹시 가장최신 이미지이신가요? 셋팅설정에 xiaomi bt – 설정에 들어갔을때 BT interface가 어찌나오나요? None으로 하고 저장한번해보시고 동일한지요?
    확인부탁드립니다 안쓰시는분들에게 어디선가 문제가있어보이는군요 해결하도록 해볼게요



      익명
      2018-04-18 at 22:34

      말씀하신 셋팅 설정에는 None으로 되어 있습니다.
      추가로 ‘Xiaomi BT Daemon Running State: ON’ 으로 되어 있습니다.



        turlvo
        2018-04-18 at 23:55

        안녕하세요.

        조금 전에 수정해서 올렸습니다.
        BT interface가 없을 때 루프에 빠져버리는 케이스가 있었네요…
        추가로 Xiaomi BT 설정 안했을때에는 문제의 루틴자체를 시작하지 않도록 하였습니다.

        container stop했다 다시 시작하시면 자동으로 업데이트 적용 될 것입니다.

        고맙습니다.



Km81
2018-04-19 at 11:17

빠른 조치 감사합니다.

CPU 점유율이 더이상 20%를 올라가지 않습니다.

셋팅 페이지에서 Xiaomi BT 데몬 상태도 : OFF로 표기됩니다.

그런데, 샤오미 미 리모트가 등록이 되지 않습니다.

Xiaomi Mi Remote – Mi Remote List – Auto Add 에서 샤오미 미 리모트 포함, 장비 리스트가 나타납니다.
(Device ID, Device IP, Token 잘 나타남)

근데 리모트는 해당 장비를 클릭하고 Add 버튼을 누르면 undefined 라고 나오고 등록되지 않스빈다.

추출된 정보로 Manual ADD 로 하여도 등록되지 않습니다.

조언 부탁 드립니다.



    turlvo
    2018-04-19 at 11:28

    안녕하세요.
    음… 방금 새롭게 컨테이너 만들어서 해봤는데요
    비슷한 문제가 나타나고 있지는 않네요. 흠…

    docker attach [container name] 해서 container에 attach한 상태에서
    등록 시도하여서 나오는 에러좀 공유부탁드립니당



      Km81
      2018-04-19 at 20:58

      [19/Apr/2018 11:55:44] “GET /miremote/api/device/discover HTTP/1.1” 200 2031
      Forbidden (CSRF cookie not set.): /miremote/device/create
      WARNING:django.security.csrf:Forbidden (CSRF cookie not set.): /miremote/device/create
      [19/Apr/2018 11:55:57] “POST /miremote/device/create HTTP/1.1” 403 2868

      Add 버튼을 누르니 상기와 같은 메세지가 나옵니다.



        turlvo
        2018-04-19 at 22:35

        음 확인해보니 익스플로러에서 문제가 발생하네요
        우선은 익스플로러 아닌 브라우저에서 이용부탁드립니다.

        이쪽은 처음이라 더 봐봐야겠네요 ^^;;



          Km81
          2018-04-19 at 22:56

          turlvo 님,

          늦은 시간에도 관심가져주셔서 감사합니다.

          우선 해당 로그는 크롬에서 시도하였으며,
          혹시 몰라서 인터넷 익스플로러, 사파리에서도 같은 로그가 나옵니다.

          확인 부탁 드립니다.



          turlvo
          2018-04-19 at 23:36

          안녕하세요.

          에구 죄송하지만 한번만 더 container restart 부탁드립니다.
          새로운 브라우저에 기존 쿠키가 없을 경우 문제가 발생하네요.
          간이 서버에 필요도 없을 것 같아서 체크하는 부분 막았습니다.

          고맙습니다



          Km81
          2018-04-20 at 00:23

          말씀하신대로 재시작하니 Add 잘 됩니다 ^^

          늦은 시간까지 너무 너무 감사합니다.

          잘 사용하겠습니다~



          turlvo
          2018-04-20 at 00:26

          휴 아닙니다
          부족한 프로그램때문에 고생많으셨습니다

          잘 쓰세용



익명
2018-04-23 at 01:30

안녕하세요~^^ 쿠쿠미를 사용하기 위해 잘 따라가고 있다가…에러가 생겨서 막혔네요…ㅠ.ㅠ

(현재 저의 환경은, 라즈베리파이에 hassbian을 설치하고, 그 위에 도커를 설치하여 쿠쿠미 ARM 버전을 작동 중입니다.)

[아이피]:8484/miremote 로 접속을 시도하면 아래와 같은 에러가 뜹니다.

이거…어떻게 해야 할까요?^^

Environment:

Request Method: GET
Request URL: http://—.—.-.—:8484/remote

Django Version: 1.8.6
Python Version: 3.4.4
Installed Applications:
[‘MiRemote.apps.MiremoteConfig’,
‘YeeBT.apps.YeebtConfig’,
‘XiaomiBT.apps.XiaomibtConfig’,
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
‘rest_framework’]
Installed Middleware:
(‘django.middleware.common.CommonMiddleware’,
‘django.middleware.csrf.CsrfViewMiddleware’)

Traceback:
File “/usr/local/lib/python3.4/site-packages/django/core/handlers/base.py” in get_response
108. response = middleware_method(request)
File “/usr/local/lib/python3.4/site-packages/django/middleware/common.py” in process_request
74. if (not urlresolvers.is_valid_path(request.path_info, urlconf) and
File “/usr/local/lib/python3.4/site-packages/django/core/urlresolvers.py” in is_valid_path
646. resolve(path, urlconf)
File “/usr/local/lib/python3.4/site-packages/django/core/urlresolvers.py” in resolve
521. return get_resolver(urlconf).resolve(path)
File “/usr/local/lib/python3.4/site-packages/django/core/urlresolvers.py” in resolve
365. for pattern in self.url_patterns:
File “/usr/local/lib/python3.4/site-packages/django/core/urlresolvers.py” in url_patterns
401. patterns = getattr(self.urlconf_module, “urlpatterns”, self.urlconf_module)
File “/usr/local/lib/python3.4/site-packages/django/core/urlresolvers.py” in urlconf_module
395. self._urlconf_module = import_module(self.urlconf_name)
File “/usr/local/lib/python3.4/importlib/__init__.py” in import_module
109. return _bootstrap._gcd_import(name[level:], package, level)
File “/root/KuKuMi/django-KuKuMi/KuKuMi/urls.py” in
16. from django.urls import include, path

Exception Type: ImportError at /remote
Exception Value: No module named ‘django.urls’



    turlvo
    2018-04-24 at 01:01

    안녕하세요.

    휴 오래 기다리셨죠?
    라즈베리파이용 컨테이너에 파이썬 버전이랑 라이브러리에 문제가 있어서
    다 새로 만드느라 오래 걸렸습니다. ㅠㅠ

    docker pull turlvo/kukumi-rasp
    로 새로 container 받으셔서 진행하시면 될거라고 믿습니다~~

    기다려주셔서 고맙습니다.



    익명
    2018-04-24 at 22:58

    우와~~!! 말끔히 해결 되었습니다. 너무 감사합니다~~^^



날두오
2018-06-29 at 03:50

많은 일이 있었군요.ㅎㅎ 저도 내일 시작합니다.
드디어 라즈베리파이3B+를 받았거든요 ㅎㅎ



    turlvo
    2018-06-29 at 19:50

    유불님 기다리고있었습니다
    아두이노와 관련해서 버그가하나있는데 로그가지나가서 계속 못잡네요 ㅎㅎ



sEsAmZ
2018-08-11 at 10:31

쿠쿠님 안녕하세요~
카페에서 많이 배우고 있습니다.
미커넥트와는 달리 쿠쿠미는 미게이트웨이가 필요없는 것 같아서.
이쪽으로 진행해보려고 합니다~

아직 제가 진행 전이라 그런데요.
monitoring 방식에 ping 방식도 가능한지요???



    turlvo
    2018-08-11 at 12:38

    아니어요. 미커넥트도 게이트웨이없이도 미리모트이용가능합니다 ㅎㅎ

    핑은 구조상 고민과 시간이필요할것같습니다.



2018-10-23 at 01:14

안녕하세요, 관심있게 지켜만보던 사람입니다.
엄두가 안나서 구경만 하다 시간이 나서 겁없이 도전했는데…,
역시나 큰 벽에 막혀버리네요.. ㅠㅠ
혹시 시간 괜찮으시면 가르침 부탁드립니다.

샤오미 리모트를 통해 에어컨과 tv를 잘 사용중이었습니다.
쿠쿠미를 설치하였습니다.
해당글의 2번 따라서 도커에 쿠쿠미를 설치하고 웹을 통해 접속 가능한 것도 확인했습니다.
또 웹에서 TV를 켜고 끄는 기능을 학습 완료했습니다. (학습 중 test 버튼으로 동작 확인)

그 뒷 부분(3번)에서 막혔습니다.
해당 부분을 잘 몰라서 다른 블로그를 참고하여 따라가는 중인데요,
(http://blog.naver.com/PostView.nhn?blogId=fuls&logNo=221312103070)
ST IDE에서 github 연동해서 turlvo/KuKuMi/master 레포짓을 추가하기는 했는데,
update from repo를 누른 뒤 KuKuMi(master)를 선택하면
new column에 아무것도 쓰지를 않습니다…
혹시 몰라 publish 체크를 on/off 해봐도 마찬가지입니다.

바쁘실텐데 컴맹이 귀찮게만들어 죄송합니다.
혹시 무슨문제인지 감이 오시면 답변부탁드립니다 ㅠㅠ



    Lee Seungdon
    2018-10-24 at 12:41

    말씀드린 상태대로 하루이틀 지나니까 갑자기 상황이 정상적으로 변했습니다.
    왜인지는 모르겠습니다..

    무튼 이런 프로그램 개발해주시고 글 올려주셔서 감사합니다~!!



    2018-10-25 at 00:58

    다시 벽에 막혀서 또 문의드립니다… ㅠㅠ

    스마트싱스 클래식 앱을 받아서,
    오토메이션-앱추가-나의앱 순으로 들어갔는데 앱이 아무것도 뜨지 않네요..
    혹시 무슨 문제인지 이정도만 듣고도 알 수 있을까요? ㅠㅠ

    참고로 앞서 말씀드린대로 3번과정까지 완료했다고 봅니다(?).
    DTH source와 SmartApp source가 정확히 뭔지는 모르지만
    update from Repo가 뜬 상태에서 모든 항목에 체크하고 publish도 체크해서 update했고요,
    현재 My Device Handlers 항목에 들어가면
    turlvo : KuKu Mi_MiRemote_…
    Aircon, Custom, Fan, Light, TV,
    turlvo : KuKu Mi_XiaomiBT_TempHumi
    모두 Published 상태로 추가되어 있습니다.



      turlvo
      2018-10-25 at 18:43

      음 앞에선 정상적으로 이용가능하셨다고 했는데요?
      ide주소도 자신의 st가 속한 주소가 맞고 변한게 없다면 서버이상이던가 그럴것같은데요



익명
2019-06-03 at 11:29

안녕하세요 kukumi를 도커에 올려서 샤오미만능리모컨이 디바이스 리스트에떴습니다.. 하지만 커맨드입력부분에서 신호를 줘도 인식이 되지않는데, 혹시 어떤점이 문제일 수 있을까요..??



bkjoen
2019-06-23 at 13:58

항상 잘 보고 있습니다. 스마트 싱스 클래식앱에서 디바이스 등록시 ” unexpected error”가 뜨서 등록을 못하고 있는데요. 혹시 제가 뭘 놓친걸까요. IDE에서 아래 로그가 나오네요.

de89665d-1f54-4485-8e96-048d99005bf3 오후 1:23:31: error physicalgraph.app.exception.UnknownDeviceTypeException: Device type ‘KuKu Mi_MiRemote_Light’ in namespace ‘turlvo’ not found. @line 676 (initializeChild)
de89665d-1f54-4485-8e96-048d99005bf3 오후 1:23:31: debug addDeviceDone: deviceId: miremote_Living Light
de89665d-1f54-4485-8e96-048d99005bf3 오후 1:23:31: debug addDeviceDone: MiRemote, xiaomi type: miremote
de89665d-1f54-4485-8e96-048d99005bf3 오후 1:23:31: debug initialize()
de89665d-1f54-4485-8e96-048d99005bf3 오후 1:23:29: debug discoverDevices_response: [ip:192.168.1.176, name:MiRemote, token:c7ace51d82a23bdb821cb60824397a1d]
de89665d-1f54-4485-8e96-048d99005bf3 오후 1:23:29: debug discoverDevices_response >> [[ip:192.168.1.176, name:MiRemote, token:c7ace51d82a23bdb821cb60824397a1d]]
de89665d-1f54-4485-8e96-048d99005bf3 오후 1:23:29: debug discoverDevices_response: [ip:192.168.1.176, name:MiRemote, token:c7ace51d82a23bdb821cb60824397a1d]
de89665d-1f54-4485-8e96-048d99005bf3 오후 1:23:29: debug discoverDevices_response >> [[ip:192.168.1.176, name:MiRemote, token:c7ace51d82a23bdb821cb60824397a1d]]
de89665d-1f54-4485-8e96-048d99005bf3 오후 1:23:28: debug mainChildPage>> deviceCommands : [tv-power-toggle, tv-input-change, tv-volume-up, tv-volume-down, tv-channel-up, tv-channel-down, tv-volume-mute, living-light-on, living-light-off, living-light-bright, living-light-dim, living-light-cool, living-light-warm, living-light-mode-reading, living-light-mode-dinner, living-light-mode-relax]



댓글 남기기