Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2021Q2 Roadmap #143

Closed
4 of 7 tasks
Shaquu opened this issue Sep 20, 2019 · 44 comments
Closed
4 of 7 tasks

2021Q2 Roadmap #143

Shaquu opened this issue Sep 20, 2019 · 44 comments
Labels
side topic How to use this and workarounds

Comments

@Shaquu
Copy link
Member

Shaquu commented Sep 20, 2019

Roadmap for upcoming months:

  • remove set/write/read boundaries for Characteristics
  • persist state of Bridge, Accessories, Services and Characteristics
  • reloadable HapNodeJS as child process
  • rewrite code to TypeScript
    • TypeScript will allow us to write more clean code and to maintain it easier for new people, with it we will be more strict which means less code errors on production
  • remake of Characteristics management (new configuration table)
  • more automatic tests on deployment
  • dev tag in npmjs repository

Furthermore, as there is a new HAP documentation accessible publicly there will be a lot of effort to keep HapNodeJS updated and compliant.

All above is subject to change.

Sent with GitHawk

@crxporter
Copy link
Member

Update from Texas: sorry I haven’t been around much lately. Between business travel and bathroom remodeling I haven’t had any extra time to play with my automations.

My systems are still working great. I have one light that turns “on, 0% bright” sometimes but generally the plugin is working. I’m running 4 pi’s and haven’t made any big updates for months.

I promised esp-32 camera testing a while ago. I bought 4 or 5 of them and the build quality was extremely disappointing (2 were broken before I opened them). I lost interest in those and am now saving up for Unifi cameras.

I’m looking forward to any updates coming! I’d like to encourage bug fixes (deploy bug!) and characteristics (persistence?) updates - those will likely be most beneficial to the community.

If you want more of my opinion - you know where to find me 😉

@Shaquu
Copy link
Member Author

Shaquu commented Oct 2, 2019

Thanks for sharing @crxporter
It’s important for me to hear from our small community.

I have updated roadmap with my recent ideas how to fix current situation.

@sjorge
Copy link

sjorge commented Oct 12, 2019

Roadmap looks good, just update to 0.7.0 i did have to rework most of my flows due to no longer getting a msg.hap payload, but it actually is cleaner now since message are no longer passed through <3

Hope your break was well @Shaquu.

Also what is the 2nd output for now? Neither of them are labled but there seems to be nothing on the 2nd one for now.

@radokristof
Copy link
Contributor

@Shaquu Why there is no msg.hap message? This means that I also have to rewrite some flows :)

@Shaquu
Copy link
Member Author

Shaquu commented Oct 12, 2019

Wait what? :) abort!
Describe what is going on.

@radokristof
Copy link
Contributor

That's what I wanted to say :) I couldn't recall this, that we wanted to delete this.
I haven't updated yet, trying now...

@sjorge
Copy link

sjorge commented Oct 12, 2019

send a change to a service, it updates in HK, but no output of the new value (which I was filtering out based on the msg.hap being present or not depending on if it was passthrough or a change from homekit.)

@radokristof
Copy link
Contributor

Is there an output if you change state from HomeKit?

@sjorge
Copy link

sjorge commented Oct 12, 2019

Yes, you still get output if you do a change via homekit.

input state change -> homekit service = no output
homekit service (change via home.app) = output message

It took me about 10min to fix my states, and it is a lot simpler now :p as the only output you get are changes originating in homekit.

@Shaquu
Copy link
Member Author

Shaquu commented Oct 12, 2019

Maybe there is a change in node-red 1.x.y? Can you help me figure it out?

@radokristof
Copy link
Contributor

I get this error: "TypeError: Cannot read property 'context' of undefined". And really, there is not seem to be a hap.context. Whole msg object:

object
payload: object
On: true
name: "Asztali lámpa"
topic: ""
_msgid: "f483db57.199b98"

And really, a second output appered.

@sjorge
Copy link

sjorge commented Oct 12, 2019

I'm about to go to bed, but I can get you a copy of the current output on change originating in hone.app

