stampzilla / gozwave

An opensource golang lib for zwave-controller communication thru serial-api. Tested and developed with a usb connected AEOTEC Z-Stick Gen5
Apache License 2.0
54 stars 13 forks source link

Get involved in development #2

Open shayne opened 7 years ago

shayne commented 7 years ago

Hey there, I've been working on and off getting my own zwave implementation working using Go but linking the C++ openzwave library.

I'd love to help out with gozwave, I'm using this stick: https://www.amazon.com/gp/product/B003MWQ30E/ref=oh_aui_search_detailpage?ie=UTF8&psc=1

I've been able to use the library and it detects nodes successfully so I think it's at least somewhat compatible.

If you're up for it, let me know what the current state of the world is and what I can do to help.

jonaz commented 7 years ago

Hi @shayne

We would happily accept PRs and issues (bugs, improvements, features etc..)! The overall structure is not set in stone and the API and patterns might be subject to change. Perhaps you have some ideas we havnt thought about.

@stamp what do you think?

I've started to add issues so we can keep track of things instead of just checkboxes in the readme file. All are welcome do add more issues and we can keep discussion in them based on topic.

stamp commented 7 years ago

Sounds great :)

@shayne Looks like you have almost the same stick as me.

I think there is a lot of stuff to do. Right now we have some basic functionality. We are able to control dimmers and switches and receive measurement values from sensors.

Most of the code have been developed by trial and error so the structure is probably not the best. Maybe we could take some kind of online meeting and create a design/structure for the lib?

bradfitz commented 7 years ago

I am also very interested in this project. Let me know any details about an online meeting. Are you all on the Gophers Slack? https://gophers.slack.com/ For an invite, see https://invite.slack.golangbridge.org/

stamp commented 7 years ago

@jonaz created a https://stampzilla.slack.com and I created a #gozwave channel at https://gophers.slack.com

What do you guys think about starting from scratch and create a better structure for the lib?

jonaz commented 7 years ago

I don't think starting from scratch will do much good except creating work for us. Refactoring and improvements is the way forward I think. Changing the structure does now imply starting from scratch.

We can use the gophers team for now I think

lukescott commented 7 years ago

I'll be working on it on my spare time. I am currently also using https://github.com/ninjasphere/go-openzwave. I like some of the abstractions, like the DeviceFactory. I have a hobby app I'm working on (my real-world use-case), and I'll be using both in parallel, and based on that some PR's will be coming your way.

I would really also like to get the test coverage up, and it would be cool to somehow mock the controller and devices. I'm still quite new to this, so it'll take me some time to get my head wrapped around some of this.

I started home automation with HS3 (HomeSeer). I have it running on a Raspberry Pi at home, controlling every switch in my house. Eventually I'll be hooking up door sensors, etc... I'm a little obsessed :sweat_smile:. I'm putting together my own home auto server, mostly because I think most of the solutions out there are too complicated... so I'm writing my own server... 😄 . Focusing on zwave only. At least for now.

I even made a test rig for testing switches... image uploaded from ios

Oh yes, it's quite serious...

cybojanek commented 7 years ago

Hi @jonaz @stamp @lukescott @bradfitz

I started my own golang implementation of zwave here (still very early): https://github.com/cybojanek/gozwave/

High level api example can be found in the tests: https://github.com/cybojanek/gozwave/blob/master/api/api_test.go

Anyone is welcome to join in!

lukescott commented 7 years ago

Hi @cybojanek. We're actually working on https://github.com/gozwave/gozw currently. We started from @bjyoungblood's implementation. Feel free to contribute and bring new ideas. There are a number of issues filed, and I'm sure there is more to work on. All of us are working on it in our free time.

cybojanek commented 7 years ago

@lukescott Cool! For now I'll keep working on my own, because I'm having a great time learning golang this way :-)