WS2812 RGB Color changer with MQTT and Homekit with ESP8266 and

I am trying to create a color changer for WS2812 RGB Leds and on off switch on OH2 with MQTT and Homekit.

The OH1 configuration is like below:

items:

Color TVLedLight  "Bed Color" <colorlight> (All)  
String TVLedLightColor (All) {mqtt=">[OpenHab:devices/family-room-tv-led/led/color/set:command:*:default]"}

sitemap:

Text label="Family Room" icon="sofa" {
            Frame label="Switches" 
                    Switch item=wifiplug_living_room
                    Colorpicker item=TVLedLight
               	}
}

rules:

import org.openhab.core.library.types.*
rule "Set RGB value TVLedLight"
when
        Item TVLedLight changed
then
        val hsbValue = TVLedLight.state as HSBType
        val brightness = hsbValue.brightness.intValue
        val redValue   = ((((hsbValue.red.intValue * 255) / 100) * brightness) / 100).toString
        val greenValue = ((((hsbValue.green.intValue * 255) / 100) * brightness) / 100).toString
        val blueValue  = ((((hsbValue.blue.intValue *255) / 100) * brightness) / 100).toString
        val color = redValue + "," + greenValue + "," + blueValue
        sendCommand( TVLedLightColor, color )
end

To see the items on Homekit it must have a syntax like below which has been tested:

Switch outlet1 "Lamp" (lights,lamp,bedroom) ["Lighting"] {mqtt=">[broker:/ol1/gpio/15:command:ON:1],>[broker:/ol1/gpio/15:command:OFF:0],<[broker:/ol1/state:state:default"}

I tried to change the configuration like its explained on Migration but Homekit does not show me a Switch or Color selector.

Would be happy for some help.

Based on your described setup you should be able to use the following:

Color TVLedLight  "Bed Color" <colorlight> (All) ["Lighting"]

This gives me some Errors

2017-01-03 18:25:10.152 [ERROR] [lfe.hap.impl.connections.HttpSession] - Could not handle request
java.lang.NullPointerException
	at com.beowulfe.hap.characteristics.FloatCharacteristic.getValue(FloatCharacteristic.java:72)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.characteristics.BaseCharacteristic.makeBuilder(BaseCharacteristic.java:71)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.characteristics.FloatCharacteristic.makeBuilder(FloatCharacteristic.java:48)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.characteristics.BaseCharacteristic.toJson(BaseCharacteristic.java:61)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.json.AccessoryController.toJson(AccessoryController.java:73)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.json.AccessoryController.listing(AccessoryController.java:39)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.connections.HttpSession.handleAuthenticatedRequest(HttpSession.java:70)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.connections.ConnectionImpl.doHandleRequest(ConnectionImpl.java:51)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.connections.ConnectionImpl.handleRequest(ConnectionImpl.java:46)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:47)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:15)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:32)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:299)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:36)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]
2017-01-03 18:25:10.159 [INFO ] [ap.impl.http.HomekitClientConnection] - 500 /accessories
2017-01-03 18:25:10.163 [TRACE] [lfe.hap.impl.http.impl.BinaryHandler] - Sending data [/192.168.0.12:49626]:
00000000 48 54 54 50 2F 31 2E 31 20 35 30 30 20 49 6E 74 HTTP/1.1 500 Int
00000010 65 72 6E 61 6C 20 53 65 72 76 65 72 20 45 72 72 ernal Server Err
00000020 6F 72 0D 0A 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67 or..Content-Leng
00000030 74 68 3A 20 33 30 0D 0A 43 6F 6E 6E 65 63 74 69 th: 30..Connecti
00000040 6F 6E 3A 20 6B 65 65 70 2D 61 6C 69 76 65 0D 0A on: keep-alive..
00000050 0D 0A 6A 61 76 61 2E 6C 61 6E 67 2E 4E 75 6C 6C ..java.lang.Null
00000060 50 6F 69 6E 74 65 72 45 78 63 65 70 74 69 6F 6E PointerException


