Hey folks, not sure if this is even possible or not, but it seems like it should be.
The situation: we have 12V LED lights which come with remote controls to change color, brightness, etc.
The goal: we would like to attach a small controller, possibly a pi zero or maybe something simpler, which would be on our local network and able to receive instructions from our phone app. This controller would then send instructions on the I2C bus between the sensors on the front of the remote and the controller chip which talks to a radio modem. The intent is to mimic the information coming from the sensors and get the chip to pass on the relevant commands to the lights.
Progress so far: I have a Raspberry Pi 3 Model B with the I2C pins attached to the pins on the remote, and to a logic analyzer connected to PulseView. I can read the data flying around on the remote when I touch the sensors. I can write similar data from my pi. I cannot connect to the chip from the pi.
The holdup at the moment is that when I attempt to write data to the I2C bus, I get a Remote I/O Error, meaning I am not recognizing the device with which I am attempting to communicate.
What I just realized this morning, however, after noticing the slight detail of the Read bit being set on the observed communications, is that I've been picturing this whole situation all wrong. Because the sensors are SLAVES on this circuit, and the controlling chip is the master, which means it is READING data from the sensors, whereas I have been trying to _write_ data from my Pi.
So, clearly, the trick is I need this controller to ask me for data so that I can respond to it, not try to initiate a conversation on my own. There must be a signal being sent whenever anyone touches any part of the sensors, which triggers the controller to send a request to address 0x53, and read back the current condition of the sensors.
However, that's about as far as I have gotten. If anybody stumbles by who has been down these roads and has advice for me I would be all ears!