{
  "payload": {
    "On": false
  },
  "name": "Desk Lamp",
  "topic": "zigbee2mqtt/bedroom/desk_lamp",
  "_msgid": "e6bd2b09.cb8468"
}

@sjorge
Copy link

sjorge commented Oct 12, 2019

And really, a second output appered.

Yeah, but I am not getting any output on that.

@radokristof
Copy link
Contributor

I think this is also not intended to appear. It's just a bug, maybe related to the previous...

@Shaquu
Copy link
Member Author

Shaquu commented Oct 12, 2019

Okay. Second output is for camera snapshots!

@radokristof
Copy link
Contributor

Really... I forgot about that :)

@sjorge
Copy link

sjorge commented Oct 12, 2019

Okay. Second output is for camera snapshots!

Can we somehow label them? Well we can in node-red, but like set a default one I mean.

@radokristof
Copy link
Contributor

Also my Node-RED version is outdated... I will try to update it.

@Shaquu
Copy link
Member Author

Shaquu commented Oct 12, 2019

Added labels for outputs in 0.7.1
Automations will publish it soon.

@sjorge
Copy link

sjorge commented Oct 12, 2019

Also home.app looks more responsive too, so maybe it is a HAP-nodejs change.
If this is the case, a note on the release notes about it might be a good idea.

@Shaquu
Copy link
Member Author

Shaquu commented Oct 12, 2019

So what exactly should I add to notes?

@radokristof
Copy link
Contributor

I think he reflected to the HAP-nodejs changelog. Maybe something changed there that's why we don't get the context of the msg. If this is the case and intended, this is a breaking change. Every msg.hap.context == undefined check needs to be deleted...

@sjorge
Copy link

sjorge commented Oct 12, 2019

I think he reflected to the HAP-nodejs changelog. Maybe something changed there that's why we don't get the context of the msg. If this is the case and intended, this is a breaking change. Every msg.hap.context == undefined check needs to be deleted...

Exactly this, I just removed the check as there is no longer a need to discard the pass through messages of old.

@radokristof
Copy link
Contributor

Should we delete these checks @Shaquu ? This is how it will work from now on?

@Shaquu
Copy link
Member Author

Shaquu commented Oct 13, 2019

Sorry, I need time to investigate :) I didn't have those checks so I have no idea.

@Shaquu
Copy link
Member Author

Shaquu commented Oct 13, 2019

Okay so you mean hap.context which should be forwarded from input to the output, correct?
Can anyone downgrade nrchkb and check if it's the issue with nrchkb/hapnodejs or node-red 1.0.x?

@radokristof
Copy link
Contributor

msg.hap.context was added to the output message by the HomeKit node. It was undefined if the message was not originated from the HomeKit node itself, but was only a passthrough message. That was the only way you could "close" the loop.
For me it was not a big deal removing these checks from functions, but it should be good to know which depedency caused this kind of change in behaviour (I think it was hap-nodejs).

Anyway it really seems better, faster as @sjorge said. Also if I'm accessing it through a hub, so I'm not in local connection, now it works instantly, before I had to open and close a few times to connect properly.

@Shaquu
Copy link
Member Author

Shaquu commented Oct 13, 2019

msg.hap.context issue is being resolved on dev branch. #157

@crxporter
Copy link
Member

Every msg.hap.context == undefined check needs to be deleted...

Hold up - this is a HUGE breaking change for me. I haven't updated anything for a while. Are passthrough messages still there? I depend on the pass through messages. I will have to re-think my whole setup if these are gone.

Just saw #157 and it looks like things are back to normal.

I just had a mini panic attack. Everyone please carry on.

@Shaquu
Copy link
Member Author

Shaquu commented Oct 14, 2019 via email

@Shaquu
Copy link
Member Author

Shaquu commented Oct 16, 2019

Now you can download dev version using:
npm i node-red-contrib-homekit-bridged@dev

I will add automatic publish for dev version soon.

@djiwondee
Copy link

@Shaquu This will become a game changer!

@Shaquu
Copy link
Member Author

Shaquu commented Dec 19, 2019

Does it mean my work here is over?

@sjorge
Copy link

sjorge commented Dec 19, 2019

