Product Review: GE Hinge Pin Smart Door Sensor

When I saw this device I knew I had to try it out. Primarily because in some cases you can have issues using Aeotec’s Door/Window Sensor 6 with metal doors. I do have one on a metal door and I have not seen it so much in Home Assistant but in Vera it would occasionally lose communication with the hub. I could go wake up the sensor and it would be fine until the nxt time. It was not terribly frequent and not a huge hassle but the sensor was just a matter of 12’ or so from the hub.

I occurred to me, then, that the GE sensor may be a better solution to such a situation as it’s not attached to the door, in the same manner, rather, it is mounted on the door’s hinge pin. A novel idea if you ask me. It may not be for everyone, but it is an alternative. So I put my order in for one to test it out.

With that, let’s take a look and see what it looks like.

First, the box:

Now the sensor itself:

The device will work with either left or right-hand doors. My understanding, also, is that it is supposed to be OTA updateable. I have not been able to confirm that, however.

It is kind of an elegant looking device and while it won’t be completely unnoticeable, it will fit in. It also comes in different styles also.

I decided that instead of pairing the device directly with my Aeotec Z-Stick I would pair it within Home Assistant. I initiated the ZWave Add Node from within Home Assistant and it gave the indication it had paired almost instantly.

Those were the only two items that showed up. I have paired enough devices to know that such a device should have some kind of binary sensor entity. However, the above two items were the only ones that showed up. I have had this issue before in Home Assistant, where devices pair, but it’s like it stops at that and does not finish the configuration. I was going to have to restart Home Assistant anyway to reload my configuration to have the device show up on the front end, so I went ahead and shut it down so I could start up the Open ZWave Control Panel.

When that was all started and going I could see why not everything had not showed up:

This is the primary reason I just go through the process of pairing directly with the Z-Stick. This has happened many times. In fact, even after I shut down OZWCP and restart Home Assistant, I still have to restart it one more time to get all the entities to show up.

At any rate, I let OZWCP go through its process to poll the device and get the configuration information.

So everything seems to be configured and set up and shows up as it should. Unfortunately, this is where the fun ended. Not really in a bad way, but I would not be able to progress to a full installation.

I restarted Home Assistant and had my view set up so I could see the various entities. My plan, once I had a better grasp of the other entities involved other than the binary sensor, was to leave it in the group with the other door in my living room. However, I discovered that the binary sensor was not reporting correctly.

The ‘Back Door’ listed in the group is monitored by an Aeotec Door sensor. Everything below that is the GE sensor. As you can see, it shows a status of on and an access control of 23. I am not sure what the access control is supposed to mean, but it does change with the open and close of the sensor.

As you can see, it is sending information back, but the binary sensor, the one I really want to work, is not reporting correctly. I pressed the ‘Action Button’ to borrow the term from Aeotec and it did change the binary sensor status to that it was in at the time I woke it up:

However, activating the sensor just did not change the state of the binary sensor at all. I went back into OZWCP to see if I could get a grasp on what was going on. One of the things I noticed is that there is no way to keep the device awake (at least that I have found) more than a very brief second. As such, I was unable to change its reporting status from notification to even Basic Set.

I thought, you know what, I am going to call tech support and see if they can shed any light on this. You end up calling Jasco who makes the device. And while I had a small delay in getting through (wait time) I did get through to a live person. He took all my information, details about my set up ( I think I confused them a little when I told them my home automation was not on a hub per se, but running on a Raspberry Pi with Home Assistant). The guy didn’t throw his hands up or anything, he asked about my set up, the number of nodes I have and so on. He told me he was sending the information over to the engineering team and would call me back when he had a response from them. The call never came. Though, I will hold out, for now, that they need some time to diagnose the issue.

Basically what it came down to was that I would not install this on the hinge since it was not fully functional. But I did go through the process of setting it up for the door. The instructions in the manual seem a bit convoluted to me. I think they could be written a little better, but the gist of it is you are just flipping the gear mechanism and the lever arm around depending on whether the door opens from the left or right. There is a small but long winded screw that holds everything up top, together.

If it is not apparent now, the teeth on the arm are pretty fine. Not that it is a concern, rather I point it out because you can really fine tune the point in which the sensor is activated. The direction your door opens will determine the set up (obviously) and it is marked on the gear itself:

If your door opens to the right, then the end marked RIGHT will be upward, and if it opens to the left, then the end marked LEFT will be facing upward.

The lever arm is marked with an ‘L’ on one side which should be facing up for a left opening door, the other side, however, does not have a corresponding ‘R’, but I figure if they point out one side for you, you should be able to deduce what the other side is for.

There are alignment ‘dots’ on each side of the lever that are supposed to line up with the gear mechanism:

