Difference between revisions of "MBus Heatmeter Reading"
Jump to navigation
Jump to search
(→Links) |
(→Links) |
||
(33 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Links = | = Links = | ||
* https://m-bus.com/ | * https://m-bus.com/ | ||
+ | * https://m-bus.de/ | ||
* https://www.modbusdriver.com/modpoll.html | * https://www.modbusdriver.com/modpoll.html | ||
+ | * https://piers.rocks/2020/04/11/mbus-primary-and-secondary-addresses.html | ||
* https://www.mikrocontroller.net/topic/438972 | * https://www.mikrocontroller.net/topic/438972 | ||
− | * https://www. | + | * https://github.com/ganehag/pyMeterBus |
− | + | = Videos = | |
− | = | + | <youtube>0JyeLY9NURg</youtube> |
+ | = Devices = | ||
+ | == USB IR Reader == | ||
+ | e.g. [https://www.amazon.de/dp/B0C6YH3XWB bitShake SmartMeterReader - USB IR Lesekopf] | ||
+ | === Linux === | ||
<source lang='bash' highlight='1,3'> | <source lang='bash' highlight='1,3'> | ||
lsusb | lsusb | ||
Line 49: | Line 55: | ||
</source> | </source> | ||
=== set baud rate === | === set baud rate === | ||
− | <source lang='bash'> | + | <source lang='bash' highlight='1'> |
stty -F /dev/ttyUSB0 2400 | stty -F /dev/ttyUSB0 2400 | ||
</source> | </source> | ||
+ | |||
=== Video === | === Video === | ||
<youtube>0ZjDFD1Q_hM</youtube> | <youtube>0ZjDFD1Q_hM</youtube> | ||
+ | == Mac == | ||
+ | <source lang='bash'> | ||
+ | ioreg -p IOUSB -l -w 0 | grep -i uart | ||
+ | +-o CP2102 USB to UART Bridge Controller@14200000 <class AppleUSBDevice, id 0x10006716a, registered, matched, active, busy 0 (8 ms), retain 13> | ||
+ | | "USB Product Name" = "CP2102 USB to UART Bridge Controller" | ||
+ | | "kUSBProductString" = "CP2102 USB to UART Bridge Controller" | ||
+ | </source> | ||
+ | === CP210x VCP Driver === | ||
+ | * https://www.silabs.com/documents/public/software/Mac_OSX_VCP_Driver.zip | ||
+ | * download, unpack and install SiLabsUSBDriverDisk.dmg | ||
+ | |||
+ | = Heat Meters = | ||
+ | |||
+ | == CF Utramaxx-mk == | ||
+ | https://m.media-amazon.com/images/I/71s+UPQ+jhL._AC_SL1500_.jpg | ||
+ | <pdf> | ||
+ | https://www.allmess.de/fileadmin/multimedia/alle_Dateien/DB/DB_P0012%20UltraMaXX_TS0219.pdf | ||
+ | </pdf> | ||
+ | * https://emea.itron.com/products/cf-ultramaxx-v | ||
+ | https://emea.itron.com/o/commerce-media/accounts/-1/images/3198895?download=false | ||
+ | <pre> | ||
+ | Standard Werkseinstellung: | ||
+ | Primäradresse: 0 | ||
+ | Sekundäradresse: Zählernummer | ||
+ | Baudrate: 2400 Baud | ||
+ | </pre> | ||
− | |||
https://www.itron.com/de/solutions/product-catalog/cf-ultramaxx-mk | https://www.itron.com/de/solutions/product-catalog/cf-ultramaxx-mk | ||
+ | |||
+ | === Windows Auslese Software: UMCS === | ||
+ | |||
+ | [[File:UMCS-ScreenShot2025-01-22-1043.jpg|400px]] | ||
+ | === Protokoll Mitschrift === | ||
+ | AD= Address | ||
+ | CI=https://m-bus.com/documentation-wired/06-application-layer CI field | ||
+ | * wakeup: 1028x55 2.766 sec | ||
+ | * 68 03 03 68 53 fe a6 f7 16 | ||
+ | |||
+ | = Software = | ||
+ | == pyMeterBus == | ||
+ | * https://github.com/ganehag/pyMeterBus | ||
+ | |||
+ | <source lang='bash' highlight='1,9-10'> | ||
+ | git clone https://github.com/ganehag/pyMeterBus | ||
+ | Cloning into 'pyMeterBus'... | ||
+ | remote: Enumerating objects: 1219, done. | ||
+ | remote: Counting objects: 100% (85/85), done. | ||
+ | remote: Compressing objects: 100% (50/50), done. | ||
+ | remote: Total 1219 (delta 34), reused 70 (delta 29), pack-reused 1134 | ||
+ | Receiving objects: 100% (1219/1219), 271.58 KiB | 757.00 KiB/s, done. | ||
+ | Resolving deltas: 100% (750/750), done. | ||
+ | cd pyMeterBus/ | ||
+ | pip3 install . | ||
+ | Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple | ||
+ | Processing /home/wf/source/python/pyMeterBus | ||
+ | Collecting pyaml (from pyMeterBus==0.8.3) | ||
+ | Downloading https://files.pythonhosted.org/packages/6d/5a/5200ad18f321530b881f667c47d20026c3795dbbc200619c0330311b7907/pyaml-23.5.8-py3-none-any.whl | ||
+ | Collecting pycryptodome (from pyMeterBus==0.8.3) | ||
+ | Downloading https://www.piwheels.org/simple/pycryptodome/pycryptodome-3.20.0-cp35-abi3-linux_armv7l.whl (2.0MB) | ||
+ | 100% |████████████████████████████████| 2.0MB 198kB/s | ||
+ | Requirement already satisfied: pyserial in /usr/lib/python3/dist-packages (from pyMeterBus==0.8.3) (3.4) | ||
+ | Requirement already satisfied: simplejson in /usr/lib/python3/dist-packages (from pyMeterBus==0.8.3) (3.16.0) | ||
+ | Requirement already satisfied: PyYAML in /usr/local/lib/python3.7/dist-packages (from pyaml->pyMeterBus==0.8.3) (5.1) | ||
+ | Building wheels for collected packages: pyMeterBus | ||
+ | Running setup.py bdist_wheel for pyMeterBus ... done | ||
+ | Stored in directory: /tmp/pip-ephem-wheel-cache-ybm69ily/wheels/40/49/79/d2c9d6b919d406ea11affa578792c7729298e8c0ca25044c24 | ||
+ | Successfully built pyMeterBus | ||
+ | Installing collected packages: pyaml, pycryptodome, pyMeterBus | ||
+ | Successfully installed pyMeterBus-0.8.3 pyaml-23.5.8 pycryptodome-3.20.0 | ||
+ | </source> | ||
+ | |||
+ | == MBus-Reader == | ||
+ | https://github.com/WolfgangFahl/mbusreader |
Latest revision as of 10:56, 25 January 2025
Links
- https://m-bus.com/
- https://m-bus.de/
- https://www.modbusdriver.com/modpoll.html
- https://piers.rocks/2020/04/11/mbus-primary-and-secondary-addresses.html
- https://www.mikrocontroller.net/topic/438972
- https://github.com/ganehag/pyMeterBus
Videos
Devices
USB IR Reader
e.g. bitShake SmartMeterReader - USB IR Lesekopf
Linux
lsusb
Bus 001 Device 006: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
/usr/bin/udevadm info --query=all --name=/dev/ttyUSB0
P: /devices/pci0000:00/0000:00:15.0/usb1/1-2/1-2:1.0/ttyUSB0/tty/ttyUSB0
N: ttyUSB0
L: 0
S: serial/by-path/pci-0000:00:15.0-usb-0:2:1.0-port0
S: serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0026-if00-port0
E: DEVPATH=/devices/pci0000:00/0000:00:15.0/usb1/1-2/1-2:1.0/ttyUSB0/tty/ttyUSB0
E: DEVNAME=/dev/ttyUSB0
E: MAJOR=188
E: MINOR=0
E: SUBSYSTEM=tty
E: USEC_INITIALIZED=9041897
E: ID_BUS=usb
E: ID_VENDOR_ID=10c4
E: ID_MODEL_ID=ea60
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
E: ID_VENDOR_FROM_DATABASE=Silicon Labs
E: ID_MODEL_FROM_DATABASE=CP210x UART Bridge
E: ID_VENDOR=Silicon_Labs
E: ID_VENDOR_ENC=Silicon\x20Labs
E: ID_MODEL=CP2102_USB_to_UART_Bridge_Controller
E: ID_MODEL_ENC=CP2102\x20USB\x20to\x20UART\x20Bridge\x20Controller
E: ID_REVISION=0100
E: ID_SERIAL=Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0026
E: ID_SERIAL_SHORT=0026
E: ID_TYPE=generic
E: ID_USB_INTERFACES=:ff0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=cp210x
E: ID_PATH=pci-0000:00:15.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_00_15_0-usb-0_2_1_0
E: ID_MM_CANDIDATE=1
E: DEVLINKS=/dev/serial/by-path/pci-0000:00:15.0-usb-0:2:1.0-port0 /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0026-if00-port0
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:
set baud rate
stty -F /dev/ttyUSB0 2400
Video
Mac
ioreg -p IOUSB -l -w 0 | grep -i uart
+-o CP2102 USB to UART Bridge Controller@14200000 <class AppleUSBDevice, id 0x10006716a, registered, matched, active, busy 0 (8 ms), retain 13>
| "USB Product Name" = "CP2102 USB to UART Bridge Controller"
| "kUSBProductString" = "CP2102 USB to UART Bridge Controller"
CP210x VCP Driver
- https://www.silabs.com/documents/public/software/Mac_OSX_VCP_Driver.zip
- download, unpack and install SiLabsUSBDriverDisk.dmg
Heat Meters
CF Utramaxx-mk
https://emea.itron.com/o/commerce-media/accounts/-1/images/3198895?download=false
Standard Werkseinstellung: Primäradresse: 0 Sekundäradresse: Zählernummer Baudrate: 2400 Baud
https://www.itron.com/de/solutions/product-catalog/cf-ultramaxx-mk
Windows Auslese Software: UMCS
Protokoll Mitschrift
AD= Address CI=https://m-bus.com/documentation-wired/06-application-layer CI field
- wakeup: 1028x55 2.766 sec
- 68 03 03 68 53 fe a6 f7 16
Software
pyMeterBus
git clone https://github.com/ganehag/pyMeterBus
Cloning into 'pyMeterBus'...
remote: Enumerating objects: 1219, done.
remote: Counting objects: 100% (85/85), done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 1219 (delta 34), reused 70 (delta 29), pack-reused 1134
Receiving objects: 100% (1219/1219), 271.58 KiB | 757.00 KiB/s, done.
Resolving deltas: 100% (750/750), done.
cd pyMeterBus/
pip3 install .
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Processing /home/wf/source/python/pyMeterBus
Collecting pyaml (from pyMeterBus==0.8.3)
Downloading https://files.pythonhosted.org/packages/6d/5a/5200ad18f321530b881f667c47d20026c3795dbbc200619c0330311b7907/pyaml-23.5.8-py3-none-any.whl
Collecting pycryptodome (from pyMeterBus==0.8.3)
Downloading https://www.piwheels.org/simple/pycryptodome/pycryptodome-3.20.0-cp35-abi3-linux_armv7l.whl (2.0MB)
100% |████████████████████████████████| 2.0MB 198kB/s
Requirement already satisfied: pyserial in /usr/lib/python3/dist-packages (from pyMeterBus==0.8.3) (3.4)
Requirement already satisfied: simplejson in /usr/lib/python3/dist-packages (from pyMeterBus==0.8.3) (3.16.0)
Requirement already satisfied: PyYAML in /usr/local/lib/python3.7/dist-packages (from pyaml->pyMeterBus==0.8.3) (5.1)
Building wheels for collected packages: pyMeterBus
Running setup.py bdist_wheel for pyMeterBus ... done
Stored in directory: /tmp/pip-ephem-wheel-cache-ybm69ily/wheels/40/49/79/d2c9d6b919d406ea11affa578792c7729298e8c0ca25044c24
Successfully built pyMeterBus
Installing collected packages: pyaml, pycryptodome, pyMeterBus
Successfully installed pyMeterBus-0.8.3 pyaml-23.5.8 pycryptodome-3.20.0