devices.esphome.io

Shelly Uni

Shelly Uni

Device Type: sensor
Electrical Standard: eu
Board: esp8266
Difficulty: Plug-n-flash, 2/5

Notes

Shelly UNI is the smallest universal module with two available digital inputs and potential-free outputs, providing endless functionalities.

  • 2 digital inputs
  • 2 potential-free outputs
  • ADC can measure any voltage from 0 to 30 VDC
  • supports DS18B20 temperature sensors or a DHT22 humidity and temperature sensor, ...

device wiring header

GPIO Pinout

PinGPIOFunctionWire
GPIO00Red LED
1VAC, VDC+red
2VAC, VDC-black
3GPIO17ADC Inputwhite
43.3Vyellow
5GPIO05Sensorblue
6GNDgreen
7GPIO12Input 1orange
8GPIO13Input 2brown
GPIO15Output 1
GPIO04Output 2
GPIO14ADC Range

ADC range Selector

ADC Input (GPIO17) have two ranges (0 - 15 or 0 - 30V), selectable by GPIO14. If you configure GPIO14 as switch and turn it on you get 30V input range. Tested by Protoncek.

Basic Configuration

esphome:
name: Shelly Uni
esp8266:
board: esp_wroom_02
restore_from_flash: true
logger:
esp8266_store_log_strings_in_flash: False
logger:
level: INFO
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret esp_api_key
ota:
password: !secret ota_secret
external_components:
- source: github://nrandell/dallasng
dallasng:
- pin:
number: GPIO05
mode:
input: True
pullup: True
update_interval: '7s'
sensor:
- platform: dallasng
address: 0xaf00000001b25428
name: "Temperature"
filters:
- filter_out: 85.0
- platform: wifi_signal
name: "RSSI"
id: sensor_rssi
update_interval: 90s
entity_category: "diagnostic"
- platform: uptime
name: "Uptime"
id: sensor_uptime
update_interval: 300s
entity_category: "diagnostic"
button:
- platform: restart
name: "Restart"
id: button_restart
switch:
- platform: output
name: "Output 1"
output: out_1
- platform: output
name: "Output 2"
output: out_2
output:
- platform: gpio
id: out_1
pin:
number: GPIO15
inverted: False
- platform: gpio
id: out_2
pin:
number: GPIO04
inverted: False
binary_sensor:
- platform: status
name: "Status"
id: sensor_status
- platform: template
name: "API connected"
id: sensor_api_connected
internal: True
entity_category: 'diagnostic'
device_class: 'connectivity'
lambda: return global_api_server->is_connected();
on_press:
- light.turn_on: led_status
on_release:
- light.turn_off: led_status
- platform: gpio
name: "Input 1"
pin:
number: GPIO12
mode: INPUT_PULLUP
inverted: False
- platform: gpio
name: "Input 2"
pin:
number: GPIO13
mode: INPUT_PULLUP
inverted: False
light:
- platform: status_led
name: "LED"
id: led_status
pin:
number: GPIO00
inverted: True
internal: True
restore_mode: ALWAYS_OFF
Edit this page on GitHub