Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Unofficial remote control application for Expert
#27
(23-Aug-2022, 21:43)pisabell Wrote: 1) There also appears to be a small change in the command packets that the Devialet is expecting. Basically all the commands sent by Deviamote to the Devialet are working OK, except those for selecting the first four of my seven different sources. In the Devialet command packets, the source selection is encoded in two consecutive bytes, but at this time I do not understand how specific pairs of bytes are supposed to relate to specific sources. In the Devimote program the value of this pair of bytes is determined using a calculus that I do not understand:
Code:
        out_val = 0x4000 | (output << 5)
        data = bytearray(142)
        data[6] = 0x00
        data[7] = 0x05
        data[8] = (out_val & 0xff00) >> 8
        if output > 7:
            data[9] = (out_val & 0x00ff) >> 1
        else:
            data[9] = (out_val & 0x00ff)

It is the value of bytes 8 and 9 that is expected to select a particular source. However, as it happens, the above calculus does not provide the correct values for my first four sources, as can be seen by comparing the bytes sent by my Devialet Android app with those sent by Deviamote:

Code:
# Change source CMD packets, first 10 bytes, as numbered from 0

44 72 00 2c 00 16 00 05 00 00  (source 0-Cinema, Android app)
44 72 00 04 00 02 00 05 40 00  (source 0-Cinema, devimote)

44 72 00 30 00 18 00 05 3f 80  (source 1-lp12, Android app)
44 72 00 9c 00 4e 00 05 40 20  (source 1-lp12, devimote)

44 72 00 34 00 1a 00 05 40 00  (source 2-upnp, Android app)
44 72 00 a0 00 50 00 05 40 40  (source 2-upnp, devimote)

44 72 00 39 00 1c 00 05 40 40  (source 3-Roon, Android app)
44 72 00 a4 00 52 00 05 40 60  (source 3-roon, devimote)

44 72 00 3c 00 1e 00 05 40 80  (source 4-Airplay, Android app)
44 72 00 a8 00 54 00 05 40 80  (source 4-airplay, devimote)

44 72 00 40 00 20 00 05 40 a0  (source 5-Spotify, Android app)
44 72 00 ad 00 56 00 05 40 a0  (source 5-Spotify, devimote)

44 72 00 44 00 22 00 05 41 60  (source 14-Air, Android app)
44 72 00 b0 00 58 00 05 41 60  (source 14-Air, devimote )

2) The second remaing problem is more damning. Deviamote monitors the status of the amp by listening to UDP packets sent by the amp on port 45454. However, my Roon server also needs to listen on that same port, and Deviamote refuses to start whenever Roon is running. For my purpose, this turns out to be a very serious limitation. I hope that Deviamote can somehow be modified to allow for "shared listening". This must be possible, since the Devialet Androis app is listening fine while Roon is running.

Yes, that was a hack on my side, because I could also not fully understand the logic behind the output encoding in my setup. I noticed in wireshark that it was different if the output was above 7, so I coded that without being able to explain why such a thing was necessary.

In recent times I bought a subwoofer and reconfigured my D200 to switch an input to a pre-out to drive the subwoofer, which made me think that perhaps the different encoding is needed for configurable inputs/outputs or other similar stuff. But I never got to test this theory.

As for the different packet size because of more channels, there are two possible approaches that Devialet might be following. Either they read the model and adjust the rest of the code accordingly, or there is a field somewhere that I'm not decoding which declares the number of outputs or the size of the packet.

(23-Aug-2022, 21:43)pisabell Wrote: 2) The second remaing problem is more damning. Deviamote monitors the status of the amp by listening to UDP packets sent by the amp on port 45454. However, my Roon server also needs to listen on that same port, and Deviamote refuses to start whenever Roon is running. For my purpose, this turns out to be a very serious limitation. I hope that Deviamote can somehow be modified to allow for "shared listening". This must be possible, since the Devialet Androis app is listening fine while Roon is running.

Mmmm, a bit outside my field, I did the quickest possible UDP listening implementation but you are probably right. Could you please open an issue in github? It is a much better place to discuss this sort of things.

Cheers
Devialet Expert 200 | Linn Sondek LP12 | KEF LS50 + KC62
Reply


Messages In This Thread
RE: Unofficial remote control application for Expert - by gnulabis - 29-Aug-2022, 08:08

Forum Jump:


Users browsing this thread: 1 Guest(s)