nrchkb / node-red-contrib-homekit-bridged Goto Github PK
View Code? Open in Web Editor NEWNode-RED Contribution - HomeKit Bridged : Node-RED nodes to simulate Apple HomeKit devices.
Home Page: https://nrchkb.github.io
License: MIT License
Node-RED Contribution - HomeKit Bridged : Node-RED nodes to simulate Apple HomeKit devices.
Home Page: https://nrchkb.github.io
License: MIT License
Based on #15, try to think of a generic way to add camera functionality to this project.
Todos would be:
Hi,
I've setup a SecuritySystem service in Node-Red to simulate Arm/Disarm in the home app of iOS11.
Changing states from Node-Red to Homekit works fine but when changing the state inside the iOS11 Home app from eg. Off to Arm Away, it just keeps spinning in the home-app and nothing changes in Node-Red.
Below the flow that I'm using, am I missing some paramters or is there an issue ?
[{"id":"2713cd8e.38aee2","type":"change","z":"89cca5bb.b7d6e8","name":"Aan (Thuis)","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"SecuritySystemCurrentState\":0,\"SecuritySystemTargetState\":0}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":530,"y":240,"wires":[["75284662.577b38"]]},{"id":"3f7ce2d4.00ffbe","type":"change","z":"89cca5bb.b7d6e8","name":"Aan (Afwezig)","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"SecuritySystemCurrentState\":1,\"SecuritySystemTargetState\":1}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":540,"y":200,"wires":[["75284662.577b38"]]},{"id":"6784903d.4b5e8","type":"switch","z":"89cca5bb.b7d6e8","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"10","vt":"str"},{"t":"eq","v":"20","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":330,"y":200,"wires":[["4942f841.270638"],["3f7ce2d4.00ffbe"],["2713cd8e.38aee2"]]},{"id":"4942f841.270638","type":"change","z":"89cca5bb.b7d6e8","name":"Uit","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"SecuritySystemCurrentState\":3,\"SecuritySystemTargetState\":3}","tot":"json"}],"action":"","property":"","from":"","to":"","reg":false,"x":510,"y":160,"wires":[["75284662.577b38"]]},{"id":"6e862936.5b3d88","type":"openhab2-in","z":"89cca5bb.b7d6e8","name":"","controller":"b98419c6.37b478","itemname":"Alarm","x":70,"y":200,"wires":[["d75962e.b291fa"],[]]},{"id":"75284662.577b38","type":"homekit-service","z":"89cca5bb.b7d6e8","bridge":"b9527a9e.2bb6d8","name":"Alarm Status","serviceName":"SecuritySystem","manufacturer":"Default Manufacturer","model":"Default Model","serialNo":"Default Serial Number","characteristicProperties":"{}","x":750,"y":200,"wires":[["a218103f.b8bf6","b090106b.11dba","d1a690c1.338fd","11490434.619b6c"]]},{"id":"d75962e.b291fa","type":"rbe","z":"89cca5bb.b7d6e8","name":"","func":"rbei","gap":"","start":"","inout":"out","property":"payload","x":210,"y":200,"wires":[["6784903d.4b5e8"]]},{"id":"a218103f.b8bf6","type":"switch","z":"89cca5bb.b7d6e8","name":"if Uit","property":"payload.SecuritySystemTargetState","propertyType":"msg","rules":[{"t":"eq","v":"3","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":930,"y":160,"wires":[["5918610d.ac837"]]},{"id":"b090106b.11dba","type":"switch","z":"89cca5bb.b7d6e8","name":"if Afwezig","property":"payload.SecuritySystemTargetState","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":940,"y":200,"wires":[["927a82d2.56784"]]},{"id":"d1a690c1.338fd","type":"switch","z":"89cca5bb.b7d6e8","name":"if Nacht","property":"payload.SecuritySystemTargetState","propertyType":"msg","rules":[{"t":"eq","v":"2","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":940,"y":240,"wires":[["fec570b7.96199"]]},{"id":"11490434.619b6c","type":"switch","z":"89cca5bb.b7d6e8","name":"if Thuis","property":"payload.SecuritySystemTargetState","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":940,"y":280,"wires":[["14c6084d.d8e318"]]},{"id":"5918610d.ac837","type":"change","z":"89cca5bb.b7d6e8","name":"set Uit","rules":[{"t":"set","p":"payload","pt":"msg","to":"0","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1110,"y":160,"wires":[["f12b136f.c7256"]]},{"id":"927a82d2.56784","type":"change","z":"89cca5bb.b7d6e8","name":"set Aan (Afwezig)","rules":[{"t":"set","p":"payload","pt":"msg","to":"10","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1150,"y":200,"wires":[["f12b136f.c7256"]]},{"id":"fec570b7.96199","type":"change","z":"89cca5bb.b7d6e8","name":"set Aan (Thuis)","rules":[{"t":"set","p":"payload","pt":"msg","to":"20","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1140,"y":240,"wires":[["f12b136f.c7256"]]},{"id":"14c6084d.d8e318","type":"change","z":"89cca5bb.b7d6e8","name":"set Aaan (Thuis)","rules":[{"t":"set","p":"payload","pt":"msg","to":"20","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1140,"y":280,"wires":[["f12b136f.c7256"]]},{"id":"f12b136f.c7256","type":"openhab2-out","z":"89cca5bb.b7d6e8","name":"","controller":"b98419c6.37b478","itemname":"Alarm","topic":"","payload":"","x":1370,"y":220,"wires":[]},{"id":"b98419c6.37b478","type":"openhab2-controller","z":"","name":"Openhab","protocol":"http","host":"localhost","port":"8086","path":"","username":"admin","password":"flotss"},{"id":"b9527a9e.2bb6d8","type":"homekit-bridge","z":"","bridgeName":"NodeRed","pinCode":"111-11-111","port":"","manufacturer":"Default Manufacturer","model":"Default Model","serialNo":"Default Serial Number"}]
I want to set the status of the garagedoor by 2 switches at the garagedoor.
But i cant manage to get the feedback to the garagedoor-homekit-accessory.
When i send {"CurrentDoorState":true} or {"CurrentDoorState":false} the accessory is showing that it got the state but is not updating the button in the home-app. I have no clue how to solve that.
Dear developers!
Where should I specify this property? Tried inside the payload, outside the payload, nothing helps.... Also what this value should be?
I am pretty new to node-red and homekit. Is there a list of all supported characteristics i can use to customize my nodes? Or even better a simple tutorial?
Those issues are related to KhaosT/HAP-NodeJS#580.
I don't know of a clean way to solve this, yet.
Things not working are:
All of those issues are always fixed after restarting node-red, so they are "only" a pain when changing something, not during actual usage.
Hi, thanks for the fork!
I'm experiencing a crash upon removing bridges from Home, here's the stacktrace:
31 Jul 19:40:15 - TypeError: Cannot read property 'updateAdvertisement' of undefined
at Bridge.Accessory._handleUnpair (/Users/nkasyanov/Desktop/node-red/node_modules/hap-nodejs/lib/Accessory.js:699:20)
at HAPServer.emit (events.js:182:13)
at HAPServer._handlePairings (/Users/nkasyanov/Desktop/node-red/node_modules/hap-nodejs/lib/HAPServer.js:823:10)
at HAPServer.<anonymous> (/Users/nkasyanov/Desktop/node-red/node_modules/hap-nodejs/lib/HAPServer.js:209:39)
at IncomingMessage.emit (events.js:182:13)
at endReadableNT (_stream_readable.js:1081:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
Hi, Awesome work. Greatly appreciated, Thank you, it has made our lives easier. My family uses it daily, works amazing.
I do however run into this issue often.
On Initial drag of the homekit node from the pallete to the flow, I setup the name and the type of service it is, and I deploy the flow. Then I want to change the name of the node for clarity, and I get this error
"Error: Cannot add a bridged Accessory with the same UUID as another bridged Accessory: 80ad18bf-454d-47db-8b19-0542ca24fbc7"
Only solution is to delete the node, and drag a new homekit node and configre it again with the new name then re-deploy.
and same error comes up when I change the service of the homekit node after It's been deployed, or copy/paste the same node and rename the copied node, and get the same error.
Looking forward to your reply, great work.
I run node-red-contrib-homekit-bridged on a raspberry pi with multiple network interfaces that are connected to different networks (192.168.0.0/24, 192.168.1.0/24 and 192.168.2.0/24). I need the mdns service who broadcasts the presence of the bridge to be bound to the IP address of the third network interface, however, by default it always binds to the IP address of the first network.
Is there a config option similar to "mdns": { "interface": "192.168.42.1" }
from homebridge that allows to specify the address of the interface I would like to bind to? If yes, where do I have to configure it. If no, how can I define the interface to bind to?
See also: homebridge/homebridge#1957
Hi there,
Thought I'd ask - just in case :)
Are there any plans to implement services/characteristics to support power meters (eg: https://www.apple.com/au/shop/product/HKEH2X/A/eve-energy)?
Thanks!!
The Luminance Sensor type does not work. It is displayed as not active / not responding in the home app.
Everything else works, so I assume it is only related to this accessory type. I am using the latest available version 0.3.6.
So I have got an RGBW Light and I don't know how I could perfectly represent this in HomeKit:
I have 3 incoming nodes:
On: true/false'
)Brightness
, Hue
, Saturation
.Hi,
Not really an issue, but more like a question: I have a electrical plug that I control via HomeKit (Elgato Eve), is it possible to also control it via node-red? If so, how would you suggest approaching this?
Thanks,
Christoph
I have made some scene with 9-10 light, when i launch, it tun off only two lights, not all...
It work on knx bus, on ets monitor i can see only two command from nodered
I looked a little and it looks like there is many lines of code which try to load accessories or services from prepared data but it's actually never saved (if I am not wrong...)!!!
node.debug("Looking for accessory with UUID '" + accessoryInformation.UUID + "'...");
for (let i in bridge.bridgedAccessories) {
node.debug("Looking for service with UUID '" + serviceInformation.UUID + "'...");
for (let i in accessory.services) {
There is a ready method to load accessories from directory in HAP-nodejs/AccessoryLoader.js/loadDirectory.
Now have to look if save/load is needed or we should just remove unnecessary code from our plugin which tries to find existing accessories.
Leaving this here as a placeholder. If you need to enable "Insecure Mode" for homebridge-alexa, please add , true to line 55 of HomeKit.js
this.publish = function() {
self.debug("publishing bridge with name '" + self.name + "', pin code '" + self.pinCode + "' and " + bridge.bridgedAccessories.length + " accessories.");
bridge.publish({
username: self.bridgeUsername,
port: self.port,
pincode: self.pinCode,
category: self.accessoryType
},true);
self.published = true;
}
Hello, this is a great improvement over the previous version of this plugin (having to add just one bridge instead of 45 individual accessories in my case) but I'm curious on how to implement the battery level service.
Using this flow, I am able to set up a "battery level" item but it is not linked to any item in homekit, it just shows as its own "battery level" item without any switch/motion detector/etc. Is there a way to use multiple services for one homekit item? I'd like to link my battery levels to show in homekit.
I set up my original bridge with 2 WeMo devices which have since worked perfectly in HomeKit.
I added a third HK device in Node Red, but 24 hours later it has not appeared as an additional device in my home, nor when I open the bridge properties in the Home app.
How do I get iOS to 'resync' the devices available from the bridge?
Idea is to add generated qrcode to join Bridge just like in Homebridge.
From what I see it's sort off provided in HAP-Nodejs as Accessory.setupURI()
We have to find out where in UI we can show this qrcode.
I would like you to:
I don't want to flood the other thread.
@radokristof - air purifier and filter state work great together on the latest dev branch.
More to come once I've "cleaned it up" a bit. Likely tomorrow.
I left "FilterMaintenance" off of the Characteristics wiki page - I didn't think we would have linked services so soon! I'll have to add that in as well from the homekit protocol document.
[{"id":"8aa0096d.e588e8","type":"debug","z":"8ab94716.868738","name":"Output","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":530,"y":680,"wires":[]},{"id":"cff6bdee.1f70f8","type":"homekit-service","z":"8ab94716.868738","isParent":false,"bridge":"","parentService":"398e1722.d7d75","name":"Filter 3","serviceName":"FilterMaintenance","topic":"","filter":false,"manufacturer":"Default Manufacturer","model":"Default Model","serialNo":"Default Serial Number","characteristicProperties":"{}","x":370,"y":680,"wires":[["8aa0096d.e588e8"]]},{"id":"783fe155.d7d918","type":"inject","z":"8ab94716.868738","name":"change indicate 0","topic":"","payload":"{\"FilterChangeIndication\":0}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":660,"wires":[["cff6bdee.1f70f8"]]},{"id":"d97179f0.11e858","type":"inject","z":"8ab94716.868738","name":"change indicate 1","topic":"","payload":"{\"FilterChangeIndication\":1}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":700,"wires":[["cff6bdee.1f70f8"]]},{"id":"c1707758.67db4","type":"inject","z":"8ab94716.868738","name":"","topic":"","payload":"{\"FilterLifeLevel\":50}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":820,"wires":[["cff6bdee.1f70f8"]]}]
Hi, and thank you for this beautiful project!
I'm into this issue where node-red works fine and I can add Bridges/Services but once selected in the HomeKit I've got an error Can't add the accessory
(not a 1 to 1 translation as the error is in French, sorry)...
here the node-red app
[{"id":"ff68f76f.41f56","type":"homekit-service","z":"3df5b9bf.4437c6","bridge":"cad4c3af.40a848","name":"Light","serviceName":"Lightbulb","manufacturer":"Default Manufacturer","model":"Default Model","serialNo":"Default Serial Number","characteristicProperties":"{\n \"test\": 0\n}","x":230,"y":160,"wires":[["1989a8f2.b4fe47"]],"inputLabels":["A"],"outputLabels":["B"]},{"id":"cad4c3af.40a848","type":"homekit-bridge","z":"","bridgeName":"Home T","pinCode":"111-22-111","port":"","manufacturer":"Home .inc","model":"Model 0","serialNo":"1234567890"}]
I don't see any error in node-red log
I'm on orange-pi ARMBIAN 5.38 stable Debian GNU/Linux 9 (stretch) 4.14.18-sunxi
node: v7.10.1
node-red v0.18.5
don't know it this might help but o iPhone console I have that as error...
erreur 00:05:53.616414 +0200 HomeUIService Failed pairing with accessory: <private> error: <private>
erreur 00:05:53.616573 +0200 HomeUIService Unexpected accessory <private> setup error <private>
erreur 00:05:53.711217 +0200 HomeUIService if we're in the real pre-commit handler we can't actually add any new fences due to CA restriction
Hi Olivier,
Which Service handles are pressure? I have a BME280 and BME680 sensor to measure humidity, temperature, pressure and gas.
Humidity and temperature are know, but which service does work with pressure measured in hPa?
Ray
I'm using the plugin to bridge Z-Wave devices to HomeKit. It would be very useful to be able to add some metadata to the HomeKit service, enabling me to discern the corresponding Z-Wave device. Preferable something getting added to hap.context or hap.characteristics on output. Another possibility could be to maybe add the manufacturer, serial number or model data to the output, as the information already exists and could be used for this purpose.
Would this be possible? Is this something that anyone has solved another way?
Thanks,
Fredrik
Hello,
when ever i open the Home app, the lightbulbs i added show up with "No Response".
When i initially added them they worked fine untill i closed the home app.
I started node-red with the debug command line options and it states this when i open the home app:
EventedHTTPServer [::ffff:XXX.XXX.XXX.XXX] HTTP request: /characteristics?id=3.11,3.10,5.11,5.10,4.11,4.10 +24s
HAPServer [00:63:26:9d:a1:b7:1b:f4] HAP Request: GET /characteristics?id=3.11,3.10,5.11,5.10,4.11,4.10 +0ms
Accessory [Node-Red-Home] Getting value for Characteristic "Brightness" +1ms
Accessory [Node-Red-Home] Got Characteristic "Brightness" value: 100 +0ms
Accessory [Node-Red-Home] Getting value for Characteristic "On" +0ms
Accessory [Node-Red-Home] Got Characteristic "On" value: off +0ms
Accessory [Node-Red-Home] Getting value for Characteristic "Brightness" +0ms
Accessory [Node-Red-Home] Got Characteristic "Brightness" value: 100 +0ms
Accessory [Node-Red-Home] Getting value for Characteristic "On" +0ms
Accessory [Node-Red-Home] Got Characteristic "On" value: off +0ms
Accessory [Node-Red-Home] Getting value for Characteristic "Brightness" +0ms
Accessory [Node-Red-Home] Got Characteristic "Brightness" value: 100 +0ms
Accessory [Node-Red-Home] Getting value for Characteristic "On" +0ms
Accessory [Node-Red-Home] Got Characteristic "On" value: off +0ms
EventedHTTPServer [::ffff:XXX.XXX.XXX.XXX] HTTP Response is finished +0ms
Now i am not sure anymore if thats a fault with this node or is ios a bit weird today.
The temperature sensor i added works fine.
Any ideas?
As you see repository got moved from @oliverrahner to Organization.
And as a current organization name is a little bulky I think we can discuss here a little about a new name - definietly a shorter one.
Anyone has any idea?
@radokristof @crxporter @flic @radionoise @emilingerslev and the rest of good people here. I call you!
I created three bridges for the different device types I am using. Only after changing the PIN code for the second and the third bridge to something unique was I able to find them in the Home app. However, after restarting Node-RED, these two bridges don't respond anymore. Only the first bridge I created still works after restarting Node-RED.
Hello guys,
thank you very much for the large progress you have made with version 0.6.0. I'm really exited how linked services work now. Right now the only issue I have with that is I got a lot of this message in my node-red-log:
18 Mar 14:35:26 - [error] [homekit-service:XXXXX-XXXX-temp] Error: This callback function has already been called by someone else; it can only be called one time.
It looks like this is cause by re-deploying modified flows on node-red but I haven't figured out right now if this is based on changes on node-red-contrib-homekit-bridged-nodes or on changes of any other nodes as well.
Any ideas?
subj :(
Hi, I'm trying to add a camera node but can't get any info about it.
cameraRTPStreeamManagement
is the node, here the characteristics:
SupportedVideoStreamConfiguration,
SupportedAudioStreamConfiguration,
SupportedRTPConfiguration,
SelectedRTPStreamConfiguration,
StreamingStatus,
SetupEndpoints,
Name
just pointing to some documentation/examples could be very helpful
It would be nice to be able to add linked services... for example add a BatteryService to another serivce.
From a while we were adding more to dev branch. It's time to finally make it to release 0.6.0.
What I need from you is to test it AGAIN and report it as below.
Calling contributors but all are welcome to help!
@radokristof @crxporter @flic @radionoise @emilingerslev
PS. If I missed something then shout!
Great, great work! (Many thanks!)
Windows 10
, node-red v0.19.4
, node-red-contrib-homekit-bridged 0.3.6
I'm trying to add a fan that have multiple speed, a swig mode and a timer via homekit node + harmony node.
Like many fan/clim there's no unique code send by the remote for swing on/off, speed.... etc. Every time the remote send all the parameters at once.
My problem is that I need the homekit node to tell me all the characteristic state when something change to activate the correct Harmony node.
My question, how to request all the characteristics states. I know there is the CurrentFanState
but how do I send that to the home-kit node (how to format it).
Tnx to have maked a new release of this fabolus project.
I'm using it with knx automation.
To send a payload to knx i have used msg.hap.newValue, the problem is when i send the command from physical button the homebridge, the icon don't update.
I have triend different payload without success.
Any idea?
Tnx
Sometimes when i open the Home app, all device are in "updating" status, like freezed for abount 30-50 sec... or tell that no one accessory is responding, and after one second everithing works again...
Ideas?
Rpi and ip knx interface
Tnx
Hello!
I have updated this node to the latest update. However now it works very unrealiably. I can see that my other nodes passes on the right value (like 'On: true'), but it won't change state. It shows the new state under the node, but it won't appear on Home app. Changing state from the Home app works well...
Something is wrong on my side, or something changed in config?
Hi,
I'm trying to build a flow to act as a simple pushbutton but I cant seem to get this to work.
the idea i had was to just take a switch and reset it back to off after 1 second.
passing back {"On":false} seems to get registered in the node red switch-instance but this is not reflected in the HomeKit app. Any idea what i might be doing wrong?
Is there perhaps an other method to get this simple push to work?
Thanks for your feedback
Can we have reachability feature implemented like in this homebridge mqtt plugin?
cflurin/homebridge-mqtt#9
@oliverrahner, I think it's great you continue the work of mschm!
Thanks 👍
Currently, I am working on Docker Images for this :)
Ray
Have a medium/low priority issue when using Siri and Alexa to control devices created by this node. When your using Siri and Alexa homebridge passes to the plugin duplicate events, so if you tell Siri/Alexa to turn something off twice, the plugin receives 2 off events. This behavior does not work with the Home app as the home app manages state in the ui, and due to ui design blocks duplicate requests.
I only noticed this as I have been using this undocumented feature with Siri/Alexa to provide two levels of control as part of a state engine I’m building in node red.
What I’m building is a smart scene/group of lights where you can turn on/off the group and the group will restore/ go back to the original state. So say you have a room with a group of 5 lights and 2 are on, you enter the room and say, Alexa turn on the lights, and all turn on. You then say turn off the lights, and the lights go back to the original state with 2 on. You can then say, Alexa turn off the lights a second time and all lights turn off. I had this working with homebridge-dummy and it worked fine, but when I switched from homebridge-dummy to a switch created with this node it no longer worked.
I delved into the code briefly, and can confirm that the duplicate events are received by homebridge, but due to how events are being passed from homebridge to this node, that are not forwarded over. Plugins are tapped into the ‘set’ event typically, and this is tapped into the ‘characteristic-change’ event which only passes delta’s and not the actual set event.
I briefly thought about complexity of fixing this and it wasn’t a quick fix, as switching to the ‘set’ event would require registering every characteristic, and not an easy task. But putting this here incase of further inspiration for resolving simply. In the mean time I may got back to homebridge-dummy.
Incase it is of interest, this is my initial smart scene, use this node and my hap-nodered to control my main floor lighting. I’m still working thru issues, but it is a great demo of the potential
I try to use the service type Doorbell as accessory for my setup but it doesn't work. Is this caused by the HomeKit API? Within a research on the web I found a lot of discussions questioning the support by Apple of this service type? Have you experienced similar behavior?
im trying to disable the "cooling feature" and as far as i know i can do that under "Characteristic Properties"
seems that i can make a "setProps" "validValues: [0, 1, 3]" (search the URL for Service.Thermostat and setProps).. so i would not see cooling in homekit.. but i can't get it to work..
Right now i have
OFF = TargetHeatingCoolingState : 0
HEATING = TargetHeatingCoolingState: 1
COOLING = TargetHeatingCoolingState: 2
AUTO = TargetHeatingCoolingState: 3
i know i totally do not understand Characteristic in homekit.. but my thermostat is working well just need to remove this thing..
I think this will be a good idea for the roadmap
just add a possibility to create any custom characteristic
like add any UUID type and name for that?
it will be allowed to add any custom characteristic to EVE app.
Hello,
can't get this to work...
is there anything else to install besides
sudo apt-get install libavahi-compat-libdnssd-dev
and the actual node (via palette manager)?
I've been thinking of ways I can contribute to this project - and I'm wondering if there would be much benefit to have a place to keep examples.
I'm thinking to create some example flows to share either in the docs or on the wiki page. These would include an example of each service type with inject and debug nodes on either side so users can easily see how things can be put together and what the format is for things.
I know that sending {"foo":"bar"} will list options in the debug but it's not always straightforward from there to see how things actually work. Additionally there is little information on how to use characteristic properties. Eventually this will likely be helpful for the coming combined services (I.e. adding battery level to another item).
A quick example of what I'm thinking is here - I would include a screenshot and a copyable flow for the user to then adapt to their setup.
[{"id":"ed2d8340.e1d5d8","type":"homekit-service","z":"7b43483c.39305","bridge":"d334490b.40dac","name":"Example Switch","serviceName":"Switch","topic":"","manufacturer":"Default Manufacturer","model":"Default Model","serialNo":"Default Serial Number","characteristicProperties":"{}","x":360,"y":160,"wires":[["5844674e.178708"]]},{"id":"8db975bc.c2e9d","type":"inject","z":"7b43483c.39305","name":"On","topic":"","payload":"{\"On\":\"true\"}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":120,"wires":[["ed2d8340.e1d5d8"]]},{"id":"5844674e.178708","type":"debug","z":"7b43483c.39305","name":"HomeKit Out","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":550,"y":160,"wires":[]},{"id":"629771.da7c409","type":"inject","z":"7b43483c.39305","name":"Off","topic":"","payload":"{\"On\":\"false\"}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":130,"y":180,"wires":[["ed2d8340.e1d5d8"]]},{"id":"d334490b.40dac","type":"homekit-bridge","z":"","bridgeName":"Example Bridge","pinCode":"111-11-111","port":"","allowInsecureRequest":false,"manufacturer":"Default Manufacturer","model":"Default Model","serialNo":"Default Serial Number"}]
I don't know about everyone else but something like this would have gotten me going much quicker when I first picked up this node.
Any input about where to put this documentation or what could be added will be helpful, I'll be working on it in the coming weeks. We can use this issue as a discussion of how things should look.
Hi,
Just on an off-chance -- does anyone know how to set up a three-state switch, eg: on / off / auto ??
Thanks!!
I have been unable to get a color picker within the Home app.
I was able to successfully use { "Brightness":## }
(where ## is 0-100) to get the brightness control.
Does anyone know have a solution?
Hi,
i have the following problem:
When i inject {"On": true} to the homekit node (Service Lightbulb) then the there is not status update in the homekit app. The Lightbulb stays there off.
What is the correct payload to change the status?
Thanks!
@Shaquu - it's awesome to see some new development here. I use this plugin for the bulk of my smarthome, it has been fantastic (good job all those who have come before).
I'm curious if you have a few minutes to answer a couple of questions:
1-what changes have you made (where could I find a changelog?)
2-do you have any goals or roadmap of what you're planning to do next here?
I always like to be sure I know what's changing before I put things in action at home in case I'm going to break something important. I see you put in the PR from @radokristof - I was helping him figure that out a few months ago I'm glad to see it in the production version.
The other things I've seen around are adding things like battery status to be part of all of the services and adding "official" homekit devices into node red. Battery status will be awesome. If I were in charge I would say that adding official homekit devices into node red may be better placed in a separate node red flow. Just my two cents.
Keep up the great work! I'll be watching!
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.