The idea being, that when you line up those dots, the arm should be in the right spot for operation. I did not find that to be the case. You will also notice that the gear portion has a section that is recessed. Those raised and recessed areas are what ‘trip’ the sensor by pushing down on a pin or letting it pop up

The device is powered by a CR2 battery and I want to say that the information I saw stated around a 1-year life. I have some thoughts on this. Not about the battery life, but the design of it in the device. First, that is a big enough battery that I suspect they could have made it USB rechargeable, but then again, that is an added cost to manufacturing. However, you can buy CR2 rechargeable batteries all day long. The battery that it came with has a capacity of 750mAh. I know you can get them at 1000mAh and perhaps even higher. Quite frankly, I am okay with that option too. Being attached to a hinge, unless they designed it to be specifically so, its not a quick task of unmounting it for recharging, unlike the Aeotec Door/Window sensor.

I wish I could have worked out the issue with the binary sensor. I did try setting the configuration parameter from within Home Assistant but it just would not take. So I am hoping Jasco will call me back and have a solution, or perhaps tell me I got a bum sensor and need a new one. At any rate, once I am able to get it working and mounted I will follow up with that.

7 Likes

Nice review. I had a similar issue with Jasco’s tech support. But in my case, the second email to them asking if anyone was going to get back to me, got me a response with about 3 hours I think.
I like the idea of this device. The gears worry me though. Are the gears metal or plastic? I’m concerned that they may strip if they are plastic being so shallow. Do you know if this is just a zwave receiver, or if it is actively part of the network. I know most battery operated devices only receive and don’t act as part of the network, but it’s worth asking since you have one. Since these are at the doors, wouldn’t it be nice if they had a bluetooth radio built in that could read a tag or something and tell HA who just came through the door.
Anyway, it’s going to be a few months before I can play with this. I still have two hallways, three bathrooms, and one gameroom to buy wall switches for and my wife has limited me to one room a month. Evidently I went a little overboard at Christmas. :slight_smile:

1 Like

The gears are metal so I don’t think there is any concern there. As well, it all fits nicely so I don’t think there would be much in the way of impact type wear from sloppy fitments.

As far as I can tell it’s just a receiver. I absolutely love your thought on it having a Bluetooth radio. That would be absolutely awesome. Man, think of the room specific, person specific automations you could run off that. If you have any other specific questions or anything like that, let me know. I plan on keeping it for now unless they (Jasco) determine it is a bad device and replace it. Then I will install it.

I hear you also on the costs. I am at the point I am going to have to buy a bunch of Door/Window sensors for all the windows mainly. Then I got to come up with or build an approx. 20U rack for some switch gear, PoE Injector, etc. I hope to also get my hands on a 2U server so I can run HA from. Then I get to buy all the motion sensors and video cameras, LOL. It’s going to take some time, but I am having fun for the most part.

@turboc I may have been wrong about the repeater aspect. The link seems to indicate it may be a repeater also. Though I do not see how that can be as it is very quick to go into sleep mode.

Jasco Hinge Pin Smart Door Sensor

So I have learned something new about the sensor. The inclusion button on the device is also the programming button. You can use it to program the reporting mode (Notification, Basic Set, Basic Report) which I have been unsuccessful in figuring out how to do. The manual says to press the button five times (5x) and then next to that it has another number (1, 2, 3) but I have yet to figure out what that is for. The programming button is labeled E. So to program it the instructions are:

Notification E 5x (( 1 ))
Basic Set E 5x (( 2 ))
Basic Report E 5x (( 3 ))

However, I know that just pressing the button 5x changes the default status of the binary sensor. If you want it to be Open/On by default, then you trigger the sensor, hold it there, then press the button 5x. If you want it be Off/Closed by default, then leave the sensor untriggered and press the button 5x.

If I can figure out what that other number represents, I can change the reporting status and perhaps get this thing to work. In the manual the button is clearly labeled E, but there is nothing labeled 1, 2, or 3.

it’s probably the number of times you have to press it 5 times. That’s the way some of the lights reset to factory defaults, you turn them off three times wait three seconds and repeat 5 times. That kind of thing. Try pressing the button 5 times, wait a couple of seconds and do it again, see if that changes it to basic set or repeat three times and see if it goes to basic report (whatever that is).

Geeesh, if it is like that, what a freakin’ convoluted way to do so, LOL

I would much rather be able to just set these parameters in OZWCP. That was one thing Vera had going for it, you could set this stuff from within the app and then it would set the changes.

EDIT:
The instructions do say you can press the E (programming) button 10 time and it will reset. But it at least gives you a visual confirmation that something happened with the LED indicator.

