I purchased a water meter off aliexpress advertised as having either Mbus or RS485, which I assumed was Modbus. Trying to get any manuals or information off the seller was unsuccessful. It was advertised as a YNS-25 but what received was marked with LXSY-25E



Polling the Modbus at 9600, 1 stop bit, address 0 got a response from the meter at address 34. According to Modbus specs sending commands to address 0 broadcasts the command to all devices on the network but none are supposed to respond. This means the meter does not comply with the standard. The address of 34 decimal is hardcoded into the meter, which is the last 2 digits of the serial number 22 in hexadecimal.
After lots of googling I found a manual for the LXSY series being sold by a Singapore company.
As a side note I found out that M-Bus does not stand for Modbus, but is a different communication standard called Meter-Bus, an European standard (EN13757) for the remote reading of meters such as water, gas and electricity. It is a 2 wire system that provides power and data to the remote meters.
M-Bus links
https://github.com/rscada/libmbus/blob/master/hardware/MBus_USB.pdf
https://forum.arduino.cc/t/m-bus-meter-bus/362202/3
https://docs.arduino.cc/libraries/mbuspayload/#Compatibility
https://www.instructables.com/How-Read-and-Decode-Data-From-M-BUS-Smartmeters-Us/