Cost effective door/window sensors (UK)

On the Orvibo plug: @adamv has an integration method for them, but it requires a raspberry pi and a .node server. So if you’re technical, it should be of interest, but it’s more work than the sensors.

Had a quick look at the code in the node library used by this and it uses UDP so can’t be used with a direct integration as it stands. So this is probably still the best approach for now.

Just saw that Orvibo have an RGB controller now too:

Says it’s Zigbee HA, I just bought 4 Fibaro RGB controllers :unamused:


I’ve ordered one to test


Has anyone got a link to the orvibo door/window sensors in the eu bangood site? I couldn;t find it in there?

I don’t think they are stocked in the EU warehouse - you have to get them sent from China.

Takes just under a month.

Bought a couple of motion sensors for something I want to do :slight_smile: Not in any major hurry, they’ll come when they come :slight_smile:

from the normal site?

The more I look at the sensors that are available the more I realise the smartthings versions are at a complete premium to every other smarthome option. Its really frustrating!!!

@Kriskit if you get that motion sensor working I’d love to know what you did as I haven’t been able to.

Oh… earlier in the thread you alluded that it worked :confused:

When you say it doesn’t work, do you mean it won’t pair? If they do pair then I can hopefully work out what’s going on …

I suspect I misread while skimming :frowning:

@Kriskit the motion sensor works… but it shows permanently triggered. If you look through the live logging it works perfectly - detecting motion and then dropping. I am no coder - I am a copy n paster - so I doubt it will be difficult to get it to work properly.

Ah ok, that’s promising then. I’m sure I can sort something out :smiley:

There is discussion of device handlers for the motion sensor in the other thread. I thought Eric had posted code that would get them to report, but perhaps it didn’t work. Anyway, both Eric and Mitch are zigbee masters and should be able to get it working if you discuss it with them in the other thread:

I think the fix is pretty simple and clear in that thread. You just modify the device handler to reset to inactive after 30 seconds whenever it fires.
Mind you I haven’t tried it also!

1 Like

I get my orvibo door/window sensors connected and appears as “thing” and then i change to “Door / Window Sensor (SG)” but no respons only showing open sensor.
Any tips?

Change it to open/close sensor.


Perfect, thanx! :slight_smile:

@PailOckenden Thanks also. Wasn’t sure myself what type to set. Mine only took about 10 days to come from banggood.

@Kriskit looking forward to seeing how you get on with the motion sensors.

Hi Jon,

I’m no coder either but I think i’ve got the motion sensor working using Eric’s advice on the other thread. I just used the Motion Detector Device Handler template and added those lines Eric stated, hopefully the below will get it working for you:

metadata {
	definition (name: "Motion Detector", namespace: "smartthings", author: "SmartThings") {
		capability "Motion Sensor"
		capability "Sensor"

		fingerprint profileId: "0104", deviceId: "0402", inClusters: "0000,0001,0003,0009,0500"

	// simulator metadata
	simulator {
		status "active": "zone report :: type: 19 value: 0031"
		status "inactive": "zone report :: type: 19 value: 0030"

	// UI tile definitions
	tiles {
		standardTile("motion", "device.motion", width: 2, height: 2) {
			state("active", label:'motion', icon:"", backgroundColor:"#53a7c0")
			state("inactive", label:'no motion', icon:"st.motion.motion.inactive", backgroundColor:"#ffffff")

		main "motion"
		details "motion"

// Parse incoming device messages to generate events
def parse(String description) {

    def name = null
	def value = description
	def descriptionText = null
	if (zigbee.isZoneType19(description)) {
		name = "motion"
		def isActive = zigbee.translateStatusZoneType19(description)
		value = isActive ? "active" : "inactive"
		descriptionText = isActive ? "${device.displayName} detected motion" : "${device.displayName} motion has stopped"

if (value == "active") runIn(30, stopMotion)

	def result = createEvent(
		name: name,
		value: value,
		descriptionText: descriptionText

	log.debug "Parse returned ${result?.descriptionText}"
	return result
    	 def stopMotion() {
    sendEvent(name:"motion", value:"inactive")
1 Like

Many thanks @teenteenadundun. My hub is in Spain but I will be back there in a fortnight and will take the motion sensor with me to try!