Custom Component: Nikobus

I have mixed result with HomeKit bridge, could you tell me how you expose to matter?

@wimu i use 5 or 10 sec extra because there is a mechanical stop anyhow and I only open and close entirely. I don’t open for x% for exemple.

So this way it always opens and closes fully also,when there are a few actioned queues before they get on to the bus (I think the timer start when Action happens in HA but the command can be queued I think which can add some delay, an extra 5 sec assures it always works)

0.8.0 is on the github, you cannot install over HACS as not production ready yet.

If more tester are willing to try out, feedback welcome

do your cover update correctly in HomeKit ?

  • you shall not see cover movement in HomeKit UI (no progress)
  • homekit will reporting opening while closing
  • homekit will report closing while opening

You can get around and fix the above with a template that remove the device_class, that is the key to make it behave in Homekit

template:
  - cover:
      - name: "hk_salon_volet_terrasse"
        unique_id: "hk_salon_volet_terrasse"
        position: "{{ state_attr('cover.salon_volet_terrasse', 'current_position') | int(100) }}"
        set_cover_position:
          - action: cover.set_cover_position
            target:
              entity_id: cover.salon_volet_terrasse
            data:
              position: "{{ position }}"
        open_cover:
          - action: cover.open_cover
            target:
              entity_id: cover.salon_volet_terrasse
        close_cover:
          - action: cover.close_cover
            target:
              entity_id: cover.salon_volet_terrasse
        stop_cover:
          - action: cover.stop_cover
            target:
              entity_id: cover.salon_volet_terrasse

It shows the correct (opening/closing) status when the action is triggered from the Apple Home app.
But when triggered by a physical button or the action starts from HA, it indeed shows the reverse action.

This is only during the motion, the end states are reflected correctly.
So it hasn’t bothered me that much to be honest because when using the apple app all is ok and when I initiate it from a button or HA I’m typically not monitoring it on the Apple app :slight_smile: and when it’s fully open or closed it is correct.

But thanks for the template, will try it

@fdebrus

I didn’t realize that the operation_time for up and down could differ. But I did have issues where my screens weren’t always high enough after use. A customized time for ā€˜up’ would therefore help me a lot.

I also regularly use my screens (a total of 10) when the sun is low in winter. I often set them to 50% so we can still get some warmth inside, but in the up position they often don’t return high enough

go to the repo, code - download zip and overwrite your ha /config/custom_components/nikobus

Restart HA, this will give you the 0.8.0 which has many performance improvements and the operation_time_down implemented. Update your cover module like

{ ā€œdescriptionā€: ā€œSalon Volet Terrasseā€, ā€œoperation_timeā€: ā€œ48ā€, ā€œoperation_time_downā€: ā€œ45ā€ },

ā€œoperation_timeā€ is the operation_time UP, I’ve not renamed not to introduce a breaking change.

If you are not confortable doing the manual upgrade, wait for the 0.8.0 official release.

I haven’t performed a manual upgrade before. How long do you think it will take before an official release becomes available?

Not any time soon, still have some bugs and travelling in march, can only look into the matter in april…

Logger: custom_components.nikobus.nkbcommand
Source: custom_components/nikobus/nkbcommand.py:90
integration: Nikobus (documentation, issues)
First occurred: 6:15:36 PM (1 occurrence)
Last logged: 6:15:36 PM

Command failed: $10126C0E4E16A4 | Error: No response for $10126C0E4E16A4 after max retries.

I think I’ve found the bug, still need a couple of days to validate. It was another custom integration blocking the HA event loop so Nikobus integration timed out.

I’m travelling so if this prove now to be stable without any code changes needed, I will release 0.8.0 soon.

We narrowed down the issue thanks to the tester. As you press a Nikobus button until you release the button its address is emitted on the bus. If you keep pushing it prevent the integration to send a refresh command to the bus as it is busy and it times out eventually if you really keep pushing more than 1 seconds, this applies to switch and shutter not dimmer where it is the expected behavior to keep pushing still you reach desired dimming level.

This problem is introduce in 0.8 release as I wanted to integration to react faster so it emit the refresh request to the bus sooner…

Stay with 0.7.x release for time being

1 Like