True,
But Jasco and GE don’t have a hub, they are trying to market the products and stay out of the hub game where things start to get proprietary. So they can’t rely on people having OZWCP or any specific hub to interface with.

Well, that does make sense and I had not thought from that angle.

I think I have the programming sequence worked out, emphasis on ‘I think’.

In trying different combinations of things, I noticed the LED indicator would flash different numbers of times. So the epiphany hit me, maybe there is a delay between pressing the button the required number of times and then the number after that is the number of times the LED will flash to confirm the change. So I did some experimenting and it does indeed seem that the procedure is to press the button the required number of times and wait for the LED to flash.

Apparently, it cycles through the modes. Press the button five times, the LED will flash once. Press the button five times again, it will flash twice and so on. Though, their choice of symbols is completely messed up. I have never seen light emission depicted as parenthesis. Ugggg. I think I could have a very lucrative career in common sense, standardized manual writing.

What a lot of good it has done me, though. It still does not report its binary sensor status (on/off) to HA or in OZWCP.

Any further thoughts from anyone on creating a category for product reviews, or specific product questions?

I thought I would do a follow up on this.

It has been a week or better since I have contacted support, several times, sent an email, left a voicemail for a ‘manager’ I was transferred too and I have yet to receive any kind of reply.

It’s a shame too as the product seems rather solid other than the fact that the binary sensor portion is not reporting correctly. Not being able to get any kind of reply or call from customer support, I am unable to determine if the sensor is itself bad or if there is perhaps some kind of compatibility issue with OZW.

If that situation should change, then I will report back. However, I am not at this time hopeful it will.

1 Like

@StormStrikes - thanks for taking the time out to post all this info on the Hinge Pin - I was considering one and with your review, I shied away. I certainly appreciate the effort!

1 Like

So I have 2 of these devices on smart things and they work fine. I recently switched to HA and just added these today. They seem to have the same problem you are having. I don’t think the device is broken, I think HA doesn’t use it properly. Just to put my theory to test, I switched back to SmartThings and they immediately had Open/Close states. Switched back to HA and got the 22/23 states.

FYI, I’m using default settings in all cases, out of the box with no changes.

What type of devices do these identify themselves at in HA?

Notification Sensor:

