To simplify the implementation of hardware that is connected via certain standardized physical connection layers and protocols, those are implemented as Bridges.
M-Bus is a widely used standard for fieldbus communication. It enables connection to M-Bus devices like meters.
This bridge depends on jMbus, a user guide for it can be found at https://www.openmuc.org/m-bus/user-guide/.
Note: For jMbus to work you need to install the native part of RxTx which is a library for serial port communication jMbus is dependent on. See paragraph 2.5 for further information.
For Linux users: In case the RxTx library cannot be found under /usr/lib/jni you can try to move all .so files of that directory to /usr/lib (see OpenEMS Community).
Modbus is a widely used standard for fieldbus connections. It is used by all kinds of hardware devices like photovoltaics inverters, electric meters, and so on.
OneWire is a widely used protocol for home automation. It is used by sensors like thermometers.
This implementation directly talks to the OneWire busmaster, e.g. a DS9490R USB dongle, without requiring the OneWire File System (OWFS). It therefore requires the natively compiled C library by the manufacturer of the OneWire chip Maxim Integrated. This library is then accessed using Java JNI.
To compile the native library follow the guide on https://www.maximintegrated.com/en/design/technical-documents/app-notes/5/5917.html.
Download the OneWireViewer-Linux.zip file
Unzip the file (
Prepare compile environment (
sudo apt-get install libusb-dev build-essential)
Install Java JDK (e.g.
sudo apt-get install openjdk-8-jdk)
cd OneWireViewer-Linux/PDKAdapterUSB && make && sudo make install)
The library needs exclusive access to the busmaster.
Unload the default Linux driver:
Block the driver from loading on next boot
echo blacklist ds2490 > /etc/modprobe.d/ds2490.conf