The simulated sensor platform provides a simulated sensor that generates a time-varying signal V(t) given by the function:

V(t) = M + A sin((2 pi (t - t_0) / w) + P) + N(s)


  • M = the mean value of the sensor
  • A = the amplitude of the periodic contribution
  • t = the time when a value is generated
  • t_0 = the time when the sensor is started
  • w = the time period in seconds for a single complete cycle of the periodic contribution
  • P = the phase offset to add to the periodic contribution, in units of degrees
  • N(s) = the random Gaussian noise with spread s

The output will be limited to 3 decimals.


To add a simulated sensor to your installation, add the following to your configuration.yamlThe configuration.yaml file is the main configuration file for Home Assistant. It lists the integrations to be loaded and their specific configurations. In some cases, the configuration needs to be edited manually directly in the configuration.yaml file. Most integrations can be configured in the UI.[Learn more] file:

  - platform: simulated

Configuration Variables

name string (Optional, default: simulated)

The name of the sensor.

unit string (Optional, default: value)

The unit to apply.

amplitude float (Optional, default: 1)

The amplitude of periodic contribution.

mean float (Optional, default: 0)

The mean level of the sensor.

period integer (Optional, default: 0)

The time in seconds for one complete oscillation of the periodic contribution.

phase float (Optional, default: 0)

The phase offset (in degrees) to apply to the periodic component.

seed integer (Optional, default: 999)

The seed value for the random noise component.

spread float (Optional, default: None)

The spread is the range of the randomly distributed values about their mean. This is sometimes referred to as the Full Width at Half Maximum (FWHM) of the random distribution.

relative_to_epoch boolean (Optional, default: true)

Whether to simulate from epoch time (00:00:00, 1970-01-01), or relative to when the sensor was started.


To give an example of simulating real world data, a simulated relative humidity sensor (in %) can be added using the following configuration:

  - platform: simulated
    name: "simulated relative humidity"
    unit: "%"
    amplitude: 0 # Turns off the periodic contribution
    mean: 50
    spread: 10
    seed: 999
    relative_to_epoch: false