Hoppe eHandle ConnectSense for Windows Experience

Hello all.
I wanted to share my experience with the window handle from Hoppe.

eHandle ConnectSense for Windows

I have been looking for a way to determine the position of the window handle, as a simple open/closed status of the window sash is not always sufficient for me.
Since I already operate > 50 Zwave devices anyway, I stumbled upon this handle by chance.

The quality is excellent. In my stainless steel variant, the workmanship and the material is simply top. So you do not build a China junk to the windows.
The mechanical installation was easy in my case, because I had previously installed window handles from Hoppe. To find the correct dimension, I have removed and measured an old one before ordering.

The integration in zwave-js is available in the current versiion. So an inclusion via SmartStart was no problem. However, I could not scan the code, but had to type it.
After that the handle reports the following values:
-window sash open/closed
-window tilted
-Intrusion attempt detected
-The handle position can be determined indirectly via the last action (manual lock/unlock is sent via notfication).

So far, all this works very reliably. I am very satisfied with this window handle, even if it is, depending on the variant, quite expensive (130-200€).I have now installed 7 pieces on the first floor.

Greetings Olli

Hi Olli,
thank you for sharing your experience which convinced me to write my first message.
I started with one piece to make sure that this device is reliable and can confirm a great experience.

I only use the built in “Home Security Sensor status”. Closed/open/tilted is detected by an automation script consuming the zwave_js_notification of command_class 113 and type 6 to make sure that I receive the status depending on the handle position without the window position itself. The reason is that I want to retrieve an open/tiltet status even if the window is leant to the frame.

To make sure that I only get the information that is needed I have optimized my dashboard to show an handle only if any of the following condition matches:

  • Security Sensor != ‘idle’
  • Handle is not closed

The card shows the following information:

  • First Icon: yellow if tilted, orange if open
  • Name: Window
  • Security Icon: yellow if window is not closed (and therefore the handle security sensor is inactive), green (closed and idle) or red flashing on intrusion (whole line is flashing)
  • Ventilation recommandation icon: green if humidity calculation makes sense, yellow if not and window is closed, red if not and window != closed
  • Status (Gekippt=tilted)

Window_Handle_Card

Hope that this is helpful for someone!

I just added a ConnectSense handle as my first z-wave device. So apologies, if I miss something very basic.

The integration worked fine and I can see intrusion, open/close and tilt status of the handle, as described by @memphi2.

Can you help me detecting the “regular” open handle status as well? Apparently this is possible as described by @hoca2023, but I’d need some more pointers :grimacing:

I am right now only using what came “out-of-the-box” after adding the device in Z-Wave JS

While “Sensor state (Tilt)” works just fine, there isn’t an entity “Sensor state (Regular)” etc. and the Entities “Window/door is open in regular/tilt position” are always “Off” (even if “Sensor State (Tilt)” shows “On”, “Window/door is open in tilt position” shows “Off”.

Any hints?

Hi Dirk,

I use classic Home Assistant automations, one per handle.

You only have to replace the value for node_id using your handle id in the below automation script. If you are using Z-Wave JS you can select the device and open “Z-Wave Info” to find your id.

In addition you have to create a helper variable of type text (office_window_state).

The automation will fill the variable when you open/close/tilt the handle. If you miss the position, e.g if you rotate the handle from closed about 20° you will ran into the default action of the automation and the variable is filled with “Unknown”. This could be enhanced to a more detailed status but as a closed handle should be closed this information is detailed enough from my point of view.

I know that this script can be simplified but in the current version it should help to understand the different parameters the handle will deliver.

alias: Window Handle - Office
description: ""
trigger:
  - platform: event
    event_type: zwave_js_notification
    event_data:
      domain: zwave_js
      node_id: 26
      command_class: 113
      type: 6
condition: []
action:
  - choose:
      - conditions:
          - condition: or
            conditions:
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[0, 0]}}"
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[1, 0]}}"
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[2, 0]}}"
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[3, 0]}}"
        sequence:
          - service: input_text.set_value
            data:
              entity_id: input_text.office_window_state
              value: Open
      - conditions:
          - condition: or
            conditions:
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[0, 1]}}"
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[1, 1]}}"
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[2, 1]}}"
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[3, 1]}}"
        sequence:
          - service: input_text.set_value
            data:
              entity_id: input_text.office_window_state
              value: Tilted
      - conditions:
          - condition: or
            conditions:
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[0, 2]}}"
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[1, 2]}}"
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[2, 2]}}"
              - condition: template
                value_template: "{{ trigger.event.data.parameters.data==[3, 2]}}"
        sequence:
          - service: input_text.set_value
            data:
              entity_id: input_text.office_window_state
              value: Closed
    default:
      - service: input_text.set_value
        data:
          entity_id: input_text.office_window_state
          value: Unknown
mode: queued
1 Like

Thanks for the quick reply - will give it a try (as soon as I get access again to my Z-Wave JS plugin again :roll_eyes:).

So do I understand correctly, that I did not nothing wrong/there is nothing wrong, but thes two handle state entities (“Window/door is open in regular/tilt position”) simply don’t work/have no function with the Hoppe ConnectSense?

If you did something wrong I did it wrong in the same way :wink:
After adding the device the available sensors did not show all states and that is why I decided to use the automation.

Hope that you can solve the problem of getting access to your Plugin(s).

I dug a bit into the Z-Wave standard and Hoppe’s implementation and I think there is simply no position state for the handle in “regular open position”. The ConnectSense is only sending window open/close state, handle fully open (tilt position) and close position and intruder alert status (plus some general status info, like battery SoC etc.). At least that’s all what is configured/visible in Z-Wave JS and the information I found at the Z-Wave registry lists even less… So I think the way you derive the “handle in open position” (non-tilt) is the only way to do it.

I did, thanks. Power cycle was the solution (I don’t have a clue why :wink:).

Works perfect. Thank you so much!