Node library (resol-vbus)

已查看 193 次
跳至第一个未读帖子

Laurens van Riel

未读,
2017年5月17日 09:50:302017/5/17
收件人 Resol Vbus
Hello, 

I've been trying to get a read out from my DeltaSol SL via the vbus connection.

My Raspberry Pi is connected to the VBUS via a circuit.
The Vbus is available through serial interface /dev/serial0

I've tried this tutorial:

However the only data i receive is the following:
Packet received: 00_0015_2251_10_0100
Packet received: 00_0015_2251_10_0100
Packet received: 00_0015_2251_10_0100
Packet received: 00_0015_2251_10_0100
Packet received: 00_0015_2251_10_0100
Packet received: 00_0015_2251_10_0100

So I thought maybe the controller is not in the specification? Try the customizer: 

pi@raspberrypi:~/resol-vbus $ sudo node examples/customizer/index.js --loadAll --out .../complete-config.json
Connecting...
Connection state changed to CONNECTING
Connection state changed to CONNECTED
Waiting for free bus...
Found master with address 0x2251
WARNING: Unable to create optimizer for master with address 0x2251
[1] Optimizing set of values for round 1
Disconnecting...
Connection state changed to DISCONNECTING
/home/pi/resol-vbus/node_modules/q/q.js:155
                throw e;
                ^

TypeError: Cannot read property 'optimizeLoadConfiguration' of null
    at constructor._optimizeLoadConfiguration (/home/pi/resol-vbus/src/customizer.js:169:30)
    at callback (/home/pi/resol-vbus/src/connection-customizer.js:102:34)
    at /home/pi/resol-vbus/src/connection-customizer.js:233:32
    at _fulfilled (/home/pi/resol-vbus/node_modules/q/q.js:854:54)
    at self.promiseDispatch.done (/home/pi/resol-vbus/node_modules/q/q.js:883:30)
    at Promise.promise.promiseDispatch (/home/pi/resol-vbus/node_modules/q/q.js:816:13)
    at /home/pi/resol-vbus/node_modules/q/q.js:624:44
    at runSingle (/home/pi/resol-vbus/node_modules/q/q.js:137:13)
    at flush (/home/pi/resol-vbus/node_modules/q/q.js:125:13)
    at _combinedTickCallback (internal/process/next_tick.js:73:7)

Any ideas how to guide me in the right direction?

Help appreciated :)

Regards,

Laurens

Laurens van Riel

未读,
2017年5月17日 16:27:512017/5/17
收件人 Resol Vbus
Below is the output of the packet received.
console.log(packet):

constructor {
  destinationAddress: 21,
  sourceAddress: 8785,
  timestamp: 2017-05-17T20:24:35.517Z,
  command: 256,
  frameCount: 12,
  frameData: <Buffer 04 01 00 00 fe 02 76 01 ff 01 b2 02 b8 22 0f 27 00 00 f1 d8 01 08 00 00 64 00 00 00 02 0a 00 00 fe 02 76 01 00 00 00 00 01 0b 00 00 00 00 00 00 00 00 ... >,
  channel: 0 }

Laurens van Riel

未读,
2017年5月18日 04:22:562017/5/18
收件人 Resol Vbus
And below is the output for a DeltaSol BS

Packet received: 00_0015_427B_10_0100
[]

console.log(packet)
constructor {
  destinationAddress: 21,
  sourceAddress: 17019,
  timestamp: 2017-05-18T08:20:26.892Z,
  command: 256,
  frameCount: 10,
  frameData: <Buffer 01 08 00 00 00 00 ff ff 02 0a 00 00 da 00 b8 22 00 00 00 00 01 0b 00 00 06 00 00 00 02 01 00 0b da 00 b8 22 b8 22 b8 22 00 00 00 00 00 00 00 00 00 00 ... >,
  channel: 0 }


On Wednesday, 17 May 2017 15:50:30 UTC+2, Laurens van Riel wrote:

Daniel Wippermann

未读,
2017年5月18日 15:55:462017/5/18
收件人 Resol Vbus
Hi Laurens,

I find it odd that you only receive "00_0015_..." packets. Although those packets contain a small amount of data, it is not the full set (and the "getPacketFieldsForHeaders" call from the example page will not yield any values for those packets). The full set of values for the SL controller would be in the packet using ID "00_0010_2251_10_0100" and should contain the values from this list:

There are multiple possibilities why you do not get the packet containing the full set of data. To get to the core of the problem it would be helpful if you extended the "Receive and display live data" example with two additional event handlers:

var onRawData = function(buffer) {

console.log('RAW: ' + buffer.toString('hex'));

};


connection.on('rawData', onRawData);


