
테슬라메이트(TeslaMate) 설치법 (w/ 라즈베리파이) 글을 올렸을 때 시놀로지NAS 방법도 알려달라는 요청이 꽤 있어서,
제가 쓰는 시놀로지 ds918+ 기준으로 설치하는 과정을 작성해봅니다.

이 방법은 모든 시놀로지NAS에 가능한 방법이 아닙니다.
Docker를 이용하는데, Intel CPU가 아닌 시놀로지에는 적용이 불가합니다.
우선 시놀로지 페이지로 접속합니다.

패키지 센터를 클릭

Docker를 검색, 설치
만약 여기서 Docker가 안나온다면 Intel CPU가 아닌 모델일 겁니다.
그러면 설치가 불가합니다. 라즈베리파이 사러 가세욧!
라즈베리파이에 설치하는 방법(https://www.clien.net/service/board/lecture/14940245CLIEN )

제어판을 클릭

고급 모드 누르고

터미널 및 SNMP을 클릭

터미널 탭의 'SSH 서비스 활성화' 를 클릭해줍니다.
이러면 이제 Putty로 SSH 접속이 가능해집니다.

Putty 사이트 ( https://www.putty.org )에 접속하여 here 클릭해서 Putty 다운로드
그리고 설치

Putty 실행

시놀로지NAS IP 입력 후 Open 클릭

자신이 시놀로지NAS 로그인할 때 사용하는 ID로 로그인하시면 됩니다.
비밀번호도 자신이 쓰는 비밀번호입니다.

로그인을 했으면 아래 명령어를 입력하고 엔터를 칩니다.
root 권한을 획득하는 과정입니다.
sudo -i
Password는 사용하던 비밀번호 다시 입력해주시면 됩니다.

정상적으로 되면 위에 사진처럼 root@어쩌구저쩌구 로 바뀝니다.
그렇다면 아래 코드를 cat부터 맨 밑에 EOF까지 그대로 복사해서 마우스 오른쪽버튼 눌러서 붙여넣고 엔터칩니다.
cat > docker-compose.yml << EOF
version: '3'
services:
teslamate:
image: teslamate/teslamate:latest
restart: unless-stopped
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS=pg2020 # change this to whatever you like
- DATABASE_NAME=teslamate
- DATABASE_HOST=db
- MQTT_HOST=mosquitto
- VIRTUAL_HOST=10.10.100.142 # if you're going to access the UI from another machine replace
# "localhost" with the hostname / IP address of the Docker Droplet.
- TZ=Asis/Seoul # (optional) replace to use local time in debug logs. See "Configuration".
ports:
- 4000:4000
cap_drop:
- all
db:
image: postgres:11
restart: unless-stopped
environment:
- POSTGRES_USER=teslamate
- POSTGRES_PASSWORD=pg2020 # change this to whatever you like
volumes:
- teslamate-db:/var/lib/postgresql/data
grafana:
image: teslamate/grafana:latest
restart: unless-stopped
environment:
- DATABASE_USER=teslamate
- DATABASE_PASS=pg2020 # change this to whatever you like
- DATABASE_NAME=teslamate
- DATABASE_HOST=db
ports:
- 3000:3000
volumes:
- teslamate-grafana-data:/var/lib/grafana
mosquitto:
image: eclipse-mosquitto:1.6
restart: unless-stopped
ports:
- 1883:1883
volumes:
- mosquitto-conf:/mosquitto/config
- mosquitto-data:/mosquitto/data
volumes:
teslamate-db:
teslamate-grafana-data:
mosquitto-conf:
mosquitto-data:
EOF

그런 후에 ls를 입력하고 엔터 치면 docker-compose.yml 이 생성된 것을 알 수 있습니다.
이제 아래 명령어 2가지를 입력하여 테슬라메이트를 설치합니다.
sudo docker-compose pull
sudo docker-compose up -d

문제 없이 설치되었다면, 4가지 모두 초록색으로 done 표시가 뜹니다.
설치하는 과정이라 시간이 꽤 걸리니 done이 뜰 때까지 기다려주세요.

done이 뜨면 제대로 실행되고 있는지 확인하기 위해서 시놀로지 데쉬보드에서 Docker를 클릭해줍니다.

이렇게 개요에 4개의 컨테이너가 실행중이면, 정상적으로 작동하고 있는 겁니다.
안보이면 NAS 재부팅 한번 해주시고...
이제 대충 설치 완료후 1~2분정도 뒤에 아래 주소로 들어가서 제대로 동작하고 있나 확인합니다.
#테슬라메이트 접속 주소
라즈베리파이IP주소:3000
( 예시 : 192.168.*.*:3000 )
#자세한 차량 정보 확인
라즈베리파이IP주소:4000
( 예시 : 192.168.*.*:4000 )
라즈베리파이IP주소:4000 ( 예시 : 192.168.*.*:4000 ) 으로 접속하여
자신의 테슬라 아이디와 비밀번호로 로그인합니다.

그럼 이제부터 자신의 테슬라 차량의 거의 모든 데이터가 기록되기 시작합니다.
하루정도 운행하면 자세한 내용을 볼 수 있으니, 설치 완료 후 다음날 밤부터 살펴봅시다 :)


참고로 한번 로그인하면 로그아웃이 없기 때문에 포트를 외부에서 접속할 수 있도록 하는 건 좋지 않습니다.
그래서 저는 밖에서 확인할 때는 VPN으로 접속하여 내부망에 접속 후 테슬라메이트를 봅니다.
다행입니다, 잘쓰세요!
아직은 데이터가 쌓인 것이 없어서 휑 하지만 잘 됩니다.
저는 설치 후 192.168.?.?:4000 으로 접속이 안되네요.. :3000은 정상 접속됩니다.
docker에서 teslamate container log를 확인하면
"waiting for postgres at database:5432"
위 로그만 표시되네요.. 몇번이나 재설치를 해보았지만 같았습니다.
구글링해보면 docker 버전을 낮춰서 해보라는 얘기도 있어서 실행해보았지만 ㅠㅡㅠ
혹시 저와 비슷한 증상이 있으신분 계실까요?
postgrsql docker container의 로그를 확인해보셔요
혹시 저처럼 4000 접속안되시는 분은
시놀로지 설정 > 보안 > 방화벽을 끄시거나 예외 등록하셔야됩니다.
1. 홈어시스턴트 설치
https://www.clien.net/service/board/cm_iot/14637056CLIEN
2. 테슬라 통합구성요소 설치
https://hakorea.github.io/integrations/#car 에서 테슬라 선택
3. 연동 사례
HA를 조금 공부하셔야 할 필요가 있긴 하지만, 테슬라와 스마트홈이 연동되어 상상 이상의 기능을 구현하실 수 있을겁니다. 한편 게시글을 올리신 NAS에도 HA는 설치가 가능합니다.
제가 잘 몰라서 올려드린 게시물인지는 모르겠으나, 전혀 다른 용도라면, TeslaMate와 HomeAssistant가 연동이 안되는건 아니네요.
https://gist.github.com/ngardiner/0cbb6b87142aba044596426c8a21581c
어짜피 mqtt로 가져오기 때문에 HomeAssistant에서 관련 정보들을 수집 관리 조정할 수 있는 기능입니다.
그리고 당장은 아니겠지만, HomeAssistant에 클릭만으로 설치되는 앱같은 Addon이란 Docker를 쉽게 만든 소프트웨어가 있는데 https://github.com/hassio-addons/repository/issues/166 여기서 TeslaMate Addon을 개발 준비중이라고 합니다.
https://docs.teslamate.org/docs/integrations/home_assistant 에 방법으로 연동하시면 TeslaMate를 온전히 HomeAssistant에서 쓰실 수 있겠네요.
감사합니다.
근데 혹시 tesla fi에서 지난 데이터를 import 해야하는데, 위 설치대로면 docker-compose.yml 파일은 어디에 위치해 있는걸까요?
맥의 터미널을 사용할 줄 모르니 이 방법 밖에.... ㅠㅠ
맥의 기본 프로그램인 터미널로도 ssh 접속하여 사용하실 수 있습니다.
https://eunguru.tistory.com/122