PLCBUS-R 3012UK IR Device Controller

Basically, the PLCBUS-3012 provides a way to remotely control 1 or 2 devices that have a IR receiver by means of the PLCBUS protocol.
The PLCBUS-3012 can remember 16 PLCBUS addresses and can transmit an IR command for each ON or OFF for those 16 addresses. So in total it has a capacity of 32 IR commands.

Technical Specs:
Rating Voltage: 230V/50Hz
Static State Wastage : < 1W
IR Transmit Distance : Up to 3 meter IR emitter cable
IR Learning Distance : <5cm
IR emitter jack plug : 3.5mm
IR Signal Limitation : 38KHz, command length less than 250ms
I have tested the PLC3012 with a couple of devices:

– Loewe Xelos 5381 ZW
– Samsung HT-THX25
– Pinnacle Showcenter 1000


Setup of the PLC3012 is quite easy. The 16 addresses are divided into 4 groups, and each group has to be setup individually.
Each group has its own method of entering Setup mode:

Group 1: Press and Hold Setup Button for 5 seconds
Group 2: Press and release Setup Button once, press again and hold for 5 seconds.
Group 3: Press and release Setup Button twice, press again and hold for 5 seconds.
Group 4: Press and release Setup Button three times, press again and hold for 5 seconds.
When the PLC3012 enters Setup-mode, the 2 inidcators on the controller start flashing, indicating it is waiting for a PLCBUS ON command.
Next step is to send a PLCBUS ON Command for the Address you want to use, this can be done with a PLC4034 or a PLC1141.
I used House Code I (as in IR) for controlling the devices mentioned above.

So after sending I1 ON, the flashing stopped and the red indicator went on and stayed on.
I then used my remote control, aimed it at the IR learning receiver and pushed the Volume+ button.
When the controller has successfully received an IR command, the red LED will go off and the green one will go on, indicating that it is now waiting for an IR command to be used for the OFF-command of the address.
When the controller has successfully received a second IR command, both LEDs will start flashing again, indicating that you can go forward with programming another PLCBUS command, or you can choose to exit Setup mode by pushing the button on the controller.

One important thing to know is that when you initiate Setup-mode again for a specific group, all stored IR commands learned in a previous setup for that group are erased.
So when i setup the Volume+/- for address I1 in Group 1 for my Samsung, and wanted to add address I2 for controlling Channel+/- for my Loewe some time after that, i had to do both again.


I have tried learning several commands of all 3 devices, and all went well the first time. Much better then with the Pronto TSU9600 i have, where some difficult commands had to be learned more then once before they were ok.
When controlling things like Volume or Channel with the PLC3012, you’ll understand it takes some time before the IR command hits the device.
So if you like loud music and do Volume control with the PLC3012, be sure to have the Mute learned to, for when the phone rings…

The IR emitter that came with the controller seems to be typically designed for sticking on top of the IR receiver of the device you want to control. I checked the distance i could achieve with this emitter, but came no further then 50 cm. The PLC3012 supports IR transmitters like the Marmitek IR Eye, the kind you stick onto the device to be controlled, so it seems no there is not much to gain here.

Now where would you use such a IR controller in combination with these types of emitters?
Personally, i am not very fond of sticking things with wires on my TV, Home theater and thing like that. Especially where it is visible all the time. However, when they would be in some cabinet, this could be a good solution.

In my case a typical use of the PLC3012 could for example be controlling my airco. It is located at a place where it is not easily controlled, caused by location and orientation. Here such a ‘sticky’ IR Transmitter would be handy.
There is always a powerline nearby (much more likely then LAN for example), so that could be a nice solution.

PLCBUS Signal and Noise level monitoring

Yesterday i had some extra time to work on my PLCBUS driver. Being able to monitor the ‘quality’ of my powerline seemed like a good idea, since PLC protocols always seem to suffer from noise produced by electrical devices like TV’s, computers, fluorescent lights etc. So it’s very handy to have a good insight in what is goig on on your powerline.

all PLCBUS modules can report Signal and Noise level, i decided to
implement querying the modules to report Signal and Noise level at a timed interval.

Here’s what it looks like on my web site:

I also made a Signal Level chart for a PLCBUS module that’s currently located in my office, for testing purposes.

PLCBUS is Okay

While working on my PLCBUS driver a couple of days ago, i was again very pleased with how it all works.
Reliability is 100% till now. I’ve got 7 plugin modules working for a period of 3 months now and none of them has failed yet. And
it’s fast…getting back a ACK from the module itself in something like
500 ms is one of the main advantages of PLCBUS i would say.

Here’s a small snippet from my logs;the first number on every line is in milliseconds, so as you can see the time from the click of a button from within my HA application untill the ACK comes back from the module, takes only 516 ms:

39836468: ADH  : New Actordata ID=39836453, Address:D2C01 data:4F4646 (OFF)
39836468: DVC  : Device TPLC2027:D2C01 is handling the Actordata
39836468: PLCBS: Start sending Command:20230000, Retrycount=3
39836468: PLCBS: Start new PLC1141Command NetSend:0205D22023000003, Waiting for PLCBUS Response...
39836953: PLCBS: LANDataAv Start39836953: PLCBS: Rcvd:0206D2202300001C03
39836953: PLCBS: Address:D2C01
39836953: IDH  : New Interfacedata ID=39836953, Address:D2C01
39836953: PLCBS: LANDataAv End
39836953: DVC  : Device TPLC2027:D2C01:Source:TPLC1141CommandHandler, Data:=D2202300001C
39836968: DVC  : PinValue is:0
39836984: PLCBS: LANDataAv Start
39836984: PLCBS: Rcvd:0206D2202300002003
39836984: PLCBS: Address:D2C01
39836984: IDH  : New Interfacedata ID=39836984, Address:D2C01
39836984: PLCBS: LANDataAv End
39836984: DVC  : Device TPLC2027:D2C01:Source:TPLC1141CommandHandler, Data:=D22023000020
39836984: DVC  : PinValue is:0

The nice thing is that you can be sure that the actions that you wanted to take place, did take place. And that confirmation comes in half a second. I can live with that, for now 🙂

I hope i’ll have some spare time in the next few weeks to try out some more ‘exotic’ PLCBUS modules, like an IR transmitter, a filter, a transceiver and a signal/noise meter.