2017-01-03 18:25:10.166 [TRACE] [pl.http.impl.NettyHomekitHttpService] - WRITE UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 130, cap: 256) [/192.168.0.12:49626]:
00000000 70 00 79 16 69 4B 10 96 17 E5 63 E6 EA CE 29 9A p.y.iK....c...).
00000010 71 08 C6 D6 91 C3 C2 98 59 E7 B6 9A 3B 8B C7 C7 q.......Y...;...
00000020 B0 37 4D 8C D7 CA EE C3 BA 6B E1 4F E9 92 CE E2 .7M......k.O....
00000030 C0 A9 FE 0F EF 48 C0 6A 35 56 41 E0 E2 01 A8 2E .....H.j5VA.....
00000040 D6 13 EF A3 89 FC C7 A6 9E 7E BD A9 08 52 BA AE .........~...R..
00000050 96 E1 BC 3B 7B 47 97 12 38 75 80 54 2A A3 F8 73 ...;{G..8u.T*..s
00000060 D1 55 28 DC 7C 64 F0 85 54 1C F1 98 1C FA 3D DF .U(.|d..T.....=.
00000070 09 81 D1 77 4E FF 5A 9F C6 85 8F ED 9E 53 8E 1A ...wN.Z......S..
00000080 02 B3                                           ..


2017-01-03 18:25:10.177 [TRACE] [ons.LengthPrefixedByteArrayProcessor] - Received message of length 0. Existing buffer is 0
2017-01-03 18:25:10.178 [TRACE] [ons.LengthPrefixedByteArrayProcessor] - Returning 0 results
2017-01-03 18:25:10.180 [INFO ] [.hap.impl.http.impl.AccessoryHandler] - Terminated homekit connection from /192.168.0.12:49626
2017-01-03 18:25:10.230 [INFO ] [.hap.impl.http.impl.AccessoryHandler] - New homekit connection from /192.168.0.12:49627
2017-01-03 18:25:10.230 [TRACE] [pl.http.impl.NettyHomekitHttpService] - READ UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 158, cap: 1024) [/192.168.0.12:49627]:
00000000 50 4F 53 54 20 2F 70 61 69 72 2D 76 65 72 69 66 POST /pair-verif
00000010 79 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F 73 74 y HTTP/1.1..Host
00000020 3A 20 6F 70 65 6E 48 41 42 2E 5F 68 61 70 2E 5F : openHAB._hap._
00000030 74 63 70 2E 6C 6F 63 61 6C 0D 0A 43 6F 6E 74 65 tcp.local..Conte
00000040 6E 74 2D 4C 65 6E 67 74 68 3A 20 33 37 0D 0A 43 nt-Length: 37..C
00000050 6F 6E 74 65 6E 74 2D 54 79 70 65 3A 20 61 70 70 ontent-Type: app
00000060 6C 69 63 61 74 69 6F 6E 2F 70 61 69 72 69 6E 67 lication/pairing
00000070 2B 74 6C 76 38 0D 0A 0D 0A 06 01 01 03 20 1B 5B +tlv8........ .[
00000080 53 DB AC 62 94 FF 1F 5B 66 78 FE 0A B9 AF 2D F3 S..b...[fx....-.
00000090 37 86 9E B9 F0 ED AE 5E 53 7B AA 2E 5F 14       7......^S{.._.


2017-01-03 18:25:10.235 [DEBUG] [impl.pairing.PairVerificationManager] - Starting pair verification for openHAB
2017-01-03 18:25:10.258 [INFO ] [ap.impl.http.HomekitClientConnection] - 200 /pair-verify
2017-01-03 18:25:10.262 [TRACE] [pl.http.impl.NettyHomekitHttpService] - WRITE UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 244, cap: 256) [/192.168.0.12:49627]:
00000000 48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D HTTP/1.1 200 OK.
00000010 0A 43 6F 6E 74 65 6E 74 2D 74 79 70 65 3A 20 61 .Content-type: a
00000020 70 70 6C 69 63 61 74 69 6F 6E 2F 70 61 69 72 69 pplication/pairi
00000030 6E 67 2B 74 6C 76 38 0D 0A 43 6F 6E 74 65 6E 74 ng+tlv8..Content
00000040 2D 4C 65 6E 67 74 68 3A 20 31 34 30 0D 0A 43 6F -Length: 140..Co
00000050 6E 6E 65 63 74 69 6F 6E 3A 20 6B 65 65 70 2D 61 nnection: keep-a
00000060 6C 69 76 65 0D 0A 0D 0A 06 01 02 05 65 10 A4 3C live........e..<
00000070 63 C3 7D 66 96 63 F3 69 26 F3 95 ED 15 4E 0D 30 c.}f.c.i&....N.0
00000080 EB 81 DF 10 EF 59 11 38 DD DC 29 16 4B 14 C7 37 .....Y.8..).K..7
00000090 17 5A 1B 55 E1 E4 E9 3B C3 6E A0 72 E4 D1 A9 DC .Z.U...;.n.r....
000000A0 5F C2 86 F8 93 E8 2F B6 AC BD A8 F9 66 4C C3 3A _...../.....fL.:
000000B0 B7 62 8E C2 4A D8 CF 0A 5E F6 43 74 49 BA 69 89 .b..J...^.CtI.i.
000000C0 2C 35 D7 64 A6 05 1E F5 BA 6C 6B A1 30 F8 8C 84 ,5.d.....lk.0...
000000D0 04 8E 03 20 AA 43 BC DB FD AB F0 1A 8C AF F2 59 ... .C.........Y
000000E0 98 99 CF 62 6B E5 49 71 94 B7 F7 99 EC 50 AE 42 ...bk.Iq.....P.B
000000F0 74 47 50 04                                     tGP.


2017-01-03 18:25:10.285 [TRACE] [pl.http.impl.NettyHomekitHttpService] - READ UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 247, cap: 1024) [/192.168.0.12:49627]:
00000000 50 4F 53 54 20 2F 70 61 69 72 2D 76 65 72 69 66 POST /pair-verif
00000010 79 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F 73 74 y HTTP/1.1..Host
00000020 3A 20 6F 70 65 6E 48 41 42 2E 5F 68 61 70 2E 5F : openHAB._hap._
00000030 74 63 70 2E 6C 6F 63 61 6C 0D 0A 43 6F 6E 74 65 tcp.local..Conte
00000040 6E 74 2D 4C 65 6E 67 74 68 3A 20 31 32 35 0D 0A nt-Length: 125..
00000050 43 6F 6E 74 65 6E 74 2D 54 79 70 65 3A 20 61 70 Content-Type: ap
00000060 70 6C 69 63 61 74 69 6F 6E 2F 70 61 69 72 69 6E plication/pairin
00000070 67 2B 74 6C 76 38 0D 0A 0D 0A 05 78 AA 8B 16 80 g+tlv8.....x....
00000080 30 BE B2 E8 2A FF 98 A0 35 EE 7A 62 DE DE 74 02 0...*...5.zb..t.
00000090 24 A7 58 D1 65 C7 24 46 5B 5F 7D 5A F1 99 65 EE $.X.e.$F[_}Z..e.
000000A0 90 14 5B 98 06 21 9F 8F CA 35 32 7B CE C0 5B 76 ..[..!...52{..[v
000000B0 C9 FA DF 34 9E 12 C2 F4 DD 30 9B E3 EB 6D 36 A8 ...4.....0...m6.
000000C0 36 AD 4C B8 73 BC A3 A6 84 1F 1D 0A 15 7F 0E B4 6.L.s...........
000000D0 82 2B F2 1F 82 47 9F 34 ED 33 85 F2 2F 17 9E 16 .+...G.4.3../...
000000E0 A5 E1 FD E0 C1 07 16 F8 D9 F8 1A C0 26 67 72 A8 ............&gr.
000000F0 A7 02 E4 C8 06 01 03                            .......


2017-01-03 18:25:10.303 [DEBUG] [impl.pairing.PairVerificationManager] - Completed pair verification for openHAB
2017-01-03 18:25:10.306 [INFO ] [ap.impl.http.HomekitClientConnection] - 200 /pair-verify
2017-01-03 18:25:10.309 [TRACE] [pl.http.impl.NettyHomekitHttpService] - WRITE UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 105, cap: 256) [/192.168.0.12:49627]:
00000000 48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D HTTP/1.1 200 OK.
00000010 0A 43 6F 6E 74 65 6E 74 2D 74 79 70 65 3A 20 61 .Content-type: a
00000020 70 70 6C 69 63 61 74 69 6F 6E 2F 70 61 69 72 69 pplication/pairi
00000030 6E 67 2B 74 6C 76 38 0D 0A 43 6F 6E 74 65 6E 74 ng+tlv8..Content
00000040 2D 4C 65 6E 67 74 68 3A 20 33 0D 0A 43 6F 6E 6E -Length: 3..Conn
00000050 65 63 74 69 6F 6E 3A 20 6B 65 65 70 2D 61 6C 69 ection: keep-ali
00000060 76 65 0D 0A 0D 0A 06 01 04                      ve.......


2017-01-03 18:25:10.316 [TRACE] [pl.http.impl.NettyHomekitHttpService] - READ UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 78, cap: 512) [/192.168.0.12:49627]:
00000000 3C 00 BA C6 6F 70 DE 49 A8 AF 93 45 C4 51 09 C4 <...op.I...E.Q..
00000010 7D A6 11 39 25 F3 A1 C1 F3 27 0E 15 37 13 BF 3C }..9%....'..7..<
00000020 81 D9 84 0B FF 85 A1 02 E1 90 11 1D A7 27 83 1A .............'..
00000030 81 B8 A9 6C CB DE 43 E0 67 45 D9 D9 75 04 B8 75 ...l..C.gE..u..u
00000040 2C E2 B2 79 49 CF DE CF 33 1E 3E 85 E9 31       ,..yI...3.>..1


