The Control and Monitoring Interface (C.M.I.) is an interface for convenient system monitoring, remote control and data logging of all controllers with DL or CAN bus form Technische Alternative RT GmbH, Austria.
This node can be configured to query the C.M.I. at configurable intervals and provide any value from any node at its output. So it is easy to access, display and visualize Data that is coming from e.g. the UVR16x2 programmable universal controler UVR16x2 programmable universal controler with node-red. This node is multilingual (currently German and Englisch) depending on the selected system language of node-red.
Install from your Node-RED Manage Palette or using npm:
npm install node-red-contrib-ta-cmi
[{"id":"8ca1c094.c35c68","type":"cmi in","z":"7ef2298e.f66cf","cmi":"244863cc.935f84","name":"Feuchte Keller","item":"23","source":"0","timestamp":"1","skip":"0","severity":"0","x":180,"y":120,"wires":[["30c4ce5f.62087a","88b49ced.a1c3e"]]},{"id":"261f918e.49207e","type":"cmi in","z":"7ef2298e.f66cf","cmi":"244863cc.935f84","name":"Feuchte Garage","item":"24","source":"0","timestamp":"1","skip":"0","severity":"0","x":180,"y":180,"wires":[["2f87374f.367ba","88b49ced.a1c3e"]]},{"id":"10312ce.c52ab53","type":"cmi in","z":"7ef2298e.f66cf","cmi":"244863cc.935f84","name":"Ventilator EIN/AUS","item":"21","source":"1","timestamp":"1","skip":"0","severity":"0","x":190,"y":260,"wires":[["2fcc655c.f0ac02"]]},{"id":"1208a86d.6bd66","type":"cmi in","z":"7ef2298e.f66cf","cmi":"244863cc.935f84","name":"Entfeuchtung EIN/AUS","item":"22","source":"1","timestamp":"1","skip":"0","severity":"0","x":200,"y":320,"wires":[["573c0851.6ffff"]]},{"id":"88b49ced.a1c3e","type":"ui_chart","z":"7ef2298e.f66cf","name":"Feuchte Keller/Garage","group":"88a17a33.f3f398","order":1,"width":"10","height":"6","label":"","chartType":"line","legend":"true","xformat":"HH:mm","interpolate":"linear","nodata":"","dot":false,"ymin":"40","ymax":"","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#097479","#aec7e8","#ff810f","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"x":610,"y":240,"wires":[[]]},{"id":"30c4ce5f.62087a","type":"ui_gauge","z":"7ef2298e.f66cf","name":"Feuchte Keller","group":"88a17a33.f3f398","order":2,"width":"2","height":"2","gtype":"gage","title":"Keller","label":"%rF","format":"{{value}}","min":"0","max":"100","colors":["#ff0000","#097479","#ff0000"],"seg1":"50","seg2":"75","x":580,"y":120,"wires":[]},{"id":"2f87374f.367ba","type":"ui_gauge","z":"7ef2298e.f66cf","name":"Feuchte Garage","group":"88a17a33.f3f398","order":3,"width":"2","height":"2","gtype":"gage","title":"Garage","label":"%rF","format":"{{value}}","min":"0","max":"100","colors":["#ff0000","#097479","#ff0000"],"seg1":"50","seg2":"75","x":590,"y":180,"wires":[]},{"id":"2fcc655c.f0ac02","type":"change","z":"7ef2298e.f66cf","name":"0/1","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"num","to":"49","tot":"num"},{"t":"change","p":"payload","pt":"msg","from":"0","fromt":"num","to":"45","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":260,"wires":[["88b49ced.a1c3e"]]},{"id":"573c0851.6ffff","type":"change","z":"7ef2298e.f66cf","name":"0/1","rules":[{"t":"change","p":"payload","pt":"msg","from":"1","fromt":"num","to":"44","tot":"num"},{"t":"change","p":"payload","pt":"msg","from":"0","fromt":"num","to":"40","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":320,"wires":[["88b49ced.a1c3e"]]},{"id":"244863cc.935f84","type":"cmi config","description":"TA C.M.I.","ip":"192.168.1.8","canNode":"10","interval":"1"},{"id":"88a17a33.f3f398","type":"ui_group","name":"Entfeuchtung Keller","tab":"18886b9.a624594","order":9,"disp":true,"width":"12","collapse":true},{"id":"18886b9.a624594","type":"ui_tab","name":"Keller / Garage","icon":"exposure_neg_1","order":3,"disabled":false,"hidden":false}]
In the "Edit cmi node" properties page klick the little pencil icon and node-red will show up the "Add new cmi config config node". Here you fill in the requested information as follow:
Note: For each combination of a device/controller in your CAN-network you have to do this only once. When done, plase click the "Add" button and node-red will return you to the "Edit cmi in node".
You can place as many cmi-in nodes in your flows as you like. From the dropdown select the same C.M.I. for each node (e.g. "TA C.M.I.").
Since version 0.1.2 of the node, you can additionally configure that the node skips a number of duplicate values to reduce the amount of data. For analog data you can also configure a tolerance in percent within which a value is treated as identical despite a (small) deviation and is therefore not output.
This node was developed by me privately, in my spare time and it is expressly NOT a product of Technische Alternative RT GmbH, but my own, private development. The company Technische Alternative RT GmbH is therefore neither responsible for the function nor for the support of this node. The author provides the code for free on GitHub "as it is" and also assumes no liability for any inconvenience or damage that may result from its use.
If you like this node and you want it to be supported and improved in future, you could buy me a drink to motivate me to continue adding new features in the future and to maintain the program.
The program development is currently in the test phase. The node has been extensively tested on my system, and it works with the hardware and configuration I am using. Currently, I do not have any information on how the node behaves in other environments. Please support me by reporting briefly about your experiences at Issues on GitHub.
This node is autodetecting the installed langeuage of your node-red. Currently it supports Germand and Englisch (other language installs will be displayed in Englisch as well). If you like me to support other languages as well, please drop me a message at Issues on GitHub.
- Feature added to skip duplicate values. It is now possible not to output repetitive values every time, but only after x repetitions of the same value, but immediately when the value is changed. This can be useful, for example, if you want to display the values in a chart node. Because a very high number of values in a chart node significantly reduces performance. If the value is an analog value, you can also set a tolerance in percent within which a value is treated as identical despite a (small) deviation and is therefore not output.
- Corrected request time. In the initial release the node requested data from the C.M.I. twice as often as configured.
- removed 'part' in the message object of digital logging data.
- added up/down buttons for numeric inputs.
- Some spelling mistakes corrected in the dialogs and also in the help texts.
- For new nodes, the default value for 'UI shows ... below the node' set to 'Value and unit only' as specified in the documentation.
- For new nodes, the default value for 'Source' is changed to 'Datalogging Analog'; this setting is usually used more often.
- Revoved "debug": "^4.3.1" as a dependency for the node.
- The output message of the node includes as
msg.timestamp
which comes form the C.M.I. and is a Unix timestamp in seconds. But Node-Red uses the JavaScript timestmap which is in Milliseconds. To get a valid JS Timestamp, the timestamp coming from the C.M.I. is now multiplied by 1000 so it can be used correctly by other nodes (like e.g. the chart-node).
- The daylight change led to a problem with the time stamp. It seems that the 'chat node' has an undocumented function: it accepts a
msg.timestamp
and uses this as the point in time for the diagram. Unfortunately, the conversion to summer / winter time is not correct. To avoid this, this property has been removed. - Added UTC-conversion for all date / time fields.
- Node documentation updated
- Added Input and Output Sources (currently under test) not documented by now
- Up to version 0.1.6 all Data was read from CAN Device #1. With version 0.1.7 an option was added, that let you specify from which device on the CAN-Bus the data should be read.
- Further translations were done. The whole node is now available in englisch and german language. The language is automaitically selected acording the node-red system settings
- Better Status code checking and evaluation of C.M.I. return codes.
- As of a user request digital and analog network inputs for the UVR1611 were added. Because I do not have a 1611 available for testing, these settings are currently experimental until I get a resposse to see if it works as expected.
- Help text for the info tab enhanced
- Language translations in the UI improved
The C.M.I. allows a maximum of one query per minute. This is a requirement by Technische Alternative RT GmbH and not by the node. Through the redeploy, the node is restarted. It immediately tries to access the C.M.I. and read out the latest data. If the last access was not at least 60 seconds ago, this error message is displayed. After the period of time specified in the configuration (at least one minute later), the node again tries to read the data from the C.M.I. Latest now, this should work successfully. If not, please check whether the node is really only configured once. Even if you want to read out multiple values you must configure the C.M.I. only once (click the little pencil-icon only in the first node you add). If you re-use the node, just open the dropdown and select the already configured C.M.I.
The user credentials in the configuration of the node are correct, but the node still displays wrong user or password
.
You must use the credentials of an "expert" user. A normal user or guest does not work.
This is a requirement by Technische Alternative RT GmbH and not by the node.
Error message HTTP call and Answer from CMI successful but Node not configured correctly. : Cannot read property '0' of undefined
displayed.
Make sure, that the requested 'Element No.' is included in the Datalogging and Datalogging is configured in the CMI. Probably you addressed an 'Element No.' which is not included in the data coming from C.M.I., or the C.M.I. is configured in a wrong way.
With version 0.1.7 an new option was added to the configuration of the node that allows the node to read data form other devices on the CAN-Bus as well. CAN-Bus number 1 stays as the default.
This node was developed in my spare time (when I should be sleeping). If you have any change requests or notice errors, please be patient with me; it may take a while, but I am happy to add extensions and eliminate errors. Please report any issues or enhancement requests at GitHub.