@Shaquu probably not, It's more of a the work for HAP-NodeJS got easier because there will be less guessing.

@radokristof
Copy link
Contributor

That's huge! Yes I think it mainly applies to HAP-NodeJS, it will be easier for them to implement new device types and found out why is something not working, the painful reverse engineering can be replaced by using these I think.

@djiwondee
Copy link

@Shaquu

Does it mean my work here is over?

Oh now! Please remain motivated! But things may change now significantly for tow reasons

  • HomeKit Accessory Development Kit (ADK) as Open Source now will make some think much more simpler as @radokristof has been stated above.
  • Also impact as like HAP is open source will have the second announcement from (not only) Apple as of yesterday: a new alliance for a connectivity standard seems to care for a new standard in the heterogeneous Smart Home Device world

@radokristof
Copy link
Contributor

Yes @djiwondee you are right. I think this is the first move towards that standard (I mean that open-sourcing these things).
Secondly I hope that means we will have much more already HomeKit compatible devices, cheaper...

@Shaquu Shaquu changed the title 2019Q4 Roadmap 2020Q1 Roadmap Dec 27, 2019
@crxporter
Copy link
Member

I'm finally back to testing! I've loaded up the dev.4 branch this morning and I'm ready to test.

I honestly don't even remember what is new and fixed at this point. What should I be focusing on?

Re deploy bug?
I've seen some talk of weird stuff going on with the "not responding" status going to all devices rather than a single device.

I'll spend some time going through things here if y'all can remind me what to test!

@radokristof
Copy link
Contributor

Yes I also have that. I don't know why. Nothing changed updated (at least regarding Node-RED and HomeKit).
Some of my accesories started to respond slowly or nothing at all (you need to exit the app and re-enter to work). Restarting Node-RED solves it for a few days (hours) but then it's back again... I thought thats because I added rather big amount of new accesories and it can't handle it, but others also reported it.
However I didn't had time to try out the dev version (newest one) with my stable setup where I have that much accesorry...

@crxporter
Copy link
Member

Yeah I'm still running my house mostly with 0.6.2 - works so well I see no reason to mess with it until I'm doing "big upgrades" hopefully later this year (I have some big dreams).

I'm doing testing on a pi at work with a separate icloud account from my personal account. I have an ipod touch and a mac pro on the account - I probably need to round up an ipad or apple tv so I have a hub to test...

Some of my accesories started to respond slowly or nothing at all

Which version is this happening on? My 0.6.2 "big bridge" has 36 accessories all working great, uptime is 45 days right now that I haven't redeployed, restarted, or anything.

@Shaquu
Copy link
Member Author

Shaquu commented Jan 16, 2020

@crxporter Here is the changelog:
https://github.com/NRCHKB/node-red-contrib-homekit-bridged/blob/dev/CHANGELOG.md
I have tried to add everything but I could miss something.

There are many improvements. Please keep in mind that previous (0.8) version was based on broken hap-nodejs (0.5) and it’s why there were so many problems.

Regarding important stuff. You will have to re add all accessories to home app since Mac for them is generated in different way now.

Next I would recommend not using production environment if you have a stable one already. Make a backup.

@radokristof
Copy link
Contributor

@crxporter I have around 50 accessories on 2 bridges (around 25-25 on each one..).

@Shaquu
Copy link
Member Author

Shaquu commented Jan 17, 2020

Regarding current dev branch tests status if there is no need to create new Issue please comment here #163

@Shaquu Shaquu changed the title 2020Q1 Roadmap 2020Q3 Roadmap May 26, 2020
@Shaquu Shaquu changed the title 2020Q3 Roadmap 2021Q2 Roadmap Jan 12, 2021
@crxporter crxporter added the side topic How to use this and workarounds label Jan 31, 2021
@Shaquu
Copy link
Member Author

Shaquu commented Mar 25, 2021

I am closing this one.

We have plenty ideas on development and also we are open for everyone's comments in Discussions or on Discord.

Current roadmap will be visible in Project tab on our repository.

@Shaquu Shaquu closed this as completed Mar 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
side topic How to use this and workarounds
Projects
None yet
Development

No branches or pull requests

5 participants