2017-01-03 18:25:10.317 [TRACE] [ons.LengthPrefixedByteArrayProcessor] - Received message of length 78. Existing buffer is 0
2017-01-03 18:25:10.318 [TRACE] [ons.LengthPrefixedByteArrayProcessor] - Attempting to read message of length 78
2017-01-03 18:25:10.319 [TRACE] [ons.LengthPrefixedByteArrayProcessor] - Read complete message
2017-01-03 18:25:10.320 [TRACE] [ons.LengthPrefixedByteArrayProcessor] - Returning 1 results
2017-01-03 18:25:10.322 [TRACE] [lfe.hap.impl.http.impl.BinaryHandler] - Received data [/192.168.0.12:49627]:
00000000 47 45 54 20 2F 61 63 63 65 73 73 6F 72 69 65 73 GET /accessories
00000010 20 48 54 54 50 2F 31 2E 31 0D 0A 48 6F 73 74 3A  HTTP/1.1..Host:
00000020 20 6F 70 65 6E 48 41 42 2E 5F 68 61 70 2E 5F 74  openHAB._hap._t
00000030 63 70 2E 6C 6F 63 61 6C 0D 0A 0D 0A             cp.local....


2017-01-03 18:25:10.338 [ERROR] [lfe.hap.impl.connections.HttpSession] - Could not handle request
java.lang.NullPointerException
	at com.beowulfe.hap.characteristics.FloatCharacteristic.getValue(FloatCharacteristic.java:72)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.characteristics.BaseCharacteristic.makeBuilder(BaseCharacteristic.java:71)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.characteristics.FloatCharacteristic.makeBuilder(FloatCharacteristic.java:48)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.characteristics.BaseCharacteristic.toJson(BaseCharacteristic.java:61)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.json.AccessoryController.toJson(AccessoryController.java:73)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.json.AccessoryController.listing(AccessoryController.java:39)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.connections.HttpSession.handleAuthenticatedRequest(HttpSession.java:70)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.connections.ConnectionImpl.doHandleRequest(ConnectionImpl.java:51)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.connections.ConnectionImpl.handleRequest(ConnectionImpl.java:46)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:47)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at com.beowulfe.hap.impl.http.impl.AccessoryHandler.channelRead0(AccessoryHandler.java:15)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.channel.AbstractChannelHandlerContext.access$600(AbstractChannelHandlerContext.java:32)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.channel.AbstractChannelHandlerContext$7.run(AbstractChannelHandlerContext.java:299)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:36)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)[186:org.openhab.io.homekit:2.0.0.201612301947]
	at java.lang.Thread.run(Thread.java:745)[:1.8.0_65]
