A Node-Red Node for decoding norwegian AMS energy meters.
The node`s are testet with Aidon and Kamstrup meters.
includes Beta Node for Kaifa meters.Go to your Node-RED user folder (e.g. ~/.node-red) and run:
sudo npm i node-red-contrib-ams-decoder
The node expects a string
from msg.payload́
containing the whole message from the AMS energy meter and ouputs the following:
msg.payload.obis_list_version
msg.payload.meter_ID
msg.payload.meter_model
msg.payload.act_pow_pos
msg.payload.act_pow_neg
msg.payload.react_pow_pos
msg.payload.react_pow_neg
msg.payload.curr_L1
msg.payload.curr_L2
msg.payload.curr_L3
msg.payload.volt_L1
msg.payload.volt_L2
msg.payload.volt_L3
msg.payload.date_time
msg.payload.act_energy_pos
msg.payload.act_energy_neg
msg.payload.react_energy_pos
msg.payload.react_energy_neg
Fetch the message from the ams energy meter trough a USB-serial port by using the serialport
node.
npm i node-red-node-serialport
These settings in the serialport node seems to work fine:
from the ouput on the serial node use a function
node to convert the binary buffer to String
.
The function node can contain something like:
msg.payload = msg.payload.toString('hex');
return msg;
Then pass the output from the function
node to the input
of the ams_decoder
to decode the ams message.
Use the output as you like with the msg.payload
properties as listet above
The values are in raw format as described in the descriptions below:
https://www.nek.no/wp-content/uploads/2018/11/Aidon-HAN-Interface-Description-v10A-ID-34331.pdf
https://www.nek.no/wp-content/uploads/2018/10/Kamstrup-HAN-NVE-interface-description_rev_3_1.pdf
https://www.nek.no/wp-content/uploads/2018/11/Kaifa-KFM_001.pdf
1.0.6: Includet beta node for Kaifa reader
1.1.0: changed output type fromClass
to Object
, Included function to change input string to uppercase.
1.1.1: Minor bug fix in kamstrup node regarding time/date
1.1.3 Bug fix with Aidon node thath caused current to display wrong when producing energy to the grid.