<Node id="9" name="main_door_t" location="" basic="4" generic="7" specific="1" roletype="6" devicetype="3072" nodetype="0" type="Notification Sensor" listening="false" frequentListening="false" beaming="true" routing="true" max_baud_rate="40000" version="4" query_stage="Dynamic">
	<Manufacturer id="63" name="GE">
		<Product type="4953" id="3032" name="32563 Hinge Pin Smart Door Sensor" />
	</Manufacturer>
	<CommandClasses>
		<CommandClass id="32" name="COMMAND_CLASS_BASIC" version="1" request_flags="4">
			<Instance index="1" />
			<Value type="byte" genre="basic" instance="1" index="0" label="Basic" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
		</CommandClass>
		<CommandClass id="48" name="COMMAND_CLASS_SENSOR_BINARY" version="1" request_flags="4" innif="true">
			<Instance index="1" />
			<Value type="bool" genre="user" instance="1" index="0" label="Sensor" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="False" />
			<SensorMap index="0" type="203" />
		</CommandClass>
		<CommandClass id="90" name="COMMAND_CLASS_DEVICE_RESET_LOCALLY" version="1" request_flags="4" innif="true">
			<Instance index="1" />
		</CommandClass>
		<CommandClass id="94" name="COMMAND_CLASS_ZWAVE_PLUS_INFO" version="1" request_flags="4" innif="true">
			<Instance index="1" />
			<Value type="byte" genre="system" instance="1" index="0" label="ZWave+ Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="1" />
			<Value type="short" genre="system" instance="1" index="1" label="InstallerIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="3072" />
			<Value type="short" genre="system" instance="1" index="2" label="UserIcon" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="3072" />
		</CommandClass>
		<CommandClass id="112" name="COMMAND_CLASS_CONFIGURATION" version="1" request_flags="4" innif="true">
			<Instance index="1" />
			<Value type="list" genre="config" instance="1" index="20" label="Change Open/Close Report Method" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Item label="Notification" value="1" />
				<Item label="Basic Set" value="2" />
				<Item label="Basic Report" value="3" />
			</Value>
		</CommandClass>
		<CommandClass id="113" name="COMMAND_CLASS_ALARM" version="4" innif="true">
			<Instance index="1" />
			<Value type="byte" genre="user" instance="1" index="0" label="Alarm Type" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="byte" genre="user" instance="1" index="1" label="Alarm Level" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="byte" genre="user" instance="1" index="2" label="SourceNodeId" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="byte" genre="user" instance="1" index="9" label="Access Control" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="23" />
		</CommandClass>
		<CommandClass id="114" name="COMMAND_CLASS_MANUFACTURER_SPECIFIC" version="1" request_flags="4" innif="true">
			<Instance index="1" />
		</CommandClass>
		<CommandClass id="115" name="COMMAND_CLASS_POWERLEVEL" version="1" request_flags="4" innif="true">
			<Instance index="1" />
			<Value type="list" genre="system" instance="1" index="0" label="Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Item label="Normal" value="0" />
				<Item label="-1dB" value="1" />
				<Item label="-2dB" value="2" />
				<Item label="-3dB" value="3" />
				<Item label="-4dB" value="4" />
				<Item label="-5dB" value="5" />
				<Item label="-6dB" value="6" />
				<Item label="-7dB" value="7" />
				<Item label="-8dB" value="8" />
				<Item label="-9dB" value="9" />
			</Value>
			<Value type="byte" genre="system" instance="1" index="1" label="Timeout" units="seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="button" genre="system" instance="1" index="2" label="Set Powerlevel" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
			<Value type="byte" genre="system" instance="1" index="3" label="Test Node" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="0" />
			<Value type="list" genre="system" instance="1" index="4" label="Test Powerlevel" units="dB" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Item label="Normal" value="0" />
				<Item label="-1dB" value="1" />
				<Item label="-2dB" value="2" />
				<Item label="-3dB" value="3" />
				<Item label="-4dB" value="4" />
				<Item label="-5dB" value="5" />
				<Item label="-6dB" value="6" />
				<Item label="-7dB" value="7" />
				<Item label="-8dB" value="8" />
				<Item label="-9dB" value="9" />
			</Value>
			<Value type="short" genre="system" instance="1" index="5" label="Frame Count" units="" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
			<Value type="button" genre="system" instance="1" index="6" label="Test" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
			<Value type="button" genre="system" instance="1" index="7" label="Report" units="" read_only="false" write_only="true" verify_changes="false" poll_intensity="0" min="0" max="0" />
			<Value type="list" genre="system" instance="1" index="8" label="Test Status" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" vindex="0" size="1">
				<Item label="Failed" value="0" />
				<Item label="Success" value="1" />
				<Item label="In Progress" value="2" />
			</Value>
			<Value type="short" genre="system" instance="1" index="9" label="Acked Frames" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-32768" max="32767" value="0" />
		</CommandClass>
		<CommandClass id="128" name="COMMAND_CLASS_BATTERY" version="1" request_flags="4" innif="true">
			<Instance index="1" />
			<Value type="byte" genre="user" instance="1" index="0" label="Battery Level" units="%" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="255" value="100" />
		</CommandClass>
		<CommandClass id="132" name="COMMAND_CLASS_WAKE_UP" version="2" innif="true">
			<Instance index="1" />
			<Value type="int" genre="system" instance="1" index="0" label="Wake-up Interval" units="Seconds" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="3600" />
			<Value type="int" genre="system" instance="1" index="1" label="Minimum Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="300" />
			<Value type="int" genre="system" instance="1" index="2" label="Maximum Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="86400" />
			<Value type="int" genre="system" instance="1" index="3" label="Default Wake-up Interval" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="3600" />
			<Value type="int" genre="system" instance="1" index="4" label="Wake-up Interval Step" units="Seconds" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="60" />
		</CommandClass>
		<CommandClass id="133" name="COMMAND_CLASS_ASSOCIATION" version="1" request_flags="4" innif="true">
			<Instance index="1" />
			<Associations num_groups="1">
				<Group index="1" max_associations="5" label="Group 1" auto="true">
					<Node id="1" />
				</Group>
			</Associations>
		</CommandClass>
		<CommandClass id="134" name="COMMAND_CLASS_VERSION" version="1" request_flags="4" innif="true">
			<Instance index="1" />
			<Value type="string" genre="system" instance="1" index="0" label="Library Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="3" />
			<Value type="string" genre="system" instance="1" index="1" label="Protocol Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="4.24" />
			<Value type="string" genre="system" instance="1" index="2" label="Application Version" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="0" max="0" value="1.35" />
		</CommandClass>
	</CommandClasses>
</Node>

I was wondering if something could be done with an input_boolean. Monitor the status of the Access Control… 22 = Open, 23 = Closed. Not sure if that will work. Haven’t used any input_booleans yet.

is Notification Sensor a new type of HA component? I didn’t find it in the component list.

No idea. I’m only trying these because I’ve had them. I’d rather not buy new door sensors when I have perfectly good ones that say 22/23 instead of Open/Close. I’m going to investigate this and I’ll get back to you.