foxthefox / ioBroker.fritzdect

Fritzbox DECT adapter for ioBroker
MIT License
40 stars 12 forks source link
dect fritzbox fritzbox-dect-adapter iobroker steckdose switch thermostat

Logo

ioBroker.fritzdect

NPM version Downloads Number of Installations (latest) Number of Installations (stable) Known Vulnerabilities

Tests: Test and Release

Fritzbox DECT adapter for ioBroker

Installation:

released version on npm with

 npm install iobroker.fritzdect

or the actual version from github with

npm install https://github.com/foxthefox/ioBroker.fritzdect/tarball/master --production

Setup

IP-address and password of Fritzbox should be defined via admin page, before the first start of the instance. The IP-address must be written with leading 'http://'

The devices are detected automatically during startup of fritzdect instance. If devices are added to the fritzbox during a running adapter instance, then please restart the adapter for object creation.

Several permissions have to be set in the fritzbox in order to interact with the adapter!

A german explanatory doc is available here: install_de

The widget requires that also vis-metro and vis-jqui-mfd are installed

Common Issues / Frequently Asked Questions

  1. Fritzbox returned '00000000' no login possible. possible reasons:

    The fritzbox allows only a limited number of logins in a timeframe.
    There are no appropriate user rights set in the fritzbox.
    There is a time elapsing in the fritzbox blocking the logins.
    A german doc is available here: [troubleshooting](./docs/de/troubleshooting.md)
    1. using https would result in:

      { error: { [Error: self signed certificate] code: 'DEPTH_ZERO_SELF_SIGNED_CERT' }

      to overcome this, the option "rejectUnauthorized: false" is used in the https.request.

Thermostat

Fritzbox AHA API

The API of fritzbox has the following access:

These settings are covered by the hkrmode and the 3 buttons. The activation lasts as long there is no other command or programmed sequence.

Additionally there is the access to:

These are indications as well as commands (sethkrwindowopen,sethkrboost) and when commanded they act with the provided time limit (max. 24h). For activation of boost/windowopen the following sequence applies:

fritzdect implementation

From the above API possibilities the thermostat has different modes in point of view of iobroker.adapter:

ioBroker objects

objects in italic are not part of all fritz.box configurations objects in bold are datapoints from the adapter

The datapoints are created on the basis of the returned values of the Fritz AHA API. All groups or devices start wirth "DECT_".

devices or groups

Object Value settable Description DECT2x0 DECT3x0 DECT400 DECT440 DECT500 Blinds Contact
id text - internal id of device DECT2x0 DECT3x0 DECT400 DECT440 DECT500 Blinds Contact
name text - name of device DECT2x0 DECT3x0 DECT400 DECT440 DECT500 Blinds Contact
productname text - product name DECT2x0 DECT3x0 DECT400 DECT440 DECT500 Blinds Contact
manufacturer text - product manufacturer DECT2x0 DECT3x0 DECT400 DECT440 DECT500 Blinds Contact
fwversion text - product FW version DECT2x0 DECT3x0 DECT400 DECT440 DECT500 Blinds Contact
mode text - mode, manuell or auto DECT2x0 DECT3x0
present boolean - true/false -> connected/not available DECT2x0 DECT3x0 DECT400 DECT440 DECT500 Blinds Contact
txbusy boolean - true/false -> cmd sending active/not active DECT2x0 DECT3x0 DECT400 DECT440 DECT500 Blinds Contact
batterylow boolean - battery status DECT3x0 DECT400 DECT440 Contact
battery number - actual capacity in % DECT3x0 DECT400 DECT440 Contact
state boolean -/x true/false DECT2x0 DECT500 Blinds Contact
power number - actual power in W DECT2x0
energy number - actual energy consumption in Wh DECT2x0
voltage number - actual voltage in V DECT2x0
lock boolean - UI/API lock DECT2x0 DECT3x0
devicelock boolean - Button lock DECT2x0 DECT3x0
celsius number - actual temperature in °C DECT2x0 DECT3x0 DECT440
offset number - offset temperature in °C DECT2x0 DECT3x0 DECT440
rel_humidity number - relative humidity % DECT440
tist number - actual temperature in °C DECT3x0
tsoll number x target temperature in °C DECT3x0
komfort number - comfort temperature in °C DECT3x0
absenk number - night temperature in °C DECT3x0
hkrmode array x 0=AUTO/1=OFF/2=ON state of thermostat DECT3x0
lasttarget number - last target temperature in °C DECT3x0
errorcode number - errorcode DECT3x0
operationList number- list of possible modes DECT3x0
operationMode number - actual mode DECT3x0
windowopenendtime time - time when open window status ends DECT3x0
windowopenactiv boolean x status and cmd of window open detection DECT3x0
windowopenactivtime number x time (minutes) when activation of window open DECT3x0
boostactive boolean x boost mode active status and cmd DECT3x0
boostactiveendtime time - time when boost status ends DECT3x0
boostactivtime number x time (minutes) when activation of boost DECT3x0
adaptiveHeatingRunning boolean - adaptive heating status DECT3x0
adaptiveHeatingActive boolean x adaptive heating cmd DECT3x0
setmodeauto number x set Auto DECT3x0
setmodeon number x set On DECT3x0
setmodeoff number x set Off DECT3x0
summeractive boolean - summer program status DECT3x0
holidayactive boolean - holiday program status DECT3x0
tchange number - temp with next change in °C DECT3x0
endperiod time - time when next change is active DECT3x0
supported_modes number - supported colormodes DECT500
fullcolorsupport boolean - fullcolorsupport DECT500
mapped boolean - indication mapped DECT500
unmapped_hue number - unmapped hue value DECT500
unmapped_saturation number - unmapped saturation value DECT500
current_mode number - actual colormode DECT500
level number x level 0-255 DECT500 Blinds
levelpercentage number x level 0-100 % DECT500 Blinds
hue number x color 0-359 DECT500
saturation number x saturation 0-100 DECT500
temperature number x color temperature (white mode) DECT500
lastpressedtimestamp time - timestamp DECT400 DECT440 Contact
blindsopen booelan x target open Blinds
blindsclose boolean x target close Blinds
blindsstop boolean x target stop Blinds
lastalertchgtimestamp time - timestamp Blinds
enpositionsset boolean - status configuration Blinds
mode text - modus Blinds

stats (part of device)

Object Value settable Description
count number - count of the values in array
grid number - time between values in array in s
datatime number - reference timestamp for array
stats array - array of values

Above is available for power and voltage. Additional the energy has monthly and daily array and their belonging descriptive data. Furthermore for energy the array values are summed up for:

groups

Object Value settable Description
masterdeviceid text - internal id of group
members text - member id's of group
masterdeviceid boolean - cmd sending active
synchronized boolean - devices of group are synchron

templates

Object Value settable Description
toggle boolean x toggle switch for template activation
lasttemplate text - last confirmed template

routines

Object Value settable Description
active boolean x toggle switch for routine activation

API limitations

Write only on changes to the objects

This is a new feature to write only the changes to the objects. It reduces the logging and might be useful. If it is activated, a different feedback must be present to the actual state. Introducing a hysteresis makes not really practicable:

Known Adapter Limitations:

TODO:

Changelog

2.5.11 (npm)

2.5.10

2.5.9 (npm)

2.5.8 (npm)

2.5.7 (npm)

2.5.6 (npm)

2.5.5 (npm)

2.5.4 (npm)

2.5.3 (npm)

2.5.2 (npm)

2.5.1

2.5.0

2.4.1 (npm)

2.4.0

2.3.1

2.3.0

2.2.6

2.2.5

2.2.4

2.2.3 (npm)

2.2.2 (npm)

2.2.1

2.2.0 (npm)

2.1.16

2.1.15 (npm)

2.1.14

2.1.13

2.1.12 (npm)

2.1.11 (npm)

2.1.10

2.1.9

2.1.8

2.1.7 (npm)

2.1.6

2.1.5

2.1.4

2.1.3

2.1.2

2.1.1

2.1.0

2.0.0 Breaking Changes in datapoints and structures (npm)

1.1.4 (npm)

1.1.3 (npm)

1.1.2

1.1.1 (npm)

1.1.0

1.0.1 (npm)

1.0.0 Breaking Change for non-native API objects

0.3.2 (npm)

0.3.1 (npm)

0.3.0 (npm)

0.2.5 (npm)

0.2.4 (npm)

0.2.3 (npm)

0.2.2 (npm)

0.2.1 (npm)

0.2.0

0.1.5 (npm)

0.1.4 (npm)

0.1.3 (npm)

0.1.2 (npm)

0.1.1 (npm)

0.1.0 (npm)

0.0.14 (npm)

0.0.13 (npm)

0.0.12 (npm)

0.0.11 (npm)

0.0.10 (npm)

0.0.9 (npm)

0.0.8 (npm)

0.0.7 (npm)

0.0.6 (npm)

0.0.5 (npm)

0.0.4 (npm)

0.0.3 (npm)

0.0.2 (npm)

0.0.1

License

The MIT License (MIT)

Copyright (c) 2018 - 2024 foxthefox foxthefox@wysiwis.net

Copyright (c) 2024 foxthefox foxthefox@wysiwis.net