<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://hwwiki.ddns.net/index.php?action=history&amp;feed=atom&amp;title=M-Bus</id>
	<title>M-Bus - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://hwwiki.ddns.net/index.php?action=history&amp;feed=atom&amp;title=M-Bus"/>
	<link rel="alternate" type="text/html" href="https://hwwiki.ddns.net/index.php?title=M-Bus&amp;action=history"/>
	<updated>2026-06-08T01:55:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://hwwiki.ddns.net/index.php?title=M-Bus&amp;diff=1849&amp;oldid=prev</id>
		<title>Rhg at 00:02, 30 June 2022</title>
		<link rel="alternate" type="text/html" href="https://hwwiki.ddns.net/index.php?title=M-Bus&amp;diff=1849&amp;oldid=prev"/>
		<updated>2022-06-30T00:02:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://hwwiki.ddns.net/index.php?title=M-Bus&amp;amp;diff=1849&amp;amp;oldid=1848&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Rhg</name></author>
	</entry>
	<entry>
		<id>https://hwwiki.ddns.net/index.php?title=M-Bus&amp;diff=1848&amp;oldid=prev</id>
		<title>Rhg at 00:02, 30 June 2022</title>
		<link rel="alternate" type="text/html" href="https://hwwiki.ddns.net/index.php?title=M-Bus&amp;diff=1848&amp;oldid=prev"/>
		<updated>2022-06-30T00:02:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://hwwiki.ddns.net/index.php?title=M-Bus&amp;amp;diff=1848&amp;amp;oldid=1845&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Rhg</name></author>
	</entry>
	<entry>
		<id>https://hwwiki.ddns.net/index.php?title=M-Bus&amp;diff=1845&amp;oldid=prev</id>
		<title>Rhg at 23:59, 29 June 2022</title>
		<link rel="alternate" type="text/html" href="https://hwwiki.ddns.net/index.php?title=M-Bus&amp;diff=1845&amp;oldid=prev"/>
		<updated>2022-06-29T23:59:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:59, 30 June 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[{&quot;id&quot;:&quot;789aa767.91c36&quot;,&quot;type&quot;:&quot;tab&quot;,&quot;label&quot;:&quot;M-Bus_Dashboard&quot;,&quot;disabled&quot;:false,&quot;info&quot;:&quot;&quot;},{&quot;id&quot;:&quot;7ef41dc1.ed2e0c&quot;,&quot;type&quot;:&quot;mbus-out&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;&quot;,&quot;client&quot;:&quot;618faf057d845369&quot;,&quot;x&quot;:471,&quot;y&quot;:242,&quot;wires&quot;:[[&quot;cfe1fe5a.4377f&quot;]]},{&quot;id&quot;:&quot;cfe1fe5a.4377f&quot;,&quot;type&quot;:&quot;debug&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;&quot;,&quot;active&quot;:false,&quot;console&quot;:false,&quot;complete&quot;:&quot;false&quot;,&quot;x&quot;:690,&quot;y&quot;:242,&quot;wires&quot;:[]},{&quot;id&quot;:&quot;b09b5389.e16f18&quot;,&quot;type&quot;:&quot;mbus-controller&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;&quot;,&quot;client&quot;:&quot;618faf057d845369&quot;,&quot;x&quot;:511,&quot;y&quot;:303,&quot;wires&quot;:[[&quot;950250cd.ba0db8&quot;,&quot;ec1a5b76.fe6a68&quot;,&quot;682462aa.67061c&quot;]]},{&quot;id&quot;:&quot;ce0c2ab.6ef14d8&quot;,&quot;type&quot;:&quot;inject&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;scan&quot;,&quot;repeat&quot;:&quot;&quot;,&quot;crontab&quot;:&quot;&quot;,&quot;once&quot;:false,&quot;topic&quot;:&quot;scan&quot;,&quot;payload&quot;:&quot;&quot;,&quot;payloadType&quot;:&quot;str&quot;,&quot;x&quot;:122,&quot;y&quot;:72,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;950250cd.ba0db8&quot;,&quot;type&quot;:&quot;debug&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;&quot;,&quot;active&quot;:true,&quot;console&quot;:false,&quot;complete&quot;:&quot;false&quot;,&quot;x&quot;:762,&quot;y&quot;:361,&quot;wires&quot;:[]},{&quot;id&quot;:&quot;4415ab35.a140dc&quot;,&quot;type&quot;:&quot;inject&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;Read ID 1&quot;,&quot;repeat&quot;:&quot;&quot;,&quot;crontab&quot;:&quot;&quot;,&quot;once&quot;:false,&quot;topic&quot;:&quot;getDevice&quot;,&quot;payload&quot;:&quot;{\&quot;address\&quot;: 1}&quot;,&quot;payloadType&quot;:&quot;json&quot;,&quot;x&quot;:129,&quot;y&quot;:146,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;46f5ca76.564844&quot;,&quot;type&quot;:&quot;inject&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;Get Devices&quot;,&quot;repeat&quot;:&quot;10&quot;,&quot;crontab&quot;:&quot;&quot;,&quot;once&quot;:true,&quot;topic&quot;:&quot;getDevices&quot;,&quot;payload&quot;:&quot;&quot;,&quot;payloadType&quot;:&quot;str&quot;,&quot;x&quot;:145,&quot;y&quot;:220,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;ec1a5b76.fe6a68&quot;,&quot;type&quot;:&quot;ui_template&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;group&quot;:&quot;cbd3bd44.834398&quot;,&quot;name&quot;:&quot;mbus-table&quot;,&quot;order&quot;:0,&quot;width&quot;:&quot;14&quot;,&quot;height&quot;:&quot;10&quot;,&quot;format&quot;:&quot;&amp;lt;table&gt;\n  &amp;lt;tr&gt;\n    &amp;lt;th&gt;ID&amp;lt;/th&gt;\n    &amp;lt;th&gt;Primary ID&amp;lt;/th&gt;\n    &amp;lt;th&gt;Info&amp;lt;/th&gt;\n    &amp;lt;th&gt;Data&amp;lt;/th&gt;\n    &amp;lt;th&gt;Last Update&amp;lt;/th&gt;\n    &amp;lt;th&gt;Status&amp;lt;/th&gt;\n  &amp;lt;/tr&gt;\n  &amp;lt;tr style=\&quot;cursor:pointer;\&quot; ng-click=\&quot;showData(device)\&quot; ng-repeat=\&quot;(id, device) in devices\&quot;&gt;\n    &amp;lt;td&gt;{{ device.secondaryID }}&amp;lt;/td&gt;\n    &amp;lt;td&gt;{{ device.primaryID }}&amp;lt;/td&gt;\n    &amp;lt;td ng-bind-html=\&quot;getInfo(device)\&quot;&gt;&amp;lt;/td&gt;\n    &amp;lt;td&gt;{{ device.DataRecord.length }}&amp;lt;/td&gt;\n    &amp;lt;td&gt;{{ device.lastUpdate }}&amp;lt;/td&gt;\n    &amp;lt;td&gt;\n        &amp;lt;div class=\&quot;online\&quot; ng-style=\&quot;{background: !device.error ? '#4CAF50' : '#f44336'}\&quot;&gt;\n            &amp;lt;md-tooltip md-direction=\&quot;bottom\&quot;&gt;{{ device.error ? device.error : 'OK' }}&amp;lt;/md-tooltip&gt;\n        &amp;lt;/div&gt;\n    &amp;lt;/td&gt;\n  &amp;lt;/tr&gt;\n&amp;lt;/table&gt;\n\n&amp;lt;style&gt;\ntable {\n    border-collapse: collapse;\n    width: 100%;\n}\n\nth, td{\n    text-align: left;\n    padding: 8px;\n    background-color: #f2f2f2;\n    color: black;\n}\n\nth {\n    background-color: #4CAF50;\n    color: white;\n}\n\n.online {\n\tbackground:#ff3333;\n\twidth:20px;\n\theight:20px;\n\tmargin:0 auto;\n\t-webkit-border-radius:50%;\n\t-moz-border-radius:50%;\n\tborder-radius:50%;\n}\n&amp;lt;/style&gt;\n\n&amp;lt;script&gt;\n\n\n(function(scope) {\n    \n    scope.send({topic: 'getDevices'});\n    scope.devices = [];\n    \n    scope.showData = function(device){\n        scope.send({topic: 'deviceData', payload: device});\n    }\n    \n    scope.getInfo = function(device){\n        var text = '';\n        var info = device.SlaveInformation;\n        \n        for(key in info){\n            text += `&amp;lt;p&gt;&amp;lt;b&gt;${key}&amp;lt;/b&gt;: ${info[key]}&amp;lt;/p&gt;`;\n        }\n        \n        return text;\n    }\n\n    scope.$watch('msg', function(data) {\n        if(data &amp;amp;&amp;amp; data.topic){\n            switch(data.topic){\n                case \&quot;getDevices\&quot;:\n                    if(data.payload &amp;amp;&amp;amp; data.payload.devices)\n                        scope.devices = data.payload.devices;\n                break;\n            }\n        }\n    });\n    \n})(scope);\n\n&amp;lt;/script&gt;\n&quot;,&quot;storeOutMessages&quot;:false,&quot;fwdInMessages&quot;:false,&quot;templateScope&quot;:&quot;local&quot;,&quot;x&quot;:708,&quot;y&quot;:303,&quot;wires&quot;:[[&quot;c4e77f76.60f13&quot;]]},{&quot;id&quot;:&quot;e4f8a44c.9991a&quot;,&quot;type&quot;:&quot;inject&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;restart&quot;,&quot;repeat&quot;:&quot;&quot;,&quot;crontab&quot;:&quot;&quot;,&quot;once&quot;:false,&quot;topic&quot;:&quot;restart&quot;,&quot;payload&quot;:&quot;&quot;,&quot;payloadType&quot;:&quot;num&quot;,&quot;x&quot;:119,&quot;y&quot;:108,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;c4e77f76.60f13&quot;,&quot;type&quot;:&quot;ui_template&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;group&quot;:&quot;fb0048e.a5eec38&quot;,&quot;name&quot;:&quot;data-table&quot;,&quot;order&quot;:0,&quot;width&quot;:&quot;14&quot;,&quot;height&quot;:&quot;10&quot;,&quot;format&quot;:&quot;&amp;lt;p&gt;&amp;lt;b&gt;Device ID:&amp;lt;/b&gt; {{ID}} &amp;lt;/p&gt;\n\n&amp;lt;br&gt;\n&amp;lt;br&gt;\n\n&amp;lt;table&gt;\n  &amp;lt;tr&gt;\n    &amp;lt;th&gt;ID&amp;lt;/th&gt;\n    &amp;lt;th&gt;Function&amp;lt;/th&gt;\n    &amp;lt;th&gt;Unit&amp;lt;/th&gt;\n    &amp;lt;th&gt;Value&amp;lt;/th&gt;\n    &amp;lt;th&gt;Timestamp&amp;lt;/th&gt;\n  &amp;lt;/tr&gt;\n  &amp;lt;tr ng-repeat=\&quot;(key, data) in deviceData\&quot;&gt;\n    &amp;lt;td&gt;{{ data.id }}&amp;lt;/td&gt;\n    &amp;lt;td&gt;{{ data.Function }}&amp;lt;/td&gt;\n    &amp;lt;td&gt;{{ data.Unit }}&amp;lt;/td&gt;\n    &amp;lt;td&gt;{{ data.Value }}&amp;lt;/td&gt;\n    &amp;lt;td&gt;{{ data.Timestamp }}&amp;lt;/td&gt;\n  &amp;lt;/tr&gt;\n&amp;lt;/table&gt;\n\n&amp;lt;style&gt;\ntable {\n    border-collapse: collapse;\n    width: 100%;\n}\n\nth, td{\n    text-align: left;\n    padding: 8px;\n    background-color: #f2f2f2;\n    color: black;\n}\n\nth {\n    background-color: #4CAF50;\n    color: white;\n}\n\n.online {\n\tbackground:#ff3333;\n\twidth:20px;\n\theight:20px;\n\tmargin:0 auto;\n\t-webkit-border-radius:50%;\n\t-moz-border-radius:50%;\n\tborder-radius:50%;\n}\n&amp;lt;/style&gt;\n\n&amp;lt;script&gt;\n\n\n(function(scope) {\n    \n    scope.deviceData = [];\n    scope.ID = '';\n\n    scope.$watch('msg', function(data) {\n        if(data &amp;amp;&amp;amp; data.topic){\n            switch(data.topic){\n                case \&quot;deviceData\&quot;:\n                    if(data.payload){\n                        scope.deviceData = data.payload.DataRecord;\n                        scope.ID = data.payload.SlaveInformation.Id;\n                    }\n                break;\n            }\n        }\n    });\n    \n})(scope);\n\n&amp;lt;/script&gt;\n&quot;,&quot;storeOutMessages&quot;:false,&quot;fwdInMessages&quot;:false,&quot;templateScope&quot;:&quot;local&quot;,&quot;x&quot;:872,&quot;y&quot;:303,&quot;wires&quot;:[[]]},{&quot;id&quot;:&quot;41ec05d7.924b04&quot;,&quot;type&quot;:&quot;inject&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;Read ID 2&quot;,&quot;repeat&quot;:&quot;&quot;,&quot;crontab&quot;:&quot;&quot;,&quot;once&quot;:false,&quot;topic&quot;:&quot;getDevice&quot;,&quot;payload&quot;:&quot;{\&quot;address\&quot;: 2}&quot;,&quot;payloadType&quot;:&quot;json&quot;,&quot;x&quot;:130,&quot;y&quot;:184,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;48d0b9e5.236fb8&quot;,&quot;type&quot;:&quot;ui_button&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;Scan&quot;,&quot;group&quot;:&quot;de125633.ed6c5&quot;,&quot;order&quot;:3,&quot;width&quot;:&quot;2&quot;,&quot;height&quot;:&quot;1&quot;,&quot;passthru&quot;:false,&quot;label&quot;:&quot;Scan&quot;,&quot;color&quot;:&quot;&quot;,&quot;bgcolor&quot;:&quot;&quot;,&quot;icon&quot;:&quot;location_searching&quot;,&quot;payload&quot;:&quot;&quot;,&quot;payloadType&quot;:&quot;str&quot;,&quot;topic&quot;:&quot;scan&quot;,&quot;x&quot;:97,&quot;y&quot;:306,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;1b07dce9.8a093b&quot;,&quot;type&quot;:&quot;ui_button&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;Restart&quot;,&quot;group&quot;:&quot;de125633.ed6c5&quot;,&quot;order&quot;:4,&quot;width&quot;:&quot;3&quot;,&quot;height&quot;:&quot;1&quot;,&quot;passthru&quot;:false,&quot;label&quot;:&quot;Restart&quot;,&quot;color&quot;:&quot;&quot;,&quot;bgcolor&quot;:&quot;&quot;,&quot;icon&quot;:&quot;refresh&quot;,&quot;payload&quot;:&quot;&quot;,&quot;payloadType&quot;:&quot;str&quot;,&quot;topic&quot;:&quot;restart&quot;,&quot;x&quot;:107,&quot;y&quot;:343,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;cb5b5d1b.3e8b98&quot;,&quot;type&quot;:&quot;ui_button&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;GetDevices&quot;,&quot;group&quot;:&quot;de125633.ed6c5&quot;,&quot;order&quot;:5,&quot;width&quot;:&quot;3&quot;,&quot;height&quot;:&quot;1&quot;,&quot;passthru&quot;:false,&quot;label&quot;:&quot;Update Devices&quot;,&quot;color&quot;:&quot;&quot;,&quot;bgcolor&quot;:&quot;&quot;,&quot;icon&quot;:&quot;refresh&quot;,&quot;payload&quot;:&quot;&quot;,&quot;payloadType&quot;:&quot;str&quot;,&quot;topic&quot;:&quot;getDevices&quot;,&quot;x&quot;:115,&quot;y&quot;:380,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;4646c610.c0a18&quot;,&quot;type&quot;:&quot;ui_button&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;readAddress&quot;,&quot;group&quot;:&quot;de125633.ed6c5&quot;,&quot;order&quot;:2,&quot;width&quot;:&quot;3&quot;,&quot;height&quot;:&quot;1&quot;,&quot;passthru&quot;:false,&quot;label&quot;:&quot;Read Device&quot;,&quot;color&quot;:&quot;&quot;,&quot;bgcolor&quot;:&quot;&quot;,&quot;icon&quot;:&quot;&quot;,&quot;payload&quot;:&quot;deviceID&quot;,&quot;payloadType&quot;:&quot;flow&quot;,&quot;topic&quot;:&quot;getDevice&quot;,&quot;x&quot;:112,&quot;y&quot;:419,&quot;wires&quot;:[[&quot;437a749f.6ab504&quot;]]},{&quot;id&quot;:&quot;6e5d9013.091c38&quot;,&quot;type&quot;:&quot;ui_text_input&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;Device_ID&quot;,&quot;label&quot;:&quot;ID: &quot;,&quot;group&quot;:&quot;de125633.ed6c5&quot;,&quot;order&quot;:1,&quot;width&quot;:&quot;3&quot;,&quot;height&quot;:&quot;1&quot;,&quot;passthru&quot;:true,&quot;mode&quot;:&quot;text&quot;,&quot;delay&quot;:300,&quot;topic&quot;:&quot;&quot;,&quot;x&quot;:570,&quot;y&quot;:560,&quot;wires&quot;:[[&quot;3e4c4281.63d6b6&quot;]]},{&quot;id&quot;:&quot;3e4c4281.63d6b6&quot;,&quot;type&quot;:&quot;function&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;storeID&quot;,&quot;func&quot;:&quot;\nflow.set('deviceID', msg.payload);\n\nreturn msg;&quot;,&quot;outputs&quot;:0,&quot;noerr&quot;:0,&quot;x&quot;:746,&quot;y&quot;:560,&quot;wires&quot;:[]},{&quot;id&quot;:&quot;437a749f.6ab504&quot;,&quot;type&quot;:&quot;function&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;readAddr&quot;,&quot;func&quot;:&quot;var data = {address: msg.payload}\n\nmsg.payload = data;\n\nreturn msg;&quot;,&quot;outputs&quot;:1,&quot;noerr&quot;:0,&quot;x&quot;:270,&quot;y&quot;:419,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;4417fa63.93883c&quot;,&quot;type&quot;:&quot;status&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;controller_status&quot;,&quot;scope&quot;:[&quot;b09b5389.e16f18&quot;],&quot;x&quot;:411,&quot;y&quot;:97,&quot;wires&quot;:[[&quot;5a88af3c.5d0258&quot;]]},{&quot;id&quot;:&quot;2d994365.6f212c&quot;,&quot;type&quot;:&quot;status&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;mbus_status&quot;,&quot;scope&quot;:[&quot;7ef41dc1.ed2e0c&quot;],&quot;x&quot;:404,&quot;y&quot;:142,&quot;wires&quot;:[[&quot;b886eaf0.44a528&quot;]]},{&quot;id&quot;:&quot;5a88af3c.5d0258&quot;,&quot;type&quot;:&quot;ui_text&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;group&quot;:&quot;88aaec54.303928&quot;,&quot;order&quot;:0,&quot;width&quot;:0,&quot;height&quot;:0,&quot;name&quot;:&quot;controller_status&quot;,&quot;label&quot;:&quot;Controller&quot;,&quot;format&quot;:&quot;{{msg.status.text}}&quot;,&quot;layout&quot;:&quot;row-spread&quot;,&quot;x&quot;:623,&quot;y&quot;:97,&quot;wires&quot;:[]},{&quot;id&quot;:&quot;b886eaf0.44a528&quot;,&quot;type&quot;:&quot;ui_text&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;group&quot;:&quot;88aaec54.303928&quot;,&quot;order&quot;:0,&quot;width&quot;:0,&quot;height&quot;:0,&quot;name&quot;:&quot;mbus_status&quot;,&quot;label&quot;:&quot;M-Bus&quot;,&quot;format&quot;:&quot;{{msg.status.text}}&quot;,&quot;layout&quot;:&quot;row-spread&quot;,&quot;x&quot;:613,&quot;y&quot;:142,&quot;wires&quot;:[]},{&quot;id&quot;:&quot;3d78c691.9bd322&quot;,&quot;type&quot;:&quot;inject&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;setPrimary&quot;,&quot;repeat&quot;:&quot;&quot;,&quot;crontab&quot;:&quot;&quot;,&quot;once&quot;:false,&quot;topic&quot;:&quot;setPrimary&quot;,&quot;payload&quot;:&quot;{\&quot;newAddr\&quot;:3,\&quot;oldAddr\&quot;:2}&quot;,&quot;payloadType&quot;:&quot;json&quot;,&quot;x&quot;:121,&quot;y&quot;:35,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;d31c87e.42a2af8&quot;,&quot;type&quot;:&quot;ui_text_input&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;Old_ID&quot;,&quot;label&quot;:&quot;Old ID&quot;,&quot;group&quot;:&quot;de125633.ed6c5&quot;,&quot;order&quot;:6,&quot;width&quot;:&quot;3&quot;,&quot;height&quot;:&quot;1&quot;,&quot;passthru&quot;:true,&quot;mode&quot;:&quot;text&quot;,&quot;delay&quot;:300,&quot;topic&quot;:&quot;&quot;,&quot;x&quot;:577,&quot;y&quot;:600,&quot;wires&quot;:[[&quot;852edb36.359ee8&quot;]]},{&quot;id&quot;:&quot;852edb36.359ee8&quot;,&quot;type&quot;:&quot;function&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;storeID&quot;,&quot;func&quot;:&quot;\nflow.set('oldID', msg.payload);\n\nreturn msg;&quot;,&quot;outputs&quot;:0,&quot;noerr&quot;:0,&quot;x&quot;:744,&quot;y&quot;:600,&quot;wires&quot;:[]},{&quot;id&quot;:&quot;35f10be8.81eff4&quot;,&quot;type&quot;:&quot;ui_text_input&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;New_ID&quot;,&quot;label&quot;:&quot;New ID&quot;,&quot;group&quot;:&quot;de125633.ed6c5&quot;,&quot;order&quot;:7,&quot;width&quot;:&quot;3&quot;,&quot;height&quot;:&quot;1&quot;,&quot;passthru&quot;:true,&quot;mode&quot;:&quot;text&quot;,&quot;delay&quot;:300,&quot;topic&quot;:&quot;&quot;,&quot;x&quot;:574,&quot;y&quot;:640,&quot;wires&quot;:[[&quot;21cfe6a.569359a&quot;]]},{&quot;id&quot;:&quot;21cfe6a.569359a&quot;,&quot;type&quot;:&quot;function&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;storeID&quot;,&quot;func&quot;:&quot;\nflow.set('newID', msg.payload);\n\nreturn msg;&quot;,&quot;outputs&quot;:0,&quot;noerr&quot;:0,&quot;x&quot;:742,&quot;y&quot;:640,&quot;wires&quot;:[]},{&quot;id&quot;:&quot;bd997a73.d5cb18&quot;,&quot;type&quot;:&quot;ui_button&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;SetPrimary&quot;,&quot;group&quot;:&quot;de125633.ed6c5&quot;,&quot;order&quot;:8,&quot;width&quot;:&quot;3&quot;,&quot;height&quot;:&quot;1&quot;,&quot;passthru&quot;:false,&quot;label&quot;:&quot;Set Primary ID&quot;,&quot;color&quot;:&quot;&quot;,&quot;bgcolor&quot;:&quot;&quot;,&quot;icon&quot;:&quot;&quot;,&quot;payload&quot;:&quot;&quot;,&quot;payloadType&quot;:&quot;str&quot;,&quot;topic&quot;:&quot;setPrimary&quot;,&quot;x&quot;:111,&quot;y&quot;:460,&quot;wires&quot;:[[&quot;87d95a5a.46573&quot;]]},{&quot;id&quot;:&quot;87d95a5a.46573&quot;,&quot;type&quot;:&quot;function&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;setPrimary&quot;,&quot;func&quot;:&quot;var data = {\n    oldAddr: flow.get('oldID'), \n    newAddr:flow.get('newID')\n    }\n\nmsg.payload = data;\n\nreturn msg;&quot;,&quot;outputs&quot;:1,&quot;noerr&quot;:0,&quot;x&quot;:280,&quot;y&quot;:460,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;8109824c.a48ff&quot;,&quot;type&quot;:&quot;inject&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;&quot;,&quot;repeat&quot;:&quot;3&quot;,&quot;crontab&quot;:&quot;&quot;,&quot;once&quot;:false,&quot;topic&quot;:&quot;getDevice&quot;,&quot;payload&quot;:&quot;counter&quot;,&quot;payloadType&quot;:&quot;flow&quot;,&quot;x&quot;:130,&quot;y&quot;:520,&quot;wires&quot;:[[&quot;cbe99661.c8cdc8&quot;]]},{&quot;id&quot;:&quot;cbe99661.c8cdc8&quot;,&quot;type&quot;:&quot;function&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;scanPrimary&quot;,&quot;func&quot;:&quot;\nif(msg.payload == null) msg.payload = 1;\n\nif(msg.payload &gt;= 76) msg.payload = 1;\n\nmsg.payload++;\n\nflow.set(\&quot;counter\&quot;,msg.payload);\n\nmsg.payload = {address: msg.payload};\n\nreturn msg;&quot;,&quot;outputs&quot;:1,&quot;noerr&quot;:0,&quot;x&quot;:310,&quot;y&quot;:520,&quot;wires&quot;:[[]]},{&quot;id&quot;:&quot;357e7aec.dcce3e&quot;,&quot;type&quot;:&quot;inject&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;setDevices&quot;,&quot;repeat&quot;:&quot;&quot;,&quot;crontab&quot;:&quot;&quot;,&quot;once&quot;:false,&quot;topic&quot;:&quot;setDevices&quot;,&quot;payload&quot;:&quot;&quot;,&quot;payloadType&quot;:&quot;date&quot;,&quot;x&quot;:120,&quot;y&quot;:260,&quot;wires&quot;:[[&quot;9bd33402.9e6558&quot;]]},{&quot;id&quot;:&quot;9bd33402.9e6558&quot;,&quot;type&quot;:&quot;function&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;devices&quot;,&quot;func&quot;:&quot;var devices = [\&quot;1\&quot;,\&quot;2\&quot;,\&quot;3\&quot;,\&quot;4\&quot;,\&quot;5\&quot;,\&quot;6\&quot;,\&quot;7\&quot;,\&quot;8\&quot;,\&quot;9\&quot;,\&quot;10\&quot;,\&quot;11\&quot;,\&quot;12\&quot;,\&quot;13\&quot;,\&quot;14\&quot;,\&quot;15\&quot;,\&quot;16\&quot;,\&quot;17\&quot;,\&quot;18\&quot;,\&quot;19\&quot;,\&quot;20\&quot;,\&quot;21\&quot;,\&quot;22\&quot;,\&quot;23\&quot;,\&quot;24\&quot;,\&quot;25\&quot;,\&quot;26\&quot;,\&quot;27\&quot;,\&quot;28\&quot;,\&quot;29\&quot;,\&quot;30\&quot;,\&quot;31\&quot;,\&quot;32\&quot;,\&quot;33\&quot;,\&quot;34\&quot;,\&quot;35\&quot;,\&quot;36\&quot;,\&quot;37\&quot;,\&quot;38\&quot;,\&quot;39\&quot;,\&quot;40\&quot;,\&quot;41\&quot;,\&quot;42\&quot;,\&quot;43\&quot;,\&quot;44\&quot;,\&quot;45\&quot;,\&quot;46\&quot;,\&quot;47\&quot;,\&quot;48\&quot;,\&quot;49\&quot;,\&quot;50\&quot;,\&quot;51\&quot;,\&quot;52\&quot;,\&quot;53\&quot;,\&quot;54\&quot;,\&quot;55\&quot;,\&quot;56\&quot;,\&quot;57\&quot;,\&quot;58\&quot;,\&quot;59\&quot;,\&quot;60\&quot;,\&quot;61\&quot;,\&quot;62\&quot;,\&quot;63\&quot;,\&quot;64\&quot;,\&quot;65\&quot;,\&quot;66\&quot;,\&quot;67\&quot;,\&quot;68\&quot;,\&quot;69\&quot;,\&quot;70\&quot;,\&quot;71\&quot;,\&quot;72\&quot;,\&quot;73\&quot;,\&quot;74\&quot;,\&quot;75\&quot;,\&quot;76\&quot;];\n\nmsg.payload = devices;\n\nreturn msg;&quot;,&quot;outputs&quot;:1,&quot;noerr&quot;:0,&quot;x&quot;:258,&quot;y&quot;:260,&quot;wires&quot;:[[&quot;b09b5389.e16f18&quot;]]},{&quot;id&quot;:&quot;682462aa.67061c&quot;,&quot;type&quot;:&quot;function&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;Meter Data Selection&quot;,&quot;func&quot;:&quot;\n\nvar oot = [];\n\n//Unit: \&quot;Flow temperature (1e-2 deg C)\&quot;\n\nfor (var meter in msg.payload.devices) {\n    \n    if (msg.payload.devices[meter].DataRecord[9].Unit.indexOf(\&quot;temperature\&quot;)&gt;0) {\n    \n        \n        oot.push({\n            \&quot;payload\&quot;: msg.payload.devices[meter].SlaveInformation.Manufacturer,\n            \&quot;topic\&quot;: \&quot;meter/manufacturer\&quot; });\n            \n        oot.push({\n            \&quot;payload\&quot;: msg.payload.devices[meter].SlaveInformation.Id,\n            \&quot;topic\&quot;: \&quot;meter/id\&quot; }\n            );\n        \n        \n        oot.push({\n            \&quot;payload\&quot;: msg.payload.devices[meter].DataRecord[7].Value,\n            \&quot;topic\&quot;: \&quot;meter/kwh\&quot;,\n            \&quot;title\&quot;: \&quot;Heat meter energy\&quot;,\n            \&quot;units\&quot;: \&quot;kWh\&quot; \n            });\n         \n        \n        oot.push({\n            \&quot;payload\&quot;: msg.payload.devices[meter].DataRecord[9].Value / 100,\n            \&quot;topic\&quot;: \&quot;meter/tF\&quot;,\n            \&quot;title\&quot;: \&quot;Heat meter flow temperature\&quot;,\n            \&quot;units\&quot;: \&quot;°C\&quot; \n            });\n         \n        oot.push({\n            \&quot;payload\&quot;: msg.payload.devices[meter].DataRecord[10].Value / 100,\n            \&quot;topic\&quot;: \&quot;meter/tR\&quot;,\n            \&quot;title\&quot;: \&quot;Heat meter return temperature\&quot;,\n            \&quot;units\&quot;: \&quot;°C\&quot;  \n            });\n         \n        \n        oot.push({\n            \&quot;payload\&quot;: msg.payload.devices[meter].DataRecord[11].Value / 100,\n            \&quot;topic\&quot;: \&quot;meter/tDiff\&quot;,\n            \&quot;title\&quot;: \&quot;Heat meter temperature drop\&quot;,\n            \&quot;units\&quot;: \&quot;°C\&quot;  \n            });     \n        \n        \n        oot.push({\n            \&quot;payload\&quot;: msg.payload.devices[meter].DataRecord[12].Value / 10,\n            \&quot;topic\&quot;: \&quot;meter/kw\&quot;,\n            \&quot;title\&quot;: \&quot;Heat meter power\&quot;,\n            \&quot;units\&quot;: \&quot;kW\&quot;  \n            });     \n            \n    }\n        \n}   \nmsg.payload = oot;\n\nreturn msg;&quot;,&quot;outputs&quot;:1,&quot;noerr&quot;:0,&quot;initialize&quot;:&quot;&quot;,&quot;finalize&quot;:&quot;&quot;,&quot;libs&quot;:[],&quot;x&quot;:740,&quot;y&quot;:440,&quot;wires&quot;:[[&quot;e4d3eaec.811fd8&quot;]]},{&quot;id&quot;:&quot;e4d3eaec.811fd8&quot;,&quot;type&quot;:&quot;split&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;&quot;,&quot;splt&quot;:&quot;\\n&quot;,&quot;spltType&quot;:&quot;str&quot;,&quot;arraySplt&quot;:1,&quot;arraySpltType&quot;:&quot;len&quot;,&quot;stream&quot;:false,&quot;addname&quot;:&quot;&quot;,&quot;x&quot;:940,&quot;y&quot;:440,&quot;wires&quot;:[[&quot;7c7cca54.a35e54&quot;]]},{&quot;id&quot;:&quot;7c7cca54.a35e54&quot;,&quot;type&quot;:&quot;function&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;&quot;,&quot;func&quot;:&quot;msg=msg.payload;\n\nreturn msg;&quot;,&quot;outputs&quot;:1,&quot;noerr&quot;:0,&quot;initialize&quot;:&quot;&quot;,&quot;finalize&quot;:&quot;&quot;,&quot;x&quot;:1080,&quot;y&quot;:440,&quot;wires&quot;:[[&quot;2f7dea9a.341f4e&quot;,&quot;e162d709.82b3&quot;]]},{&quot;id&quot;:&quot;2f7dea9a.341f4e&quot;,&quot;type&quot;:&quot;debug&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;&quot;,&quot;active&quot;:true,&quot;console&quot;:false,&quot;complete&quot;:&quot;false&quot;,&quot;x&quot;:1270,&quot;y&quot;:460,&quot;wires&quot;:[]},{&quot;id&quot;:&quot;e162d709.82b3&quot;,&quot;type&quot;:&quot;link out&quot;,&quot;z&quot;:&quot;789aa767.91c36&quot;,&quot;name&quot;:&quot;&quot;,&quot;links&quot;:[&quot;b172c8c3.95bbb8&quot;],&quot;x&quot;:1215,&quot;y&quot;:420,&quot;wires&quot;:[]},{&quot;id&quot;:&quot;618faf057d845369&quot;,&quot;type&quot;:&quot;mbus-client&quot;,&quot;name&quot;:&quot;M_BUS&quot;,&quot;clienttype&quot;:&quot;serial&quot;,&quot;tcpHost&quot;:&quot;127.0.0.1&quot;,&quot;tcpPort&quot;:&quot;10001&quot;,&quot;tcpTimeout&quot;:&quot;4000&quot;,&quot;serialPort&quot;:&quot;/dev/serial0&quot;,&quot;serialBaudrate&quot;:&quot;9600&quot;,&quot;reconnectTimeout&quot;:&quot;10000&quot;,&quot;autoScan&quot;:true,&quot;storeDevices&quot;:false,&quot;disableLogs&quot;:true},{&quot;id&quot;:&quot;cbd3bd44.834398&quot;,&quot;type&quot;:&quot;ui_group&quot;,&quot;name&quot;:&quot;M-Bus Devices&quot;,&quot;tab&quot;:&quot;16de0243.87ddfe&quot;,&quot;order&quot;:3,&quot;disp&quot;:true,&quot;width&quot;:&quot;14&quot;},{&quot;id&quot;:&quot;fb0048e.a5eec38&quot;,&quot;type&quot;:&quot;ui_group&quot;,&quot;name&quot;:&quot;Data&quot;,&quot;tab&quot;:&quot;16de0243.87ddfe&quot;,&quot;order&quot;:4,&quot;disp&quot;:true,&quot;width&quot;:&quot;14&quot;},{&quot;id&quot;:&quot;de125633.ed6c5&quot;,&quot;type&quot;:&quot;ui_group&quot;,&quot;name&quot;:&quot;Commands&quot;,&quot;tab&quot;:&quot;16de0243.87ddfe&quot;,&quot;order&quot;:2,&quot;disp&quot;:true,&quot;width&quot;:&quot;14&quot;},{&quot;id&quot;:&quot;88aaec54.303928&quot;,&quot;type&quot;:&quot;ui_group&quot;,&quot;name&quot;:&quot;Status&quot;,&quot;tab&quot;:&quot;16de0243.87ddfe&quot;,&quot;order&quot;:1,&quot;disp&quot;:true,&quot;width&quot;:&quot;14&quot;},{&quot;id&quot;:&quot;16de0243.87ddfe&quot;,&quot;type&quot;:&quot;ui_tab&quot;,&quot;name&quot;:&quot;M-Bus&quot;,&quot;icon&quot;:&quot;plug&quot;,&quot;order&quot;:1}]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Mbus1.png|frameless|900x900px]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Mbus1.png|frameless|900x900px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rhg</name></author>
	</entry>
	<entry>
		<id>https://hwwiki.ddns.net/index.php?title=M-Bus&amp;diff=1844&amp;oldid=prev</id>
		<title>Rhg: Created page with &quot;900x900px&quot;</title>
		<link rel="alternate" type="text/html" href="https://hwwiki.ddns.net/index.php?title=M-Bus&amp;diff=1844&amp;oldid=prev"/>
		<updated>2022-06-29T21:06:30Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&lt;a href=&quot;/index.php/File:Mbus1.png&quot; title=&quot;File:Mbus1.png&quot;&gt;frameless|900x900px&lt;/a&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[File:Mbus1.png|frameless|900x900px]]&lt;/div&gt;</summary>
		<author><name>Rhg</name></author>
	</entry>
</feed>