Skip to content

Instantly share code, notes, and snippets.

@xbmcnut
Last active December 5, 2023 21:19
Show Gist options
  • Star 31 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save xbmcnut/6d239de9523246d7a831ca55be6564c2 to your computer and use it in GitHub Desktop.
Save xbmcnut/6d239de9523246d7a831ca55be6564c2 to your computer and use it in GitHub Desktop.
Making an outdoor motion sensor smart using a Shelly 1
/**
* I figured out you can fit a Shelly 1 inside the case of many outdoor motion sensors.
* Coupled with that fact that recently, Shelly added a feature to de-couple the switch from the relay
* so they act independently, makes this a great combo! Simply wire the output of the PIR motion sensor
* (the wire that normally goes to your outdoor light) to the switch input of the Shelly and wire
* the lightbulb to the L output of the Shelly. Then, in the Shelly app or directly via the devices webpage,
* select the button type as 'Detached Switch' and use the code below to make it work normally.
* Don't forget to adjust the daylight sensitivity to full daylight if you want the motion detection to work 24/7.
*/
#### AUTOMATIONS ####
automation:
- alias: Shelly PIR Auto
# initial_state: true
# hide_entity: true
trigger:
- platform: state
entity_id: sensor.pir_motion_sensor_status
condition:
condition: or
conditions:
- condition: sun
before: sunrise
- condition: sun
after: sunset
action:
- service_template: "{% if is_state('sensor.pir_motion_sensor_status' , '1')
%} light.turn_on {% else %}
light.turn_off {% endif %}"
entity_id: light.pir_motion_sensor
light:
- platform: mqtt
name: "PIR Motion Sensor"
state_topic: "shellies/shelly1-0x0x0x/relay/0"
command_topic: "shellies/shelly1-0x0x0x/relay/0/command"
availability_topic: shellies/shelly1-0x0x0x/online
payload_available: "true"
payload_not_available: "false"
qos: 2
payload_on: "on"
payload_off: "off"
retain: false
optimistic: false
## SENSORS ##
sensor:
#### Status of Shelly switch input for PIR ###
- platform: mqtt
name: "PIR Motion Sensor Status"
state_topic: "shellies/shelly1-0x0x0x/input/0"
@xbmcnut
Copy link
Author

xbmcnut commented Jul 6, 2023

@michamichamicha There is a bit of chatter at the beginning of this thread about adding another relay between the motion sensor and the Shelly input. It seems the Shelly SW input is 'floating' as indicated by this post here. Mine was working flawlessly in the early days but in the last 12 months, it triggers randomly all the time so I'm going to remove it and debug and I'll report the findings here.

https://community.home-assistant.io/t/shelly-1-25vac-on-input-motion-sensor-attached-gives-100-vac/100943

@craigcurtin-dev
Copy link

craigcurtin-dev commented Jul 6, 2023 via email

@xbmcnut
Copy link
Author

xbmcnut commented Jul 6, 2023

For reference, I just popped a Shelly 1 PM on the bench with just a 230V AC supply and unloaded, the SW input measures 126V AC.

@craigcurtin-dev
Copy link

craigcurtin-dev commented Jul 7, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment