Jump to content
C4 Forums | Control4

kiwi24

c4Forums Member
  • Posts

    3
  • Joined

  • Last visited

Everything posted by kiwi24

  1. I've been doing some more work to try and get the level scaled correctly from percent (0-100) in the OUTPUT_nn_VOLUME_LEVEL variable to a 0-38 range that the matrix expects, but from looking through the logs, I don't think the driver is even using the LEVEL parameter at all. I can see the logs show that only <11VO is being sent, instead of <11VO30\r in the example below where the volume for amp 1 zone 1 should be set to 30. The LEVEL parameter is correctly getting the value of 30 in the xml, but this is not being transformed into the Serial packet being sent to the device. 2022-04-25 16:21:21.981 +1200 ea5-000FFF98EC5D [5427] (6515) TRACE: Incoming request [endpoint: 192.168.70.50:58996][request: SendToDeviceAsync]: <c4soap name="SendToDeviceAsync" session="0" operation="RWX" category="composer" async="True"><param name="iddevice" type="number">1442</param><param name="data" type="string"><devicecommand owneridtype="" owneriditem="-1"><command>SET_VOLUME_LEVEL</command><params><param><name>LEVEL</name><value type="INTEGER">\x0a<static>30</static></value>\x0a</param>\x0a<param><name>OUTPUT</name><value type="INTEGER">\x0a<static>4000</static></value>\x0a</param>\x0a</params></devicecommand></param></c4soap>\x00 2022-04-25 16:21:21.982 +1200 ea5-000FFF98EC5D [5427] (5427) INFO: Executing command (SET_VOLUME_LEVEL) on driver MonoPrice-Barry(1442) 2022-04-25 16:21:21.982 +1200 ea5-000FFF98EC5D [5427] (5427) DEBUG: xml = <devicecommand><command>SET_VOLUME_LEVEL</command><params><param><name>LEVEL</name><value type="INTEGER"><static>30</static></value></param><param><name>OUTPUT</name><value type="INTEGER"><static>4000</static></value></param></params></devicecommand> 2022-04-25 16:21:21.982 +1200 ea5-000FFF98EC5D [5427] (5427) TRACE: BoundCall: [command: PROTOCOL_COMMAND][notify: ] 2022-04-25 16:21:21.983 +1200 ea5-000FFF98EC5D [5427] (5427) TRACE: BoundCall: [command: SEND][notify: ] 2022-04-25 16:21:21.984 +1200 ea5-000FFF98EC5D [5427] (5427) DEBUG: Sending payload [device id: 15][name: Control4 EA-5][size: 8] 2022-04-25 16:21:21.984 +1200 ea5-000FFF98EC5D [5427] (5427) TRACE: asyncWriteImpl(): Writing payload [127.0.0.1:5102][size: 8] 2022-04-25 16:21:21.985 +1200 ea5-000FFF98EC5D [5427] (5427) TRACE: CTimerBacon::AddTimer(): [id: 11397291][start time: 1142061720931311 nanoseconds][duration: 100][repeat: false][class: av_gen][total timers: 851] 2022-04-25 16:21:21.985 +1200 ea5-000FFF98EC5D [5427] (5427) TRACE: C4BaseDriver::AddTimer: Timer Added (11397291)Test Devices-->Monoprice ASwitch 232(1441) 2022-04-25 16:21:21.985 +1200 ea5-000FFF98EC5D [5427] (5427) TRACE: BoundCall: [command: ][notify: VOLUME_LEVEL_CHANGED] 2022-04-25 16:21:21.986 +1200 ea5-000FFF98EC5D [5427] (6515) TRACE: asyncWriteImpl(): Writing payload [][size: 244] 2022-04-25 16:21:21.986 +1200 ea5-000FFF98EC5D [5427] (5427) TRACE: BoundCall: [command: ][notify: VOLUME_LEVEL_CHANGED] 2022-04-25 16:21:21.987 +1200 ea5-000FFF98EC5D [5427] (6515) TRACE: asyncWriteImpl(): Writing payload [127.0.0.1:46032][size: 244] 2022-04-25 16:21:21.987 +1200 ea5-000FFF98EC5D [5427] (6515) TRACE: asyncWriteImpl(): Writing payload [192.168.70.50:58996][size: 244] 2022-04-25 16:21:21.987 +1200 ea5-000FFF98EC5D [5427] (6515) TRACE: handleWrite(): Wrote 244 bytes to [] 2022-04-25 16:21:21.988 +1200 ea5-000FFF98EC5D [5427] (6515) TRACE: asyncWriteImpl(): Writing payload [192.168.50.80:60858][size: 244] 2022-04-25 16:21:21.988 +1200 ea5-000FFF98EC5D [5427] (6515) TRACE: handleWrite(): Wrote 244 bytes to [127.0.0.1:46032] 2022-04-25 16:21:21.988 +1200 ea5-000FFF98EC5D [5427] (6515) TRACE: handleWrite(): Wrote 244 bytes to [192.168.70.50:58996] 2022-04-25 16:21:21.988 +1200 ea5-000FFF98EC5D [5427] (6515) TRACE: handleWrite(): Wrote 244 bytes to [192.168.50.80:60858] 2022-04-25 16:21:22.008 +1200 ea5-000FFF98EC5D [5427] (5427) TRACE: DeviceStreamConnection::handleData: Received serial packet [device id: 15][name: Control4 EA-5]: <11VO So the primary issue is getting the LEVEL parameter to be used before I then set about scaling this to the appropriate range. The driver is a simple one-way RS232 driver created in Driver wizard with discrete volume control, which allows the LEVEL variable to be used - as shown in the screenshot below. I don't have a need for 2 way comms as I am controlling this matrix solely from Control4. The format for the serial command to update the volume is <nnVOvv CR where nn is the amp output zone, and vv is the volume level (0-38) I have created a macro for each zone output volume - for example for zone 1 the serial code is "<11VO" %2EDLEVEL "\r" - which I am expecting to convert the LEVEL variable into a 2 digit decimal using big endian order. There is a space either side of the %2EDLEVEL parameter in the serial code definition. Is anyone able to see what I am doing wrong? Thanks in advance.
  2. I used the native C4 Alexa integration initially but quickly got frustrated by it, so switched to Varietas Software's driver for Homebridge (which is normally used for Siri) and used a Homebridge Alexa plugin. This allows me to use both Siri and Alexa with the same "phrases" and is significantly faster than the native solution as it is integrating to a local homebridge server on the LAN. My alexa actions are typically within 1 second. Siri is slower (for all speech conversion not just C4), so I assume the Apple speech conversion takes a different approach to Amazon. It may also be based on my location. I chose to use my own homebridge server, but Varietas also offer a solution where they provide the complete package.
  3. @YourMe - to answer your original question, I believe the syntax to use the LEVEL parameter in driverworks wizard to adjust the Zone 5 volume is "<15VO %2EDLEVEL \r" where the % indicates a paramater will be used The 2 indicates how many digits (leading zeroes added) E (or e) indicates Big Endian or Small endian D indicates Decimal I am creating a driver for the same Monoprice 10761 6x6 audio matrix. I have most of the commands working for powering and switching zones, but I think the LEVEL being passed for the volume is currently in percent (0-100) rather than 0-38 as I am getting deafened.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.