This adapter allows to connect FHEM to ioBroker.
This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and for information how to disable the error reporting see Sentry-Plugin Documentation! Sentry reporting is used starting with js-controller 3.0.
To enable the connection the telnet must be enabled in FHEM. To enable it (enabled by default) check following settings in fhem.cfg
:
define telnetPort telnet 7072 global
Exactly same port and the IP address of FHEM host (or localhost if FHEM and ioBroker run on same PC) should be used for settings of adapter.
ioBroker sends at the start jsonlist2
command to get all Readings
from the list.
Normally all devices are supported. But some of them are better integrated.
The problems appear especially by controlling of the states.
Because there is no clear attributes structure ioBroker tries to guess which PossibleSets
fields can be used.
Actually only following attributes are supported:
- RGB: If RGB exists in
PossibleSets
and inReadings
it will be combined into one state that can be read and written. Values like#234567
will be automatically converted to234567
. - on off state: If
on
andoff
exist inPossibleSets
andstate
inReadings
, it will be combined into on state under namestate
. It can be controlled with true and false and commands will be changed toset DEVICE on
andset DEVICE off
.
- If room "ioBroker" exist in FHEM, only this objects will be synchronized
- After synchronization FHEM unused Objects will be automatically deleted.
- Internals like
TYPE
,NAME
,PORT
,manufacturername
,modelid
,swversion
will be synchronized (role=value.xxx
) - Attributes like
room
,alias
,disable
,comment
will be synchronized, and it is possible to edit Attributes in ioBroker. (role=state.xxx
) - Set role and other during synchronization
Readings xxx
with anyPossibleSets
will be setrole=state.xxx
Readings xxx
without PossibleSets will be setrole=value.xxx
Readings xxx
with PossibleSets "noArg" will be setrole=button.xxx
Readings xxx
with PossibleSets "slider" will be setrole=level.xxx, min=slider(min), max=slider(max)
Readings "desired-temp"
will be setrole=level.temperature, min=5, max=35, unit=°C
.Readings "pct, brightness,dim"
will be setrole=level.dimmer, min=0, max=100, unit=%
Readings "Volume, volume, GroupVolume"
will be setrole=level.volume, min=0, max=100, unit=%
Readings "GroupVolume"
will be setrole=level.volume.group
,min=0
,max=100
,unit=%
SmartName
for Cloud Adapter will be set automatically with alias or name (onlyfhem.0
and objects withrole = level.temperature, level.dim, level.volume
)
NodeJS >= 18.x and js-controller >= 5 is required
- (@LausiD) Removed warning from log
- (@klein0r) Updated tests and dependencies
- (mcm1957) Dependencies have been updated
- (mcm1957) Adapter now requires node 16
- (LausiD) Several problems have been fixed (#213, #214)
- (Apollon77/LausiD) Made sure that all objects are initialized correctly
- (bluefox) Corrected error with
members
- (bluefox) Refactoring
- (bluefox) Corrected some GitHub issues
- (bluefox) Added JSON config
- (Apollon77) fix crash case
- (LausiD) fix crash case
- (LausiD) fix use Controller 3.3.x
- (Apollon77) js-controller 3.3 optimizations
- (Apollon77) Add Sentry crash reporting
- (LausiD) Several fixes and changes
- (LausiD) Several fixes
- (Apollon77) Fix wrong method calls
- (LausiD) Several fixes and changes
- (LausiD) fix compact mode
- (bluefox) Running timers will be stopped by unload
- (LausiD) Several fixes and changes
- (LausiD) Optimized adapter
- (bluefox) Compact mode was added
- (LausiD) Several fixes and changes
- (LausiD) Several fixes and changes
- (LausiD) Sync readingsGroup, set states ioBroker from FHEM, add different sensors
- (LausiD) add debug mode
- (LausiD) Sync objects from ioBroker to FHEM is possible
- (LausiD) Min/max were defined as number
- (LausiD) Some roles were updated
- (LausiD) Several fixes and changes
- (bluefox) Admin3
- (LausiD) Several fixes and changes
- (TonyBostonTB) Fix wordings
- (bluefox) add link to FHEM im admin
- (LausiD) fix some types
- (bluefox) define custom prompt
- (LausiD) fix some types
- (bluefox) add password for telnet
- (bluefox) implement On/Off state and fix RGB
- (bluefox) add debug output by control
- (bluefox) support of RGB values for control
- (bluefox) implemented write
- (bluefox) try to read meta information if unknown event received
- (bluefox) initial release
The MIT License (MIT)
Copyright (c) 2016-2024 bluefox dogafox@gmail.com
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.