MAX31855 Compatibility issues #402
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Running Octoprint on raspberry Pi 4, with some GPIO interface (PSU control) but using a supported temperature device from enclosure (MAX31855) I have exhausted all the troubleshooting steps and I am still unable to get a real temperature value. I have multiple raspberry pis, and I am able to get temperature data from MAX31855 on all of the raspberry pis, including the one that is dedicated to octoprint (via ssh, nano) using the same ports recommended in enclosure, but the temperature reads 0C or 32F meaning it is not recognizing the data. Screenshot and log provided.

octoprint.log
browser.user_agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36
connectivity.connection_check: 8.8.8.8:53
connectivity.connection_ok: true
connectivity.enabled: true
connectivity.online: true
connectivity.resolution_check: octoprint.org
connectivity.resolution_ok: true
env.hardware.cores: 4
env.hardware.freq: 1500
env.hardware.ram: 1903312896
env.os.bits: 32
env.os.id: linux
env.os.platform: linux
env.plugins.pi_support.model: Raspberry Pi 4 Model B Rev 1.1
env.plugins.pi_support.octopi_version: 0.17.0
env.plugins.pi_support.throttle_state: 0x0
env.python.pip: 20.2.3
env.python.version: 3.7.3
env.python.virtualenv: true
octoprint.safe_mode: false
octoprint.version: 1.5.3
To Reproduce

Steps to reproduce the behavior:
tried deleting enclosure, closing, rebooting, and all combinations. Cannot get the data thru on the enclosure plugin. I have 2 MAX31855s and both exhibit the same issue.
I realize the photo attached is some knockoff MAX31855, but the temperature data is still valid and works thru the very basic code to run the MAX31855
import time
import board
import busio
import digitalio
import adafruit_max31855
spi = busio.SPI(board.SCK, MOSI=board.MOSI, MISO=board.MISO)
cs = digitalio.DigitalInOut(board.D24)
max31855 = adafruit_max31855.MAX31855(spi, cs)
while True:
tempC = max31855.temperature
tempF = tempC * 9 / 5 + 32
print("Temperature: {} C {} F ".format(tempC, tempF))
time.sleep(2.0)
Expected behavior
What do I need to modify to enable temperature? I tried for 2 days straight and I'm frustrated and not sure where else to look for help.
Additional context
Add screenshots of your settings screen, so I know how to recreate the data. Also enable the debug information under the advanced section of the plugin, reproduce the issue and attach the octoprint log here. Done.
octoprint.log