This adapter connects to the Ochsner Roomterminal Webserver (web2comm) via SOAP, to both monitor and control your OCHSNER heatpump device. It offers almost the same devices and functions features to ioBroker, which are available when you access the Roomterminal's web2comm interface with you browser.
During adapter startup, meta data like names, min/max values, units, steps, etc. are read from the device and used during object creation. However, value ranges are neither enforced by the adapter, nor by the web2com interface. It is for information only (e.g. iobroker provides you with a log entry, when values are not within the given range).
OIDs are read in groups, which means all ochsner device endpoints, which belong to same group, are read in one request (simultaneously). A specific group is identified via a positive integer number.
Group read request can be triggered in 2 ways:
- Via Polling:
Groups, identified with numbers from 0 to 9, are read in a round robin fashion - one after the other. The time between 2 group reads is configured via the polling intervall in seconds. Details, see Instance Configuration below .... - Via ioBroker Message:
Any group read can be triggered via a readGroup iobroker message, which is sent to the adapter instace.
All OIDs can be derived from the web2com web page.
E.g
/1/2/7/106/1
specifies the Normal setpoint DWH temperature on my heatpump.
Since OIDs are hierachical, it is recommended to only use OIDs which specifiy as specific single device endpoint. You could also use one level above (e.g.
/1/2/7/106
), which would read all endpoints below.
However, this feature is not tested!.
There are certain endpoints, which represent Ochsner Device Status information. In web2comm, those endpoints are usually under the operational mode group and include the text Status in their name.
As an example, see /1/2/7/121/0 (Status hot water)
in the picture above.
Those endpoints can be marked is status
in the OID instance configuration.
When this field is checked, an additional iobroker object is created in the Status folder of the adapter instance. For visualization purposes, it holds the current status of the device endpoint in text form.
Requires username
, password
and IP or hostame
of your web2com web interface,
as well as the polling interval
, which specifies the time in seconds between subsequent group reads
Here you can create and modify a table of OID endpoints. For each enabled endpoint, an ioBroker object is created in the OID folder of the adapter instance.
Each OID endpoint has the following configuration fields:
Endpoint Name Description Enabled Only enabled endpoints can be read or updated OID Address of the device endpoint to read or update - e.g. /1/2/7/106/1
Name (optional) Name of the device endpoint to read or update. If ommitted, roomterminals endpoint info is used instead. is state indicates, that this OID is considered a Ochnser Device Status Group group identfier (positive integer number) of the endpoint
The adapter supports receiving a readGroup
message, in order to trigger a group read request, either from the cmd line, or from script. The result is written to the corresponding adapter instance objects.
This allows you to get just-in-time device information, whenever you need them.
- From command line:
iobroker message ochsner-roomterminal.0 readGroup 15
- From javascript:
await sendToAsync("ochsner-roomterminal.0", 'readGroup', '15');
- From blockly:
- This adapter is based on the reverse engineering results on my speific heatpump.
- I had to add a group with only one OID, in order to avoid a situation, when the web2comm interface suddenly stopped providing data back.
- There were no tests executed on any other endpoints or any other ochsner heatpumps. So enjoy to give it a try with your endpoints on your device 😊 - and don't forget to perform the required tests in your environment
- The web2comm interface does not give back any error codes, when reading or writing to endpoints, which do not exist. So you have to carefully check, that your OIDs are provided correctly and supported by your ochsner heatpump.
- fixed adapter checker warnings
- code cleanup
- added initial description
- fix OID write index problem
- removed React components
- NPM packages updates
- updated the newest npm packages
- updated vulnerable packages
- async message support
- groups with names bigger than 9 are reserved for messages
- added message support to trigger group reads
- fixed problem with only having one group
- (armintan) initial release
MIT License
Copyright (c) 2024 Armin Stegerer Armin.Stegerer@t-online.de
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.