danielolson13 / wink-mqtt Goto Github PK
View Code? Open in Web Editor NEWEnable local-control of a rooted Wink Hub with MQTT
License: MIT License
Enable local-control of a rooted Wink Hub with MQTT
License: MIT License
Can you point me in the right direction on how to get this working. I have it setup on the wink hub and can run it with node wink-mqtt.js but nothing happens. I have a mosquito working. I changed this line client = mqtt.connect('mqtt://192.168.0.6'); to point to it.
I have a rooted wink hub running the latest firmware (3.4.4). When I run ./mqtt start I see the 'Starting mqtt...' message and my mqtt broker log shows the connection and subscription requests. I can publish a message from another mqtt client and the wink hub will turn on/off a Z-Wave device as requested. Everything seems to be working as expected.
The problem is, the wink hub will do a full reboot a few minutes after starting wink-mqtt. If I don't start wink-mqtt, the same hub will run indefinitely as expected. The reboot doesn't seem linked to sending or receiving messages - it will happen if I simply run ./mqtt start then leave the wink basically idle. I started the app from a ssh session and checked the log from the serial terminal during the run - no errors or anything suspicious.
Any thoughts on how I might find some clues about what is causing the reboot?
Hello
I have been trying to get this to work for weeks without success. I have a rooted Wink Hub. I have followed the instructions and mqtt service is running but I am not seeing any mqtt messages, The log only has the following:
DB changed from /var/lib/database/apron.db to /tmp/database/apron-2.db
Aborted
Any help is greatly appreciated. Thanks
I found some attributes missing. Can a variable be added up top so we can add our own attributes easily. Maybe one for zwave and one for zigbee.
OK, so I have rooted hub with SSH/FTP access.
How do I get the MQTT provider to run on the hub? I'm pretty lost.
More specifically, I'm confused about the running "npm install" on another machine and then copying "the files" (which files?) over to my hub. I have Ubuntu running with nodejs and NPM installed.
Is there a way to send a message to get a status of all devices? Maybe send 'home/update' to the wink.
I have this working on firmware 2.66 of my Wink Hub, connected to Home Assistant. I can control things fine from Home Assistant, but Wink-MQTT doesn't seem to be pushing state changes (e.g.: turning off a light with a remote, etc.)
Matt's instructions are for how to root a wink hub model 1 - does anyone know if this will work on a wink hub 2 as well?
https://www.mattcarrier.com/post/hacking-the-winkhub-part-1/
Are you having issues with the application crashing because the wink is out of memory? Maybe I'm just sending too many messages. I have an Aeon Energy plug that updates every few seconds.
So I ran npm install, copied all the files over, and modified the init. I noticed it wasn't running after the reboot so I manually started it with the script. Still wasn't running after that. I manually started it with "node wink-mqtt.js" while I was in the directory and it said 'Aborted' and quit out. I threw some console prints in there and it's executing them. I have zero experience with Node unfortunately, so I can't do much debugging. Any ideas?
Hi there @danielolson13,
I'm wondering if this Wink/HA MQTT bridge suffers from the same issue the SmartThings/HA MQTT bridge does; and that is, it still has to route commands back to Wink/ST's servers (e.g. "cloud"). Anyway, do you have any insight into that specifically?
EDIT: reason I'm asking, I'd love to find a hub that supports zigbee and zwave (plus), that DOESN'T require "cloud" routing to execute commands and more importantly, works with MQTT just fine in Home Assistant.
Thanks tons for putting this project together and for taking the time to read and (hopefully) answer my question. :)
I followed the instructions in the read.me file. Everything copied over, permissions are set, etc. MQTT will not start. The following is in the log:
Error: Cannot find module 'mqtt'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/opt/wink-mqtt/wink-mqtt.js:1:74)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
My hub is running v 2.49. Is this a file path issue? Any suggestions as to how to correct?
First off, awesome project! And thanks for updating it to support 2.68's new weirdly-changing tmp file database -- I went to fork it to add this support, and said "wow, someone already fixed it!"
This is not a trouble ticket, more a "brainstorm how to achieve a thing in a way that doesn't break other peoples' use cases and could eventually get merged" ticket.
I'm using this on a Wink hub to communicate with a RPI-based home automation system to do some time-of-day-based control of Osram Lightify color-temp controllable bulbs (Zigbee ID 50393095, according to aprontest -l -m(#)). I manually edited wink-mqtt.js to allow me to read/write this property.
Aprontest -l -m(#) also exposes a named list of properties and a flag for read-only or read-write.
Looks like this isn't in the apron db, only available through aprontest itself. Might be possible to parse the output of aprontest with a regex or similar to scrape property names and read/write status. Naive thought is "why not expose all r/w properties?" Two potential problems:
In the case of potential problem 1, there's a promising read-only property called ZB_ColorMode (value: 2) that might be used to specify which type of bulb it is, but that's a solution only to my specific Lightify use case, not the general case. Potential problem 2 is a bit less tractable -- maybe it's worth cooking up a new config file to let me configure the endpoints I want for each device?
If I built that, would it be likely to get merged, or is it too much silly complexity for an edge case?
Hey there -
As we've established, I'm no expert here. I just wanted to point out that the v8.log file gets really big on my hub. I looked and it was 16MB. When we're working with a mere 60MB, I thought I should bring this to your attention. I'm not sure if this log automatically deletes itself or manages it's size on it's own or what, but I manually cleared it.
I just don't want people running out of space and crashing their hub because a log file got too big.
Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.