Closed

Create a homebridge plugin to control iPort Surface mount with buttons -- 3

I have an iPort surface mount with 10 buttons (product link: [login to view URL]) and i wish to control this with homekit app. I use homebridge running on a Raspberry Pi for non-compatible homekit devices so i need someone to write code and create a homebridge compatible plugin. You can find details about it's configuration here: [login to view URL]

It's a simple frame with 10 RGB LED buttons and each button has two states either it's idle or it's being pushed.

When i telnet the device on it's static IP [login to view URL] and port 10001 i get this:

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","versio

n":"V6","uptime":"1834442889","keys":[{"label":"key 1","state":"0"},{"label":"ke

y 2","state":"0"},{"label":"key 3","state":"0"},{"label":"key 4","state":"0"},{"

label":"key 5","state":"0"},{"label":"key 6","state":"0"},{"label":"key 7","stat

e":"0"},{"label":"key 8","state":"0"},{"label":"key 9","state":"0"},{"label":"ke

y 10","state":"0"}]}

After pushing one of 10 buttons (button number 5) it gets to state "1":

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834481454","eventtime":"63278","events":[{"label":"key 5","state":"1"}]}

When i release the button it gets again to state "0":

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834481574","eventtime":"63398","events":[{"label":"key 5","state":"0"}]}

If i keep pushing the button (i push button number 4 this time) it returns again and again state "1" until i release it and then it returns to state "0":

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834509314","eventtime":"25602","events":[{"label":"key 4","state":"1"}]}

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834510316","eventtime":"26604","events":[{"label":"key 4","state":"1"}]}

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834510617","eventtime":"26905","events":[{"label":"key 4","state":"1"}]}

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834510918","eventtime":"27206","events":[{"label":"key 4","state":"1"}]}

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834511219","eventtime":"27507","events":[{"label":"key 4","state":"1"}]}

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834511520","eventtime":"27808","events":[{"label":"key 4","state":"1"}]}

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834511821","eventtime":"28109","events":[{"label":"key 4","state":"1"}]}

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834512122","eventtime":"28410","events":[{"label":"key 4","state":"1"}]}

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834512423","eventtime":"28711","events":[{"label":"key 4","state":"1"}]}

{"deviceid":"SurfaceMount","model":"iPortSM10B","macaddr":"DC82F60009DD","version":"V6","uptime":"1834512943","eventtime":"29011","events":[{"label":"key 4","state":"0"}]}

There is also an optional LED RGB color changing option for the buttons when being pressed and i'm not very sure how it can be done but i've captured network traffic between my PC and the mount frame with wireshark when this happens and you can find the info captured in the attached file.

I'm not sure if this helps you to understand how you can write the plugin but i can give you local access to my LAN and grab more details about the device if you need to.

Thank you in advance for your time.

Skills: Plugin, HomeKit, JSON, Raspberry Pi, Apple Homekit

See more: create stateful net control, create java plugin lotus note example, create composite server control net 2008, create image slideshow control, aspnet create custom server control programatically, create outlook plugin hello world, create custom toolstrip control, create imagebutton server control, create custom user control treeview, create treeview user control, code create property custom server control, 2008 create custom web control, create outlook plugin net, create activex plugin internet explorer, create mozilla plugin extention, create opensearch plugin, create custom web control, create image upload control dnn, create custom media control dll wmf sdk

About the Employer:
( 3 reviews ) Petroupoli, Greece

Project ID: #31452035

1 freelancer is bidding on average $300 for this job

Aliksandr7777

Hello I have 6 years of Embedded System/Software development career. I'm proficient in raspberrypi/arduino/pic/esp32/stm32/atmega and communication protocols such as bluetooth ble/uart/spi/i2c/zigbee/mqtt , etc. Best R More

$300 USD in 7 days
(0 Reviews)
0.0