WLED/usermods/Temperature
srg74 43c5de074f
Update usermod_temperature.h
Typo in line 149
2022-05-27 15:42:03 -04:00
..
platformio_override.ini Async temperature usermod (#1178) 2020-09-13 19:26:27 +02:00
readme.md Updated usermod readme and usability enhancements. 2021-05-17 12:52:27 +02:00
usermod_temperature.h Update usermod_temperature.h 2022-05-27 15:42:03 -04:00
usermods_list.cpp Async temperature usermod (#1178) 2020-09-13 19:26:27 +02:00

Temperature usermod

Based on the excellent QuinLED_Dig_Uno_Temp_MQTT by srg74 and 400killer!
This usermod will read from an attached DS18B20 temperature sensor (as available on the QuinLED Dig-Uno)
The temperature is displayed both in the Info section of the web UI as well as published to the /temperature MQTT topic if enabled.
This usermod may be expanded with support for different sensor types in the future.

If temperature sensor is not detected during boot, this usermod will be disabled.

Installation

Copy the example platformio_override.ini to the root directory. This file should be placed in the same directory as platformio.ini.

Define Your Options

  • USERMOD_DALLASTEMPERATURE - define this to have this user mod included wled00\usermods_list.cpp
  • USERMOD_DALLASTEMPERATURE_FIRST_MEASUREMENT_AT - the number of milliseconds after boot to take first measurement, defaults to 20 seconds

All parameters can be configured at runtime using Usermods settings page, including pin, selection to display temerature in degrees Celsius or Farenheit mand measurement interval.

PlatformIO requirements

If you are using platformio_override.ini, you should be able to refresh the task list and see your custom task, for example env:d1_mini_usermod_dallas_temperature_C.

If you are not using platformio_override.ini, you might have to uncomment OneWire@~2.3.5 under [common] section in platformio.ini:

# platformio.ini
...
[platformio]
...
; default_envs = esp07
default_envs = d1_mini
...
[common]
...
lib_deps =
  ...
  #For Dallas sensor uncomment following line
  OneWire@~2.3.5
...

Change Log

2020-09-12

  • Changed to use async, non-blocking implementation
  • Do not report low temperatures that indicate an error to mqtt
  • Disable plugin if temperature sensor not detected
  • Report the number of seconds until the first read in the info screen instead of sensor error 2021-04
  • Adaptation for runtime configuration.