IoT, 스마트홈

Home assistant 에서 라즈베리파이 + Proxmox CPU 온도 체크하기

Dr CK 2023. 10. 25. 16:52
반응형

Home assistant 에서 CPU 온도를 확인하는 방법은 여러가지가 있지만 Proxmox에 올린 Home assistant에서 CPU 온도를 체크하는 방법은 조금 다르다.

 

설정은 HA의 add-on으로 설치했던 Terminal에서 진행한다. Terminal에서 다음처럼 입력한다.

ssh-keygen

이후 엔터엔터 쳐서 key를 제공 받는다.

ssh-copy-id username@proxmox_ip_adress

제공받은 key를 proxmox에 넘겨준다. 이때 한번 proxmox 의 암호가 필요하게 되고, 이후에 ssh로 접속을 하려면 암호입력없이 가능하게 된다.

cp /root/.ssh/id_rsa /config

HA sensor가 /root/ 내에 접근하기 어려운듯 하여 id_rsa 를 /config 로 복사해준다. (솔직히 나도 뭔말인지 모르겠고 그냥 따라하자)

 

이제 센서를 만들면 되는데, 여기서 좀 개인마다 차이가 있는것 같다. 라즈베리파이에서 어디에 CPU 온도가 저장되어있는지 확인을 해 봐야 한다.

Terminal도 좋고, 어디든 SSH 로 라즈베리파이(proxmox)에 접속을 해보자. 나는 HA terminal에서 그냥 진행했다.

SSH 로 접속을 해서 한번 뒤져보자.

(ls 는 MS-DOS의 dir 과 같은 폴더내부를 보여주는 명령어이고, cat는 터미널상 텍스트 파일을 보는 명령어이다)

위에서 보면 ls 명령어로 /sys/class에 들어가보면 hwmon이 있고, 여기에 hwmon0, hwmon1, hwmon2 가 보이는데 이중 hwmon0에 temp1_input 이 있었다. 이게 라즈베리파이의 CPU 온도이고, cat 명령어로 확인해보니 CPU 온도가 54530으로 보인다.

바로 이 /sys/class/hwmon/hwmon0/temp1_input 을 HA로 가져오면 된다.

 

HA에서 configuration.yaml에 추가하자.

command_line:
  - sensor:
      name: 'Raspberry Pi CPU Temp'
      command: "ssh -i /config/id_rsa -o StrictHostKeyChecking=no username@proxmox_ip_adress -t 'cat /sys/class/hwmon/hwmon0/temp1_input'"
      unit_of_measurement: '°C'
      scan_interval: 300
      value_template: '{{ (value | multiply(0.001)) | round(0) }}'

이렇게 되면 센서가 완성되고, 대시보드에 이렇게 올릴 수 있다.

 

이렇게 라즈베리파이에 접속해서 정보를 가져올 수 있었는데, 좀 더 응용해보면 다른 정보들도 (하드 용량, RAM 등등) 가져올수 있겠다.


사실 이거 전에 Glances를 이용해서 정보를 가져오려고 했었는데, 설치까지는 다 했고, 지속적으로 HA에 가져오는 과정에서 문제가 생겨 다른 방법으로 선회하기는 했다. Glances는 HA에 integration도 있고, 확인되는 정보들도 많아서 잘 구성하면 좋을것 같긴한데, 위에 SSH와 command line을 이용하여 정보를 가져오는것도 꽤 유용하여 Glances는 나중에 필요하면 써볼것 같긴 하다.

 

Glances - An Eye on your system

 Export Export all system statistics to CSV, InfluxDB, Cassandra, OpenTSDB, StatsD, ElasticSearch or even RabbitMQ. Glances also provides a dedicated Grafana dashboard.

nicolargo.github.io