teslamate에서 geofence로 충전금액 자동입력

By | 2024-08-16

라즈베리파이에 테슬라메이트를 설치해놓고 잘 쓰는 중인데, 여전히 geofence 메뉴를 사용할 수 없었다. 메뉴에 들어가보면 항목 추가를 눌러 장소 이름을 지정하고 위치 반경을 정한 후 그 장소의 충전비용을 미리 입력해둘 수 있다. 아무리 추가를 해 봐도 다시 빈 목록으로만 돌아오고 입력이 되질 않았다. 장소명이 한글이어서 그런가 싶어서 영어로 위치를 적어봐도 마찬가지. 테슬라 커뮤니티에서 임시변통으로 쓸 수 있는 방법이, 금액을 천원단위 + 소수점으로 넣는 것이란다. 예를 들어 충전금액이 kWh당 170원이면 0.17, 400원이면 0.4. 이렇게 입력하면 충전금액도 4230원은 4.23 같은 식으로 표시된다. 아쉽지만 일단은 지오펜스 기능을 쓸 수 있는 방법이긴하다.

설마 나만 겪는 문제겠는가. 이미 이와 관련된 보고가 있었고 olivercho님의 댓글대로 아래 항목을 추가했더니 제대로 항목 추가가 됐다.

라즈베리파이 쉘에서
docker-compose exec database psql teslamate teslamate 라고 입력한 후
ALTER TABLE charging_processes ALTER COLUMN cost TYPE numeric(8,2);
ALTER TABLE geofences ALTER COLUMN cost_per_unit TYPE numeric(7,4);
exit 까지 차례대로 입력한다.

곧바로 테슬라메이트의 지오펜스 메뉴에 들어가봤더니 아뿔사 흰 화면에 Internal Error 라는 글자만 덩그러니 떠 있다. 속된 말로 ‘X됐다’ 소리가 절로 나온다. 리부팅을 해야하나? 원상복구는 어떻게 해야하지? 싶었는데 1~2분후 다시 들어가보니 정상적으로 페이지가 열리고 항목 추가도 가능했다. 라즈베리파이 성능상 처리시간이 필요했나보다.

기존 입력된 값은 소급 적용되지 않아 수작업으로 정정해두었다. 앞으로 지오펜스에 입력해둔 충전소에서 충전을 하면 자동으로 충전량과 금액 등이 저장될 것이다. 170원으로 지정했지만 이미 충전했던 결과들을 수작업으로 수정했더니 금액이 1원단위 이하 소수점 두자리까지 값이 표시됐다. 아마 실제 결제되는 금액은 원단위 이하는 절사되지만 (단가 * 충전량)으로 단순 계산한 값을 뿌려줘서 그런가보다. 새로 입력되는 값은 그렇지 않을텐데 아무래도 좀 보기가 뭐시기하여 numeric(숫자1,숫자2)의 숫자2를 0으로 바꿔주었다. 5960.20원 값은 5960.00 처럼 바뀌었다. 소수점 뒤에 나오는 값을 안보이게 하는건 출력쪽에서 바꿔줘야할듯 싶으나 거기까지는 내가 건드릴 수 있는 영역은 아니었다.

Leave a Reply

Your email address will not be published. Required fields are marked *