Obey bus setting for MCP9808 #484

Merged
ihatemyisp merged 1 commits from i2c_bus_0 into master 2022-03-12 19:00:46 +00:00
2 changed files with 7 additions and 8 deletions

View File

@@ -1036,7 +1036,7 @@ class EnclosurePlugin(octoprint.plugin.StartupPlugin, octoprint.plugin.TemplateP
hum = 0
airquality = 0
elif sensor['temp_sensor_type'] == "mcp9808":
temp = self.read_mcp_temp(sensor['temp_sensor_address'])
temp = self.read_mcp_temp(sensor['temp_sensor_address'], sensor['temp_sensor_i2cbus'])
hum = 0
airquality = 0
elif sensor['temp_sensor_type'] == "temp_raw_i2c":
@@ -1121,10 +1121,10 @@ class EnclosurePlugin(octoprint.plugin.StartupPlugin, octoprint.plugin.TemplateP
self._logger.warn(message)
return str(-1)
def read_mcp_temp(self, address):
def read_mcp_temp(self, address, i2cbus):
try:
script = os.path.dirname(os.path.realpath(__file__)) + "/mcp9808.py"
args = ["python", script, str(address)]
args = ["python", script, str(i2cbus), str(address)]
if self._settings.get(["debug_temperature_log"]) is True:
self._logger.debug("Temperature MCP9808 cmd: %s", " ".join(args))
proc = Popen(args, stdout=PIPE)

View File

@@ -28,13 +28,12 @@ MCP9808_REG_CONFIG_ALERTMODE = 0x0001
def main():
# get bus address if provided or use default address
# get i2c bus and bus address if provided or use defaults
address = MCP9808_I2CADDR_DEFAULT
if len(sys.argv) == 2:
address = int(sys.argv[1], 16)
# get I2C bus
bus = smbus.SMBus(1)
if len(sys.argv) > 1:
bus = smbus.SMBus(int(sys.argv[1]))
address = int(sys.argv[2], 16)
# MCP9808 address, default 0x18(24)
# configuration register, 0x01(1)