Vbus Deltasol BXL Problem with DESTINATION (0x0015) Instead of (0x0010)

25 views
Skip to first unread message

Manu rod

unread,
Mar 26, 2023, 6:56:23 AM3/26/23
to Resol Vbus
Hello , good morning to all; I am going to tell you about my problem. My system is Deltasol BXL,
DFA (0x0010) <= DeltaSol BXL (0x7428), command 0x0100. Hardware the "VBUSa Uart" adapter with Arduino Mega, and Seale Logic Analyzer, with "Sigrok Pulse View" to see the frames.
I have used the software from "FatBeard" (exemple readvbus) and "bbqkees vbus-arduino-domoticz", and also the documentation from "Daniel Wippermanhttp://danielwippermann.github.io/"
At first the result was all zeros, but then I noticed that I am getting frames with destination ("0x0000"), ("0x0015"), ("0x0010"). But almost always, it catches the frames with destination address (0x0015), which contains no useful data, WHEN IT CATCHES FRAMES WITH DESTINATION (0x0010), it decodes the data correctly, I can read the data from three temperature sensors, (Relays don't) , (because I have to adapt the section, decode, to the controller (0x7428) and I am not a developer, but I am an electronic technician and my level of programming is beginning, beginner in basic. Very old, many years ago, I have managed to put a filter to decode "0x0010" frames in the Command Filter. Here:

// Only analyse Commands 0x100 = Packet Contains data for slave
    // with correct length = 10 bytes for HEADER and 6 Bytes  for each frame
       
    if ((Command == 0x0100) && (Destination_address == 0x0010) && (Bufferlength == 10 + Framecnt * 6))
     // && (Checksum == VBus_CalcCrc(Buffer, 1, 8) ) )
     // && (Destination_address == 0x0010)
    {......
And I have managed to decode more frames (0x0010) and temperatures. But Strangely it keeps syncing mainly to the frames with destination (0x0015) and also, when I receive the correct data, from the correct frame,
he only reads them sometimes; In other words, I reset the arduino Mega in successive attempts, and after a few attempts, it takes the correct data. But the data always remains fixed, immutable, does not change over time, until I reset several times, and it returns to take the correct and updated data. Sometimes the first time, other times in 2 or 4 tries.

I have seen the frames in the logic analyzer, and they arrive as I have explained. The frames with destination (0x0010)
They are accompanied with 15 data packets with payload, x 6 bytes of payload, total 90 bytes.
I don't know what to do, I'm at a standstill. I think some code needs to be changed in (VbusRead()) But I don't quite understand the algorithm of the Code or the Code itself. My level of English is medium, but I use translation.
I need help please.
Example of decoded data.

TRAMAS DESTINO (0X0015)
204.90
0.00
16
------Decoded VBus data------
Destination: 15
Source: 7428
Protocol Version: 1
Command: 100
Framecount: 7
Checksum: 54
------Values------
Sensor 1: 204.90
Sensor 2: 0.00
Sensor 3: 0.00
Sensor 4: 0.00
Relay 1: 0
Relay 2: 0
Minute of Day: 0
Notifications: 0
------END---

FRAME  (0X0010)

Sync found
Sync found
---------------
Destination: 10
Source: 7428
Protocol Version: 1
Command: 100
Framecount: 15
Checksum: 51
---------------
-------by manu--------
Now decoding for 0x7428
---------------
0x77 00 91 01
0xB8 22 F7 01
0xB8 22 48 DD
0xF1 D8 48 DD
0xF1 D8 00 00
0x0B 00 00 00
0x00 00 00 00
0x49 5E 28 05
------Values------
Sensor 1: 54.90
Sensor 2: 46.50
Sensor 3: 0.00
Sensor 4: 57.40
Relay 1: 1
Relay 2: 16
Minute of Day: 0
Notifications: 0
Reply all
Reply to author
Forward
0 new messages