diff --git a/octoprint_enclosure/__init__.py b/octoprint_enclosure/__init__.py
index 473321c..509abbe 100644
--- a/octoprint_enclosure/__init__.py
+++ b/octoprint_enclosure/__init__.py
@@ -21,7 +21,7 @@ import inspect
import threading
import json
import copy
-
+from .getPiTemp import PiTemp
#Function that returns Boolean output state of the GPIO inputs / outputs
def PinState_Boolean(pin, ActiveLow) :
@@ -865,6 +865,9 @@ class EnclosurePlugin(octoprint.plugin.StartupPlugin, octoprint.plugin.TemplateP
temp, hum = self.read_bme280_temp(sensor['temp_sensor_address'])
elif sensor['temp_sensor_type'] == "am2320":
temp, hum = self.read_am2320_temp() # sensor has fixed address
+ elif sensor['temp_sensor_type'] == "rpi":
+ temp = self.read_rpi_temp() # rpi CPU Temp
+ hum = 0
elif sensor['temp_sensor_type'] == "si7021":
temp, hum = self.read_si7021_temp(sensor['temp_sensor_address'], sensor['temp_sensor_i2cbus'])
elif sensor['temp_sensor_type'] == "tmp102":
@@ -998,6 +1001,19 @@ class EnclosurePlugin(octoprint.plugin.StartupPlugin, octoprint.plugin.TemplateP
"Failed to execute python scripts, try disabling use SUDO on advanced section of the plugin.")
self.log_error(ex)
return (0, 0)
+
+ def read_rpi_temp(self):
+ try:
+ pitemp = PiTemp()
+ temp = pitemp.getTemp()
+ if self._settings.get(["debug_temperature_log"]) is True:
+ self._logger.debug("Pi CPU result: %s", temp)
+ return temp
+ except Exception as ex:
+ self._logger.info(
+ "Failed to get pi cpu temperature")
+ self.log_error(ex)
+ return 0
def read_si7021_temp(self, address, i2cbus):
try:
diff --git a/octoprint_enclosure/getPiTemp.py b/octoprint_enclosure/getPiTemp.py
new file mode 100644
index 0000000..ca8f137
--- /dev/null
+++ b/octoprint_enclosure/getPiTemp.py
@@ -0,0 +1,10 @@
+from gpiozero import CPUTemperature
+
+import ctypes
+import struct
+import sys
+
+class PiTemp:
+ def getTemp(self):
+ temp = CPUTemperature()
+ return '{0:0.1f}'.format(temp.temperature)
diff --git a/octoprint_enclosure/templates/enclosure_settings.jinja2 b/octoprint_enclosure/templates/enclosure_settings.jinja2
index a30ca69..4a9e42b 100644
--- a/octoprint_enclosure/templates/enclosure_settings.jinja2
+++ b/octoprint_enclosure/templates/enclosure_settings.jinja2
@@ -539,6 +539,7 @@
+
@@ -614,7 +615,7 @@
-
+