Jump to content
c4forums | The Control4 Community

Andrew H

c4Forums Member
  • Posts

  • Joined

  • Last visited

About Andrew H

  • Birthday March 1

Profile Information

  • Gender
  • Location
    Dublin, Ohio

Andrew H's Achievements

  1. You'll need a valid copy of Composer Pro to be able to test anything. Assuming you are a C4 dealer, you should have this. If you are, there are some resources on the C4 training site that explain the basics of how drivers are set up and work. You can watch those for a fundamental understanding, but I found it much more helpful and interesting to learn by poking around at the driver templates that Control4 provides. Also available for download on the C4 dealer site is a tool called DriverEditor 3.0. This tool is good to use to learn the structure of drivers as it provides a C4-specific interface in which to write your drivers and includes C4s packaging tools all in one program. I'd use it to start, but I highly recommend switching to Visual Studio Code or some other toolset once you have a basic idea of what makes a C4 driver tick. There are also publicly available resources at Control4's Github page. They have their driver SDK listed there, which includes most of what you need to create your own driver. The three that I reference the most are the DriverWorks Fundamental Guide, the DriverWorks Proxy Protocol Guide, and the DriverWorks API. As mentioned, C4 does provide some driver templates that you can use to reference/ model. These are especially helpful in understanding how the C4 proxy works, and can be built upon if you are building a driver that fits one of the proxy's especially well. The last tool that I use in driver creation is the DriverPackager tool. The tools in that last link are what you need to bundle your driver into a c4i or c4z driver file for use with Control4. I hope this enough to get you started.
  2. @LollerAgent You would need to be an Authorized Mirus Dealer to do that. If you're interested in more information on that process, you can contact our sales/info guys using this form and they will contact you with answers.
  3. This is correct. Mirus is a dealer only product. We have C4 integration through custom drivers that give you network control of our products. We have drivers to control our LED products (single channel dimmer driver as well as 3 channel driver for RGB), as well as drivers for our contact and relay products, and our ARL(Audio Reactive Lights) module which works with our driver suite to make lights dance to music.
  4. Mirus Lights are great for both accent and recessed lighting. The systems are all low voltage and are great for whole-home panalized as well as smaller systems. We have both strip and can lights offered in white as well as RGBW.
  5. I have my computer connected to serial port 2 (DB9) on my EA5. This is connected to my computer using a DB9-to-USB adapter. Have you tried your setup using a second serial cable?
  6. I tested the blind_proxy_template this afternoon using PuTTY on my computer, and I was able to get serial data to communicate both ways. Are you seeing anything at all in the Lua Output window of your blind proxy driver? Any errors or anything that I could possibly help you troubleshoot?
  7. So you have your computer running realterm and connected to your C4 processor, correct? And you can see data sent from C4 to your computer but not the other way around? I've never used realterm, so I'm not very sure where to begin troubleshooting on that side. If you can not see any data coming back from to Control4, make sure your serial settings such as baud rate are set the same on both systems. I would have to think that you have that correct if you are seeing data even one way, but again I'm not familiar with realterm to know how it works. The only graphical wizard that I am aware of for creating drivers is DriverEditor. If you're comfortable writing the lua and xml in an external editor, you can open your project in DriverEditor to generate the c4z if you are more comfortable doing that. I would suggest though that you don't have your project open in both DriverEditor and an external editor at the same time as I've had this cause issues from the DriverEditor side.
  8. C4's Python tool (called driverpackeger) does allow you to generate .c4z files. What are you doing with ReceivedFromSerial()? If you haven't yet, try adding the line print(sData) as the first line in the function ReceivedFromSerial() in the file c4_serial_connection.lua (found in the common folder). This will show you what exactly C4 is reading in on your serial binding. I'm not quite sure I understand your last question. Are you asking about navigator and composer categories? Those are used for driver organization inside of C4, so choose whichever looks closest to the intended application of your driver.
  9. As Ryan said, a proxy mostly serves as a way to give interaction to your end users through the C4 UI. If you will not need UI integration, a proxyless driver is the best way to go. To do this, your driver should effectively reference itself as its own proxy. You'll need to set an additional flag in your xml file <combo>true</combo> As for your proxy tag: <proxies> <proxy> My Driver Name </proxy> </proxies> The templates are still a good place to start and to learn how C4 driver structure works, but I'd recommend writing your own for your application. Without knowing how the other (non C4) side of your device will work, my guess would be that you should look specifically at C4:SendToSerial() and ReceivedFromSerial() in the C4 API. Another thing worth noting if you're just getting started is that DriverEditor works for creating drivers, but I'd recommend using Visual Studio Code with the Control4 extension instead. C4 provides a python tool on their Github for packaging your driver as well. These two tools work much better than DriverEditor in my opinion.
  10. Hi Antek, The driver type that you'd want to choose depends largely upon what inputs and outputs you need to integrate, and what you need to do with them. There's not enough information in your post to determine which I'd recommend. Can you give me a better idea what you are trying to accomplish? As for documentation, I typically find these documents to be the most helpful for most of my drivers. Control4's Github also has a lot of good resources for learning/modelling, including more documentation and some example projects. Do you have any specific questions or things that you're trying to accomplish that we could help you figure out?
  11. Not related to the DALS lights driver, but more to the original question: Mirus Lighting offers RGBW cans similar to the ones shown in the original picture as well as RGBW LED strip that is all controllable through Control4.
  12. I am writing a driver that needs to be able to dynamically create and destroy SSL connections in order to connect (and disconnect) to an indeterminate number of devices. Due to the inherent unpredictability of how many devices will be connected at a given time, I need this to be able to be done programmatically. I'm comfortable enough with Lua, and have written a few simple drivers before, but none with this type of requirement. I'm essentially looking for the opposite of C4:CreateNetworkConnection(). Can someone point me in the right direction? I looked at the example drivers provided on C4's Github and it looks like they use C4:NetDisconnect() calls to 'remove' connections created with C4:CreateNetworkConnection(). I attempted this approach, but all it seems to do is to temporarily (until my reconnect handler executes) break the connection, without actually removing it. So far, the only thing I've found that will remove the connections is doing a driver reboot, but I'd like to avoid having to do that every time I need to remove a connection. Thanks all!
  • Create New...