2017-01-03 18:25:10.344 [INFO ] [ap.impl.http.HomekitClientConnection] - 500 /accessories
2017-01-03 18:25:10.347 [TRACE] [lfe.hap.impl.http.impl.BinaryHandler] - Sending data [/192.168.0.12:49627]:
00000000 48 54 54 50 2F 31 2E 31 20 35 30 30 20 49 6E 74 HTTP/1.1 500 Int
00000010 65 72 6E 61 6C 20 53 65 72 76 65 72 20 45 72 72 ernal Server Err
00000020 6F 72 0D 0A 43 6F 6E 74 65 6E 74 2D 4C 65 6E 67 or..Content-Leng
00000030 74 68 3A 20 33 30 0D 0A 43 6F 6E 6E 65 63 74 69 th: 30..Connecti
00000040 6F 6E 3A 20 6B 65 65 70 2D 61 6C 69 76 65 0D 0A on: keep-alive..
00000050 0D 0A 6A 61 76 61 2E 6C 61 6E 67 2E 4E 75 6C 6C ..java.lang.Null
00000060 50 6F 69 6E 74 65 72 45 78 63 65 70 74 69 6F 6E PointerException


2017-01-03 18:25:10.351 [TRACE] [pl.http.impl.NettyHomekitHttpService] - WRITE UnpooledUnsafeDirectByteBuf(ridx: 0, widx: 130, cap: 256) [/192.168.0.12:49627]:
00000000 70 00 11 33 13 52 6C 2D 79 16 49 86 A4 26 CF 1C p..3.Rl-y.I..&..
00000010 FC 91 9B 67 82 A2 6B D7 BB 38 10 2F 94 AB 8A B3 ...g..k..8./....
00000020 AB 04 EA C6 46 DB 94 37 8B E0 62 64 0F 58 4F D4 ....F..7..bd.XO.
00000030 43 52 AA AB 81 15 AA 22 2C 4B 37 9F 0B 9A D3 A6 CR.....",K7.....
00000040 A6 92 B2 BF 4D 5E 04 E2 7D A0 16 DE DE 2D 19 9E ....M^..}....-..
00000050 CF 98 7F 7B 49 77 60 9C 46 C1 68 23 F8 15 7A 0A ...{Iw`.F.h#..z.
00000060 5A C6 7D 39 FC 90 ED E2 32 02 07 90 08 07 F7 13 Z.}9....2.......
00000070 81 11 3F 23 74 42 79 C7 C4 6E 15 B4 0B 4A 30 FE ..?#tBy..n...J0.
00000080 C4 C3                                           ..


2017-01-03 18:25:10.361 [TRACE] [ons.LengthPrefixedByteArrayProcessor] - Received message of length 0. Existing buffer is 0
2017-01-03 18:25:10.362 [TRACE] [ons.LengthPrefixedByteArrayProcessor] - Returning 0 results
2017-01-03 18:25:10.363 [INFO ] [.hap.impl.http.impl.AccessoryHandler] - Terminated homekit connection from /192.168.0.12:49627
pi@raspberrypi:/var/log/openhab2 $