var onJunkData = function(buffer) {

console.log('JUNK: ' + buffer.toString('hex'));

};


connection.on('junkData', onJunkData);


Please place that below the "connection.on('packet', onPacket);" line. Once you run the application it should regularly print out incoming raw data. If a data is received that does not conform to the VBus specification (e.g. because there is a problem with the transceiver) then the output should report it as "JUNK: ..." as well.

Could you then please send me some of the output (approx. 30 seconds worth of output should be okay).

Thanks in advance,
 Daniel




--
You received this message because you are subscribed to the Google Groups "Resol Vbus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to resol-vbus+...@googlegroups.com.
To post to this group, send email to resol...@googlegroups.com.
Visit this group at https://groups.google.com/group/resol-vbus.
For more options, visit https://groups.google.com/d/optout.

Laurens van Riel

未读,
2017年5月19日 18:20:252017/5/19
收件人 Resol Vbus
Hi Daniel,

Thanks for your response.

Attached you'll find the output of the of the extended "Receive and display live data" example. 
I found quite a bit of JUNK: in there, might have to look at my circuit!

Best regards,

Laurens
debug.log

Daniel Wippermann

未读,
2017年5月19日 23:42:412017/5/19
收件人 Resol Vbus
Hi Laurens,

you are right, the rate of junk data you are experiencing is far too high.

The thing that I find interesting is the fact that every once in a while the "00_0015_2251_10_0100" packet comes through and is always followed by a valid "00_0000_2251_20_0500_0000" datagram (they don't get logged since you ignore the corresponding event currently). That means that a sequence of approx. 100 bytes gets received unjammed. But immediately after that (potentially the start of a new packet) not even the SYNC byte is there...

So yes, it might be your reception circuitry, but why does it get 100 bytes right from time to time then? :)

Another explanation could be the topology. Do you have a direct connection from the controller to the receiver circuitry or are there any other modules connected as well (like SD3 smart displays or another controller)?

Best regards,
 Daniel

Dave Liquorice

未读,
2017年5月20日 05:47:382017/5/20
收件人 resol...@googlegroups.com
> So yes, it might be your reception circuitry, but why does it get 100
> bytes right from time to time then? :)

Possibly a baud rate mismatch, though those are normally so bad that you
don't get any sensible data. Also check the serial port setup for number of
start, data and stop bits.

What interface hardware are you using? There is quite a bit of
miss-information out there. Tried several variations but none where
particularly reliable, gave up looked at the circuit diagram of the
controller and designed my own:

https://groups.google.com/forum/#!topic/resol-vbus/3CjZffK53ig

Not had any bother since been in use for a year+. Receive only.

--
Cheers
Dave.


Laurens van Riel

未读,
2017年5月20日 19:56:442017/5/20
收件人 Resol Vbus、alls...@howhill.com
After adding  dtoverlay=pi3-disable-bt to my /boot/config.txt on my Raspberry Pi 3. 
I started receiving more packets, the JUNK packets seem to be gone now. 
Attached is my new debug2.log.

Packet received: 00_0010_2251_10_0100
constructor {
  destinationAddress: 16,
  sourceAddress: 8785,
  timestamp: 2017-05-20T23:42:44.435Z,
  command: 256,
  frameCount: 25,
  frameData: <Buffer b5 3c d1 1e fe 02 76 01 ff 01 b2 02 b8 22 0f 27 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0f 27 64 00 00 00 64 00 00 00 00 00 67 00 00 00 26 d5 ... >,
  channel: 0 }

Packet received: 00_0015_2251_10_0100
constructor {
  destinationAddress: 21,
  sourceAddress: 8785,
  timestamp: 2017-05-20T23:42:46.661Z,
  command: 256,
  frameCount: 12,
  frameData: <Buffer 04 01 00 00 fe 02 76 01 ff 01 b3 02 b8 22 0f 27 00 00 f1 d8 01 08 00 00 64 00 00 00 02 0a 00 00 fe 02 76 01 00 00 00 00 01 0b 00 00 00 00 00 00 00 00 ... >,
  channel: 0 }

Regards,

Laurens
debug2.log

Daniel Wippermann

未读,
2017年5月23日 16:03:212017/5/23
收件人 Resol Vbus、alls...@howhill.com
Hi Laurens,

that indeed looks better now. The "00_0010_2251_10_0100"  should be decodable using the "Specification" class.

If you plan to customize parameters of your DeltaSol SL that still won't work out-of-the-box. The DeltaSol SL is not yet supported by the "ConfigurationOptimizers". For that I would first have to convert the parameter list into a form the resol-vbus library supports. So just drop me a line if you are planning to use that.

Best regards,
 Daniel


回复全部
回复作者
转发
0 个新帖子