# salt.modules.sensehat

Module for controlling the LED matrix or reading environment data on the SenseHat of a Raspberry Pi.

Added in version 2017.7.0.

maintainer:

  Benedikt Werner <1benediktwerner@gmail.com>, Joachim Werner <joe@suse.com>

maturity:

  new

depends:

  sense_hat Python module

The rotation of the Pi can be specified in a pillar. This is useful if the Pi is used upside down or sideways to correct the orientation of the image being shown.

Example:

    sensehat:
        rotation: 90

salt.modules.sensehat.clear(color=None)

  Sets the LED matrix to a single color or turns all LEDs off.

  CLI Example:

      salt 'raspberry' sensehat.clear
      salt 'raspberry' sensehat.clear '[255, 0, 0]'

salt.modules.sensehat.get_humidity()

  Get the percentage of relative humidity from the humidity sensor.

salt.modules.sensehat.get_pixel(x, y)

  Returns the color of a single pixel on the LED matrix.

  x

    The x coordinate of the pixel. Ranges from 0 on the left to 7 on the right.

  y

    The y coordinate of the pixel. Ranges from 0 at the top to 7 at the bottom.

  Note

  Please read the note for `get_pixels`

salt.modules.sensehat.get_pixels()

  Returns a list of 64 smaller lists of `[R, G, B]` pixels representing the the currently displayed image on the LED matrix.

  Note

  When using `set_pixels` the pixel values can sometimes change when you read them again using `get_pixels`. This is because we specify each pixel element as 8 bit numbers (0 to 255) but when they're passed into the Linux frame buffer for the LED matrix the numbers are bit shifted down to fit into RGB 565. 5 bits for red, 6 bits for green and 5 bits for blue. The loss of binary precision when performing this conversion (3 bits lost for red, 2 for green and 3 for blue) accounts for the discrepancies you see.

  The `get_pixels` method provides an accurate representation of how the pixels end up in frame buffer memory after you have called `set_pixels`.

salt.modules.sensehat.get_pressure()

  Gets the current pressure in Millibars from the pressure sensor.

salt.modules.sensehat.get_temperature()

  Gets the temperature in degrees Celsius from the humidity sensor. Equivalent to calling `get_temperature_from_humidity`.

  If you get strange results try using `get_temperature_from_pressure`.

salt.modules.sensehat.get_temperature_from_humidity()

  Gets the temperature in degrees Celsius from the humidity sensor.

salt.modules.sensehat.get_temperature_from_pressure()

  Gets the temperature in degrees Celsius from the pressure sensor.

salt.modules.sensehat.low_light(low_light=True)

  Sets the LED matrix to low light mode. Useful in a dark environment.

  CLI Example:

      salt 'raspberry' sensehat.low_light
      salt 'raspberry' sensehat.low_light False

salt.modules.sensehat.set_pixel(x, y, color)

  Sets a single pixel on the LED matrix to a specified color.

  x

    The x coordinate of the pixel. Ranges from 0 on the left to 7 on the right.

  y

    The y coordinate of the pixel. Ranges from 0 at the top to 7 at the bottom.

  color

    The new color of the pixel as a list of `[R, G, B]` values.

  CLI Example:

      salt 'raspberry' sensehat.set_pixel 0 0 '[255, 0, 0]'

salt.modules.sensehat.set_pixels(pixels)

  Sets the entire LED matrix based on a list of 64 pixel values

  pixels

    A list of 64 `[R, G, B]` color values.

salt.modules.sensehat.show_image(image)

  Displays an 8 x 8 image on the LED matrix.

  image

    The path to the image to display. The image must be 8 x 8 pixels in size.

  CLI Example:

      salt 'raspberry' sensehat.show_image /tmp/my_image.png

salt.modules.sensehat.show_letter(letter, text_color=None, back_color=None)

  Displays a single letter on the LED matrix.

  letter

    The letter to display

  text_color

    The color in which the letter is shown. Defaults to '[255, 255, 255]' (white).

  back_color

    The background color of the display. Defaults to '[0, 0, 0]' (black).

  CLI Example:

      salt 'raspberry' sensehat.show_letter O
      salt 'raspberry' sensehat.show_letter X '[255, 0, 0]'
      salt 'raspberry' sensehat.show_letter B '[0, 0, 255]' '[255, 255, 0]'

salt.modules.sensehat.show_message(message, msg_type=None, text_color=None, back_color=None, scroll_speed=0.1)

  Displays a message on the LED matrix.

  message

    The message to display

  msg_type

    The type of the message. Changes the appearance of the message.

    Available types are:

        error:      red text
        warning:    orange text
        success:    green text
        info:       blue text

  scroll_speed

    The speed at which the message moves over the LED matrix. This value represents the time paused for between shifting the text to the left by one column of pixels. Defaults to '0.1'.

  text_color

    The color in which the message is shown. Defaults to '[255, 255, 255]' (white).

  back_color

    The background color of the display. Defaults to '[0, 0, 0]' (black).

  CLI Example:

      salt 'raspberry' sensehat.show_message 'Status ok'
      salt 'raspberry' sensehat.show_message 'Something went wrong' error
      salt 'raspberry' sensehat.show_message 'Red' text_color='[255, 0, 0]'
      salt 'raspberry' sensehat.show_message 'Hello world' None '[0, 0, 255]' '[255, 255, 0]' 0.2