Code Monkey home page Code Monkey logo

domoticz-deconz's Introduction

deCONZ bridge, a Zigbee plugin for Domoticz.

It's a python plugin for Domoticz (home automation application).
It uses the deCONZ REST API to make a bridge beetween your zigbee network and Domoticz using a Dresden Elektronik gateway and their application.

Description

To resume:

  • you need a Dresden Elektronik gateway, a Raspbee (for raspberry) or Conbee (USB key), it support a lot of Zigbee devices, Xiaomi, Heiman, Ikea, Philips, Osram, Tuya, ect ....
    Official compatibility list https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Supported-Devices

  • You also need deCONZ (their application to control and set up ZigBee network). It can work with an headless mode but you can use their GUI, for maintenance, support, look at traffic, set attributes, manage router, use command like identify:

deconz

phoscon

hue

  • And use this plugin to bridge between the deCONZ server and domoticz. The plugin have now a Frontend for some actions (thx to @JayPearlman). To use it, just go in "Custom"/"DeCONZ".

domoticz

Requirement.

deCONZ : Last version.
Domoticz : current stable version.
Python : You need the requests library, if you have error message like "Module Import failed: ' Name: requests'", you probably miss it, to install it just type:

sudo -H pip3 install requests
sudo -H pip install requests

Installation.

  • With command line, go to your plugins directory (domoticz/plugins).
  • Run:
    git clone https://github.com/Smanar/Domoticz-deCONZ.git
  • (If needed) Make the plugin.py file executable:
    chmod +x Domoticz-deCONZ/plugin.py
  • Restart Domoticz.
  • Enable the plugin in hardware page (hardware page, select deconz plugin, click "update").

You can later update the plugin

  • With command line, go to the plugin directory (domoticz/plugin/Domoticz-deCONZ).
  • Run:
    git pull
  • Restart Domoticz.

To test the beta branch :

git pull
git checkout beta
git pull

Configuration.

  • The plugin works better with websocketnotifyall option set to true (it's the configuration by default).
    curl -H 'Content-Type: application/json' -X PUT -d '{"websocketnotifyall": true}' http://IP_DECONZ:80/api/API_KEY/config
  • The plugin doesn't use a special configuration file, except the banned.txt file.
  • At every start, it synchronises the deCONZ network with yours domoticz devices, so if you delete a device, at next startup, it will be re-created, so to prevent that, you can put the adress in the banned.txt file.
  • If you have problem to find your IP or the used port, take a look at https://phoscon.de/discover (Remember better to use 127.0.0.1 if domoticz and deconz are on the same machine).
  • Don't worry about the name, the plugin never updates name even you change it in deCONZ to prevent problems with scripts.
  • If you create a group, it's not possible to identify the type of device they are inside, so the type will be by defaut RGBWWZ to have all options, if you want to create only a dimmer group for exemple add "_dim" at the group name.
  • For those who have problems with API Key, there is a file called API_KEY.py to help you to create/delete/get list with command line, informations and commands inside the file. It can also give some information like your used websocket port. To show all commands or parameters just use:
python3 API_KEY.py

If using default settings you might be able to obtain the API key using:

python3 API_KEY.py 127.0.0.1:80 create

And for those who don't know where to find the API key and don't wana use the tool: https://dresden-elektronik.github.io/deconz-rest-doc/getting_started/#acquire-an-api-key
Or you can just use the Front End in Domoticz/Custom/Deconz.

  • By defaut the plugin use standard setting, you can use special one in the field "specials settings" on the hardware panel, available setting are :
Option action
ENABLEMORESENSOR enable tension and current sensors
ENABLEBATTERYWIDGET create a special widget by device just for battery

Remark.

  • There is a deconz Discord channel https://discord.gg/QFhTxqN

  • Take care if you have too many devices, at startup, the plugin adds ALL your devices from deCONZ in domoticz (except those who are in banned file).

  • Finally, you can see more devices than you have in reality. This is normal, deCONZ can create more than 1 device for 1 real, and it can create for example 1 bulb + 2 switches just for 1 physical switch.

  • If you haven't github acount, the support in domoticz forum is here https://www.domoticz.com/forum/viewtopic.php?f=68&t=25631

  • You can't use the native function in domoticz for switch (activation devices), because this plugin trigger device event for useless information, like battery level. So instead of using trigger event, you need to use button detected. You have some LUA examples here : Use LUA for switch.

  • You have some others examples here :

Some LUA examples for sensors.
Using LUA to change setting on the fly.
Create a color loop effect with zigbee bulb.
Mix temperature/humidity/barometer on the same sensor.

Known issues.

  • Don't take care about the error message
    Error: (deCONZ): Socket Shutdown Error: 9, Bad file descriptor
    I know where is the problem the problem, but I haven't find a way to avoid it, But it change nothing on working mode.

  • If you add devices or change devices name for example in Phoscon after the plugin have started, the plugin will de desynchronized, and you will have this kind of error message
    2018-12-29 20:49:32.807 Error: (deConz) Unknow MAJ{'name': 'TRÅDFRI Motion sensor', 'uniqueid': '00:0b:57:ff:xx:xx:xx:xx', 'id': '2', 'r': 'sensors', 't': 'event', 'e': 'changed'}
    or
    2018-12-29 20:54:04.979 (deConz) Banned device > 2 (sensors)
    To solve them, no need to reboot, just restart the plugin, it synchronises at every start. To restart plugin : Tab "Hardware" > select the hardware "deCONZ" then click "Update"

  • If your system doesn't support python "Request" lib, you can try older version < 1.0.9.

Changelog.

  • 27/04/24 : 1.0.31 > Solve issue about "invalid literal", solve issue about CLIPDaylightOffset, solve issue if you use ENABLEBATTERYWIDGET.
  • 10/02/24 : 1.0.30 > Solve issue with "mode" widget for thermostat, improve air quality sensor support.
  • 28/10/23 : 1.0.29 > Add support for moisture sensor, add support for double consumption, add an error widget about deconz status.
  • 24/05/23 : 1.0.28 > Add support for New Xiaomi Cube T1/ T1 pro thx @Sumd84 , the widget created by the option "ENABLEBATTERYWIDGET" have now different icons according to batery level, thx @BabaIsYou , remove error about "capabilities".
  • 17/02/23 : 1.0.27 > Add special support for the Ikea Starkvind thx @arjannv , add support for the Alarm System, and the support for keypad, see https://github.com/Smanar/Domoticz-deCONZ/wiki/How-to-add-keypad-to-domoticz thx @BabaIsYou , add new option ENABLEBATTERYWIDGET ,remove "capabilities" error message.
  • 12/11/22 : 1.0.26 > Make the widget for covering work again, following the Domoticz update. Create a widget with consumption and power for some devices that are able to support it, (thx @BabaIsYou)
  • 10/09/22 : 1.0.25 > It's now possible to clean the unused API key used for Hue Essentials, add support for binary module, with the develco one, add "pulseconfiguration" as possible setting in the GUI, thx @Jemand .
  • Correct an issue for thermostat with "mode" not updated.
  • 08/05/22 : 1.0.24 > This version contain various correctives for consumption/power sensors.
  • 15/03/22 : 1.0.23 > Can create tension and current widget (need to be enabled in hardware panel), new path system for docker installation (to correct front end issue), Add new field in config, to be used as special setting later, somes change on covering support.
  • 29/12/21 : 1.0.22 > Add specific widget for the Ikea Styrbar, optimisation/update for covering, some devices correctives, thx to @veitk, @RDols and @sonar98.
  • 20/09/21 : 1.0.21 > Warning device use now a selector switch instead of a 2 position one, add some new value for ZGP switches, repair the front end to be able to set "0" value, add a tool to clean the API key list.
  • 03/07/21 : 1.0.20 > add primary support for ZHAAirQuality, repair of frontend, now it s possible again to configure device.
  • 15/06/21 : 1.0.19 > Make special widget for Tuya switches and philips RWL02 one. Starting to repair siren. Increase Websocket buffer to prevent message "Incomplete JSON keep it for later". Add the possibility to see the deconz config on the front-end.
  • 18/04/21 : 1.0.18 > Set light state to off if detected off line (thx @nonolk), starting to implement ZHADoorlock.
  • 14/03/21 : 1.0.17 > Grammar corrections, corrective for power sensor, can retreive raw data from Xiaomi cube (to get side), improve widget for extended color light, adding remote covering devices.
  • 13/12/20 : 1.0.16 > Correction to support Ally thermostat (@johnsprogs), the Xiaomi sensor return the 3 angles (@flopp999), the xiaomi cube can give complete information (@kispalsz ), Color correction for devices that don't support XY, the frontend (@JayPearlman), support of the Lidl Melinera Smart XMAS LED string lights (@sonar98), can specify type for group (@Plantje).
  • 01/08/20 : 1.0.15 > Better support for Friend of HUE device. Disable error message about the gateway.
  • 25/06/20 : 1.0.14 > Handle the new websocket "attr", special widget for Xiaomi Aqara single gang (thx to @markiboy2all).
  • 28/05/20 : 1.0.13 > Delete banned_devices.txt from github, it will be created by the plugin, create specific widget for Aquara Opple and Xiaomi double gang (thx to @eserero), critic bug correction for Xiaomi plug (thx to @xxLeoxx93).
  • 27/01/20 : 1.0.12 > Correction for some Philips hue, correction for thermostat devices, change consumption widget for some devices, remove domoticz batterie alert if device have bad return for battery level, patch for group with UniqueId.
  • 09/11/19 : 1.0.11 > All unknows devices will be recognized as on/off controler, because some working device have "Unknow" as type. Improving detection for fan and range extender. Adding Thermostat support (thx to @salopette). Adding support for long press on ikea remote. Reparation for Shutter control.
  • 23/08/19 : 1.0.10 > Add message information for missing requests lib, make special device for "Tradfri on/off_switch" (thx @erwan2345). The plugin can now add itself missing groups after the starting. Another division by zero correction. Patch for virtual devices with same UniqueId.
  • 20/06/19 : 1.0.9 > Compare database to check deleted devices. Code clean up. The plugin can now add itself missing devices after the starting. Trying to synchronise at start only if the gateway seem ready. Change request code (cf remark). Change Websocket code (thx @salopette).
  • 03/05/19 : 1.0.8 > Adding a tool to delete all useless key created everytime launching Phoscon. Setting Websocket port is now useless. Change switches icon for button instead of bulb. Prevent the system be freezed if the gateway don't answer at a request and using queue list for request to prevent collision. Adding scenes control.Adding some missing bulbs.
  • 14/04/19 : 1.0.7 > Special version, because of a problem in a feature I have make and a deconz version >= 2.05.62, bulb will be set to off just after set to on.
  • 07/04/19 : 1.0.6 > starting to implement vibration sensor/Carbonmonoxide sensor/Window covering/thermostat/door lock. Trying to correct bad JSON data on normal connexion. Enable timeout display for no rechables devices. Devices Units correction (thx @fswmlu). Corrections for initialisation device on plugin start and bug on banning groups (Thx @dobber81).
  • 04/03/19 : 1.0.5 > improve the case deCONZ is not on same machine than Domoticz. Groups reparation, now you can send for example a color level to a complete group with only 1 device. Device update modification, for fast event, like if you press a switch too fast.
  • 02/02/19 : 1.0.4 > Modification the way the plugin receive data. Decrease the device update amount, less logs, less notifications, but at least 1 update every 24h to see if the device is still alive.
  • 22/01/19 : 1.0.3 > Division by zero bug correction, adding some missing devices, and Xiaomi water leak update (thx to @stefan1957 and @AdamWeglarz)
  • 12/01/19 : 1.0.2 > Correction in the situation the user don't have a device category, for example, no bulbs.
  • 11/01/19 : 1.0.1 > First official version, The Xiaomi cube now use custom sensor for Rotation, it send now numeric value, so you can use it to vary a light or a volume speaker.

domoticz-deconz's People

Contributors

babaisyou avatar erwan2345 avatar eserero avatar flopp999 avatar jaypearlman avatar markiboy2all avatar mimiix avatar nonolk avatar phkpr avatar rdols avatar smanar avatar sonar98 avatar sumd84 avatar tuxick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

domoticz-deconz's Issues

Migrated from zigbee2mqtt to deCONZ (X needed for network map)

I have just migrated from zigbee2mqtt to deCONZ. With zigbee2mqtt I was able to create a network map (svg) and it was available in domoticz (custom page in machinon theme).
I love Phoscon app, but I do not understand why I need graphical environment (currently I have raspbian lite) to get zigbee network map, it would be good to get it without graphical environment, and it could be shown as a new option in Phoscon app.
I know that this proposal is not easy to implement (or perharps yes).
Thank you

Conbee-II: Firmware not connected and sensors not refreshed

Hi all,

I have a setup with:

1) Raspberry Pi 3 Model B Plus Rev 1.3
2) ConBee-II USB Dongle
	Version	2.05.88 / 15/10/2020
	Firmware	26660700
3) Aeotec Z-Stick Gen5 (ZWave USB Controller)
4) An SSD hdisk connected by USB

Further information:

  • Raspberry Pi OS installed.
  • deCONZ plugin for Domoticz also installed.
  • Installation of deconz went well.
  • I connected ZWave Controller and ConBee-II USB dongle, each one with an "usb extension cord" (50cm) in order to avoid electronic interferences.

I don't know if these issues are linked, but please find below a couple of error messages.

-> From Domoticz logs
"CConnection_disconnect, disconnection request from 'USB-ConBee-II' ignored. Transport does not exist"

-> From Headless Phoscon GUI
I got often "firmware not connected".
Also, even if connected, "sensors are most of time not refreshed".

-> From System Logs (Raspberry Pi OS)

root@domorasp:~# systemctl status deconz
● deconz.service - deCONZ: ZigBee gateway -- REST API
   Loaded: loaded (/lib/systemd/system/deconz.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-11-18 10:46:08 CET; 3 days ago
 Main PID: 24844 (deCONZ)
	Tasks: 5 (limit: 2063)
   CGroup: /system.slice/deconz.service
		   └─24844 /usr/bin/deCONZ -platform minimal --http-port=80

nov 21 06:25:41 domorasp deCONZ[24844]: This plugin does not support propagateSizeHints()
nov 21 06:26:03 domorasp deCONZ[24844]: This plugin does not support propagateSizeHints()
nov 21 08:01:57 domorasp deCONZ[24844]: This plugin does not support propagateSizeHints()
nov 21 08:03:03 domorasp deCONZ[24844]: This plugin does not support propagateSizeHints()
nov 21 09:55:14 domorasp deCONZ[24844]: This plugin does not support propagateSizeHints()

As I can see, all seems ok for USB port.

root@domorasp:~# ls -lrt /dev/ttyU*
lrwxrwxrwx 1 root root 7 nov 13 23:32 /dev/ttyUSB-ZStick-5G -> ttyACM0
lrwxrwxrwx 1 root root 7 nov 21 12:22 /dev/ttyUSB-ConBee-II -> ttyACM1
root@domorasp:~#
root@domorasp:~# GCFFlasher_internal -l
GCFFlasher V3_16 (c) dresden elektronik ingenieurtechnik gmbh
Path             | Vendor | Product | Serial     | Type
-----------------+--------+---------+------------+-------
/dev/ttyAMA0     | 0x0000 | 0x0000  |            | RaspBee
/dev/ttyACM1     | 0x1CF1 | 0x0030  | DE2212441  | ConBee II
root@domorasp:~#

All others config details

root@domorasp:~# cat /boot/cmdline.txt
console=tty1 root=PARTUUID=8d7f362d-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
root@domorasp:~#

Could you please help me to check my setup and find the root-cause?

Thanks in advance for your support and your feedback.

Regards,

Can not start plugin last version 1.0.9

Plugin 1.0.7 was working fine but I tried the last one 1.0.9 and it does not start, domoticz log error display that:

2019-07-20 19:13:42.969 Error: (deCONZ) failed to load 'plugin.py', Python Path used was '/home/applications/domoticz/plugins/Domoticz-deCONZ/:/usr/lib/python3.4/:/usr/lib/python3.4/plat-arm-linux-gnueabihf:/usr/lib/python3.4/lib-dynload'.
2019-07-20 19:13:42.969 Error: (deCONZ) Module Import failed, exception: 'ImportError'
2019-07-20 19:13:42.969 Error: (deCONZ) Module Import failed: ' Name: requests'
2019-07-20 19:13:42.969 Error: (deCONZ) Error Line details not available.

It is running on Raspberry Pi 3 , python --version returns Python 2.7.9

Aqara T1, SSM-U01

Added this On/Off to my Conbee 2.
It created a device in Domoticz as Light switch, everything is OK

But it should also send energy consumption but it doesn't show up in Domoticz.
Aqara plug with energy consumption was created after a few minutes.

I am running Domoticz 2020.2
Deconz Plugin 1.0.15
Conbee 2 USB Firmware 26660700
Phoscon 2.05.88
Debian Buster on NUC

Domoticz Crashing when deCONZ is enabled

Hi there,

today I added a new Xiaomi Plug in Phoscon and wanted to add it in Domoticuz afterwards.
However domoticz crashed, so I restarted it with the result that 30 later it crashed again.
So I checked the log and it seems like once the Plugin gets loaded, Domoticz simply reashes:
Last lines of my log:

2020-03-01 13:07:47.504 (ConBee2) ### Update device (Ersatz - Office Sofa Lampe Power) : {'nValue': 0, 'sValue': '6', 'TimedOut': 1}
2020-03-01 13:07:47.504 (Ersatz - Office Sofa Lampe Power) Updating device from 0:'6' to have values 0:'6'.
2020-03-01 13:07:47.508 (ConBee2) ### Device > 41 Name:Consumption 41 Type:ZHAConsumption Details:{'consumption': None, 'lastupdated': 'none'} and {'on': True, 'reachable': False, 'temperature': 2800}
2020-03-01 13:07:47.508 (ConBee2) ### Update device (Ersatz - Office Sofa Lampe Consumption) : {'nValue': 0, 'sValue': '0', 'TimedOut': 1}
2020-03-01 13:07:47.508 (Ersatz - Office Sofa Lampe Consumption) Updating device from 0:'0' to have values 0:'0'.
2020-03-01 13:07:47.363 Status: (ConBee2) Firmware version : 0x264a0700
2020-03-01 13:07:47.363 Status: (ConBee2) Websocketnotifyall : True
2020-03-01 13:07:47.508 Error: Domoticz(pid:6156, tid:6159('PluginMgr')) received fatal signal 11 (Segmentation fault)
2020-03-01 13:07:47.508 Error: siginfo address=0x180c, address=(nil)
2020-03-01 13:07:49.895 Error: Domoticz(pid:6156, tid:6173('XiaomiGatewayIO')) received fatal signal 11 (Segmentation fault) while backtracing
2020-03-01 13:07:49.895 Error: siginfo address=0x44, address=0x3dfe90

When I dissable the addin, domoticz runs fine.
I've verified that I'm on the latest version of the plugin and also reinstalled it (1.0.12).
Domoticz Version: Domoticz V4.11740

Problems in latest domoticz beta 4.10915

2019-06-16 19:30:54.202 (deCONZ) Pushing 'onMessageCallback' on to queue
2019-06-16 19:30:54.202 (deCONZ) Processing 'onMessageCallback' message
2019-06-16 19:30:54.202 (deCONZ) Calling message handler 'onMessage'.
2019-06-16 19:30:54.202 (deCONZ) onMessage called
2019-06-16 19:30:54.203 (deCONZ) Incomplete trame, miss 4944 bytes
2019-06-16 19:30:54.203 (deCONZ) Processing 'onMessageCallback' message
2019-06-16 19:30:54.203 (deCONZ) Calling message handler 'onMessage'.
2019-06-16 19:30:54.203 (deCONZ) onMessage called
2019-06-16 19:30:54.203 (deCONZ) Incomplete trame, miss 848 bytes
2019-06-16 19:30:54.203 (deCONZ) Processing 'onMessageCallback' message
2019-06-16 19:30:54.203 (deCONZ) Calling message handler 'onMessage'.
2019-06-16 19:30:54.203 (deCONZ) onMessage called
2019-06-16 19:30:54.203 (deCONZ) Incomplete trame, miss 183 bytes
2019-06-16 19:30:54.017 Error: (deCONZ) More than 5s timeout, Your system seem frezzed, Forcing disconnect for : GET /api/2DF295010C/config/ HTTP/1.1
2019-06-16 19:30:54.017 Host: 10.0.0.19:80
2019-06-16 19:30:54.017 User-Agent: Domoticz/1.0
2019-06-16 19:30:54.017 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
2019-06-16 19:30:54.017 Connection: keep-alive
2019-06-16 19:30:54.017
2019-06-16 19:30:54.017

Don't know if this is a bug in the new domoticz, but could also be something they changed that makes this plugin break.

If I roll back to latest stable domoticz everything works great again.

Philips Hue lights

Hi, I bought Philips Hue lights, they work in Deconz, but they don't work properly in the plug-in.
I can switch on and off, but when I use the color wheel, the light is dimmed to the minimum level or switched off.

2019-12-13 17:47:02.963 (deconz) onCommand called for Unit 176: Parameter 'On', Level: 77, Hue: 2019-12-13 17:47:02.929 Status: User: Admin initiated a switch command (5321/deconz - Hue Stripe/On) 2019-12-13 17:47:17.306 (deconz) onCommand called for Unit 176: Parameter 'Set Color', Level: 76, Hue: {"b":222,"cw":0,"g":0,"m":3,"r":255,"t":0,"ww":0} 2019-12-13 17:47:17.268 Status: setcolbrightnessvalue: ID: 14c9, bri: 76, color: '{m: 3, RGB: ff00de, CWWW: 0000, CT: 0}' 2019-12-13 17:47:30.585 (deconz) onCommand called for Unit 176: Parameter 'Set Color', Level: 100, Hue: {"b":222,"cw":0,"g":0,"m":3,"r":255,"t":0,"ww":0} 2019-12-13 17:47:30.555 Status: setcolbrightnessvalue: ID: 14c9, bri: 100, color: '{m: 3, RGB: ff00de, CWWW: 0000, CT: 0}' 2019-12-13 17:47:36.409 (deconz) onCommand called for Unit 176: Parameter 'Set Color', Level: 100, Hue: {"b":0,"cw":0,"g":255,"m":3,"r":20,"t":0,"ww":0} 2019-12-13 17:47:36.388 Status: setcolbrightnessvalue: ID: 14c9, bri: 100, color: '{m: 3, RGB: 14ff00, CWWW: 0000, CT: 0}'

Readd removed device?

Hi there,
I added a switch that wasn't working probably, so I deleted the device in Domoticz & deCONZ and readded it in deCONZ. Now it's working in deCONZ but missing in Domoticz. Is there any way to get it back in the device tab?
I thought readding it in deCONZ will aadd it also again in Domooticz.

add Device SPZB0001 ( thermostat)

https://www.amazon.de/gp/product/B077GCDDBY/ref=ppx_yo_dt_b_asin_title_o06_s01?ie=UTF8&psc=1

dresden-elektronik/deconz-rest-plugin#1098

2019-10-09 13:51:47.256 Error: (CDevice_update) deconz - SPZB0001: Failed to parse parameters: 'nValue', 'sValue', 'Image', 'SignalLevel', 'BatteryLevel', 'Options', 'TimedOut', 'Name', 'TypeName', 'Type', 'Subtype', 'Switchtype', 'Used', 'Description', 'Color' or 'SuppressTriggers' expected.
2019-10-09 13:51:47.256 Error: (deconz) 'CDevice_update' failed 'TypeError':'an integer is required (got type str)'.

Hi, I have a thermostat
Domoticz does not want to take it?
Can you include that?

THX

Phoscon daylight sensor problem

Hi,

Started to test Conbee-2 on RPI4.
Installation of deconz went well.
Adding two Xiaomi devices (vibration sensor and smart switch) too.
Xiaomi devices work well, but the (built-in) Phoscon sensor is giving problems.
In the error logfile: 2020-07-27 13:45:45.416 Error: (ConBee-2) Websocket error, unknow device > 1 (lights) Asking for information

More information:

2020-07-27 13:57:38.764 (ConBee-2) Banned device > 1 (lights) 2020-07-27 13:57:42.119 (ConBee-2) Received 342 bytes of data 2020-07-27 13:57:42.119 (ConBee-2) onMessage called 2020-07-27 13:57:42.119 (ConBee-2) ### WebSocket Data : {'attr': {'lastannounced': None, 'lastseen': '2020-07-27T11:57:42Z', 'manufacturername': 'dresden elektronik', 'modelid': 'ConBee II', 'name': 'Configuration tool 1', 'swversion': '0x26580700', 'type': 'Configuration tool', 'uniqueid': '00:21:2e:ff:ff:05:d7:67-01'}, 'e': 'changed', 'id': '1', 'r': 'lights', 't': 'event', 'uniqueid': '00:21:2e:ff:ff:05:d7:67-01'}

Anyone an idea how to solve?

Thanks

Additional pages to remove need for Phoscon

Hello @Smanar,

I wanted to get your thoughts and feedback on adding the below pages I've created to your plugin.

https://github.com/JayPearlman/Domoticz-deCONZ/tree/hardware_interface/frontend

The files can be copied directly in to domoticz/www/templates and then a new page will appear under the "Custom" top navigation to test them out.

The idea is that these pages provide an interface to the API and remove the reliance on Phoscon for adding devices.
This is my first time ever working with AngularJS so I am open to all comments and concerns. I have tried to follow the existing practices of Domoticz and allow for additional functionality. Some of the built in translations will work and others will not.

Everything is tested as working correctly on my home system including joining new devices, renaming devices, and deleting devices.

Xiaomi Cube clock wise

Hello is there any option to add clock wise rotate to domoticz (Magic Cube), I have only those options:

Level Level name Order  
0 Off    
10 Shak    
20 Wake    
30 Drop    
40 90°    
50 180°    
60 Push    
70 Tap

In logs theres no info about rotating clock wise like potentiometr. I saw that options is in Xiaomi gateway plugin.

Wrong power consumption when there is more than one device

I have two innr smartplugs that report the power consumption.
However, according to the logging they do this interleaved.
This causes the power from one plug to be reported in the consumption of the other.

I looked at the code and the problem seems to be that there is a buffercommand variable that assumes that the last reported power is for the device that is now reporting the consumption.
I am not sure what the best fix would be. I would guess best would be to know which device the power is registered for.

Domoticz 2020.1 upgrade

Hello,

After upgrade og domoticz,to 2020.1 it like that deconz does not follow "domoticz speed"
I often have to send command more times before the change end up with a reaction in deconz device!

This is both for timers, manual activated switches and events!

In domoticz LOG it does however looks like deconz/domoticz is sending commands, but the do not end with a reaction in the device!

Br
Allan

Json Parse error

i'm facing this error :

'
2018-11-25 18:02:19.099 Status: (Python Deconz) ### Create Device 00:12:4b:00:14:af:7f:6a-0b > Jiawen
2018-11-25 18:02:19.094 Error: JSON Protocol: Parse Error on 'HTTP/1.1 200 OK
2018-11-25 18:02:19.094 Access-Control-Allow-Origin: *
2018-11-25 18:02:19.094 Content-Type: application/json; charset=utf-8
2018-11-25 18:02:19.094 Content-Length:661
2018-11-25 18:02:19.094 ETag:"42e1d45ef44de8f0f3184e48ab278bcb"
2018-11-25 18:02:19.094
2018-11-25 18:02:19.094 {"1":{"ctmax":0,"ctmin":0,"etag":"42e1d45ef44de8f0f3184e48ab278bcb","hascolor":true,"manufacturername":"Feibit Inc co.","modelid":"FB56-ZCW08KU1.1","name":"Jiawen","state":{"alert":"none","bri":72,"colormode":"xy","ct":164,"effect":"none","hue":10240,"on":true,"reachable":true,"sat":162,"xy":[0.433646,0.404173]},"swversion":"1.0.2","type":"Extended color light","uniqueid":"00:12:4b:00:14:af:7f:6a-0b"},"2":{"etag":"f0c863c2a7b61babfb83cd22c5a31661","hascolor":false,"manufacturername":"Unknown","modelid":null,"name":"Light 2","state":{"alert":"none","on":false,"reachable":true},"swversion":null,"type":"Smart plug","uniqueid":"00:15:8d:00:01:2a:47:fd-02"}}'
2018-11-25 18:02:19.099 Error: (Python Deconz) 'onMessage' failed 'TypeError':'argument of type 'NoneType' is not iterable'.
2018-11-25 18:02:19.099 Error: (Python Deconz) ----> Line 640 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py', function onMessage
2018-11-25 18:02:19.099 Error: (Python Deconz) ----> Line 171 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py', function onMessage
2018-11-25 18:02:19.099 Error: (Python Deconz) ----> Line 356 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py', function NormalConnexion
'
Looks like an json error parser but i don't know where to help

Thx for your job , this plugin is near the best on zigbee

Getting continuous "Can't Update Unit" errors in the domoticz log

Hi all,

I'm using Conbee II controller and deconz domoticz plugin for 3 months now. I got occasionally some errors in domoticz log, but nothing to be worried about. But lately I'm getting dozens of errors about two sensors:

Can't Update Unit > 32 (sensors) : {'nValue': 1, 'sValue': 'On'}
Can't Update Unit > 33 (sensors) : {'nValue': 1, 'sValue': '1'}
Can't Update Unit > 32 (sensors) : {'nValue': 0, 'sValue': 'Off'}
Can't Update Unit > 33 (sensors) : {'nValue': 0, 'sValue': '0'} , in this case sValue can take the value -1 or 2

This two sensors are not created intentionally. When I get sensors list from deconz API, I get:
"32": { "config": { "duration": 60, "on": true, "reachable": true }, "etag": "5de9b2b9a552d0ce653b4a8340fd8510", "manufacturername": "Phoscon", "modelid": "PHOSCON_VPIR", "name": "VPIR Encendre escala despatx", "state": { "lastupdated": "2020-10-02T08:44:10.801", "presence": false }, "swversion": "1.0", "type": "CLIPPresence", "uniqueid": "vpir-1600961012781" }, "33": { "config": { "on": true, "reachable": true }, "etag": "49e3f9e3028a5e8c5b08e15af10d8b2e", "manufacturername": "Phoscon", "modelid": "PHOSCON_FSM_STATE", "name": "FSM_STATE Encendre escala despatx", "state": { "lastupdated": "2020-10-02T06:08:42.203", "status": 0 }, "swversion": "1.0", "type": "CLIPGenericStatus", "uniqueid": "fsm-state-1600961012781" }

So I assume they are automatically created by Phoscon once I created following sensor:
"13": { "config": { "alert": "none", "battery": 47, "delay": 60, "duration": 62, "group": "25925", "on": true, "reachable": true }, "ep": 1, "etag": "5de9b2b9a552d0ce653b4a8340fd8510", "lastseen": "2020-10-02T08:43Z", "manufacturername": "IKEA of Sweden", "modelid": "TRADFRI motion sensor", "name": "Motion sensor Escala Despatx", "state": { "dark": true, "lastupdated": "2020-10-02T08:44:13.401", "presence": false }, "swversion": "1.2.214", "type": "ZHAPresence", "uniqueid": "d0:cf:5e:ff:fe:c0:93:fe-01-0006" }

In fact, when this sensor is set 'On' or 'Off' is when the said errors arises in domoticz log. And the action linked to the correctly included sensor (#13), is rightly executed.

Any suggestion about what is going on? May I, simply, delete those fake sensors?

Thanks in advance,

Jordi

WXKG11LM doesn't trigger event on B1, B3, B4,B5

WXKG11LM is a square Xiaomi Switch without gyro.

Well reconize on deconz and Domoticz, he trigger B1, B3, B4,B5, and Off

Probleme is on running event :

commandArray = {}

if devicechanged['Inter Dressing']=='B1' then
switch('Dressing Parents') (switch a shortcut used with "modules" who is a variante of dzevent)

end

B1, B3, B4,B5 doesn't trigger then event, only Off do the job

Aqara Vibration - DJT11LM

In DZ I do not see tilt degree, should it be there?

Maybe I did something wrong in DZ?

In Deconz API I get a lot of information

{"config":{"battery":100,"on":true,"pending":[],"reachable":true,"sensitivity":null,"sensitivitymax":21,"temperature":2400},"ep":1,"etag":"d1d721bdee4c2xff4f5c7f3ddf793970","lastseen":"2020-11-23T20:38Z","manufacturername":"LUMI","modelid":"lumi.vibration.aq1","name":"Vibration Sensor","state":{"lastupdated":"2020-11-23T20:38:19.652","orientation":[1,-1,89],"tiltangle":176,"vibration":true,"vibrationstrength":8},"swversion":"20180130","type":"ZHAVibration","uniqueid":"00:15:8d:00:03:b6:44:55-01-0101"}

Support xiaomi Opple switches

Hello - recent version of deconz (V2_05_73) introduce support in opple smart switches that have 3 variants (6 buttons, 4 buttons, 2 buttons).
dresden-elektronik/deconz-rest-plugin#2061

The support is not perfect, and they are working to improve, but single press is functional as well as long press on some of the buttons.
I meddle a bit with the python code and added support for the 6 button switch (what I have) for whats there. dont know much about how to go about it in Git, so I just pasted the files with my changes. I marked sections I changed with "#eyal start" and "#eyal end". these are really great switches and cheap, so I hope it help someone and that you can included it in the official release.

fonctions.txt
plugin.txt

Unknown MAJ in log

Hello,

today I did a clean setup from scratch on my conbee 2 stick running on a raspberry pi. Devices/Sensors are the same so I didn't need to add each division again in domotic as well. However my log in domoticz is now showing Unknown MAJ all the time in the log (and crashing domoticz after ~30min).
Here's an example:

2020-11-08 20:40:30.576 Error: (ConBee2) Unknow MAJ{'attr': {'colorcapabilities': 0, 'ctmax': 65279, 'ctmin': 0, 'id': '5', 'lastannounced': '2020-11-08T11:46:26Z', 'lastseen': '2020-11-08T20:40Z', 'manufacturername': 'IKEA of Sweden', 'modelid': 'TRADFRI bulb E27 WS opal 1000lm', 'name': 'Lampe Oben Office Sofa', 'swversion': '2.0.022', 'type': 'Color temperature light', 'uniqueid': '68:0a:e2:ff:fe:36:a8:11-01'}, 'e': 'changed', 'id': '5', 'r': 'lights', 't': 'event', 'uniqueid': '68:0a:e2:ff:fe:36:a8:11-01'}
2020-11-08 20:40:45.797 Error: (ConBee2) Unknow MAJ{'attr': {'id': '20', 'lastannounced': '2020-11-08T12:15:47Z', 'lastseen': '2020-11-08T20:40Z', 'manufacturername': 'LUMI', 'modelid': 'lumi.plug', 'name': 'Stecker Oben Office Regal', 'swversion': '09-29-2017', 'type': 'Smart plug', 'uniqueid': '00:15:8d:00:02:4d:8c:eb-01'}, 'e': 'changed', 'id': '20', 'r': 'lights', 't': 'event', 'uniqueid': '00:15:8d:00:02:4d:8c:eb-01'}
2020-11-08 20:40:50.011 Error: (ConBee2) Unknow MAJ{'attr': {'id': '26', 'lastannounced': '2020-11-08T11:33:21Z', 'lastseen': '2020-11-08T20:40Z', 'manufacturername': 'LUMI', 'modelid': 'lumi.plug', 'name': 'Stecker Unten Keller Wasch', 'swversion': '09-29-2017', 'type': 'Smart plug', 'uniqueid': '00:15:8d:00:02:4a:7d:ff-01'}, 'e': 'changed', 'id': '26', 'r': 'lights', 't': 'event', 'uniqueid': '00:15:8d:00:02:4a:7d:ff-01'}
2020-11-08 20:40:55.519 Error: (ConBee2) Unknow MAJ{'attr': {'id': '23', 'lastannounced': '2020-11-08T13:59:36Z', 'lastseen': '2020-11-08T20:40Z', 'manufacturername': 'IKEA of Sweden', 'modelid': 'TRADFRI Driver 30W', 'name': 'Driver Oben Wohnzimmer Couch', 'swversion': '1.2.245', 'type': 'Dimmable light', 'uniqueid': '68:0a:e2:ff:fe:fe:44:5b-01'}, 'e': 'changed', 'id': '23', 'r': 'lights', 't': 'event', 'uniqueid': '68:0a:e2:ff:fe:fe:44:5b-01'}
2020-11-08 20:41:02.528 Error: (ConBee2) Unknow MAJ{'attr': {'id': '4', 'lastannounced': '2020-11-08T11:55:51Z', 'lastseen': '2020-11-08T20:41Z', 'manufacturername': 'LUMI', 'modelid': 'lumi.plug', 'name': 'Stecker Oben Wohnzimmer Ladeeck', 'swversion': '20161128', 'type': 'Smart plug', 'uniqueid': '00:15:8d:00:01:56:78:b4-01'}, 'e': 'changed', 'id': '4', 'r': 'lights', 't': 'event', 'uniqueid': '00:15:8d:00:01:56:78:b4-01'}
2020-11-08 20:41:13.544 Error: (ConBee2) Unknow MAJ{'attr': {'id': '6', 'lastannounced': None, 'lastseen': '2020-11-08T20:41Z', 'manufacturername': 'IKEA of Sweden', 'modelid': 'TRADFRI bulb E14 W op/ch 400lm', 'name': 'Lampe Unten Wohnzimmer TV Unten', 'powerup': 7, 'swversion': '1.2.214', 'type': 'Dimmable light', 'uniqueid': 'ec:1b:bd:ff:fe:85:b0:da-01'}, 'e': 'changed', 'id': '6', 'r': 'lights', 't': 'event', 'uniqueid': 'ec:1b:bd:ff:fe:85:b0:da-01'}
2020-11-08 20:41:13.845 Error: (ConBee2) Unknow MAJ{'attr': {'id': '8', 'lastannounced': '2020-11-08T11:57:16Z', 'lastseen': '2020-11-08T20:41Z', 'manufacturername': 'IKEA of Sweden', 'modelid': 'TRADFRI Driver 30W', 'name': 'Driver Unten Wohnzimmer Regal', 'powerup': 7, 'swversion': '1.2.245', 'type': 'Dimmable light', 'uniqueid': 'ec:1b:bd:ff:fe:e3:64:19-01'}, 'e': 'changed', 'id': '8', 'r': 'lights', 't': 'event', 'uniqueid': 'ec:1b:bd:ff:fe:e3:64:19-01'}
2020-11-08 20:41:45.519 Error: (ConBee2) Unknow MAJ{'attr': {'id': '25', 'lastannounced': '2020-11-08T11:33:09Z', 'lastseen': '2020-11-08T20:41Z', 'manufacturername': 'LUMI', 'modelid': 'lumi.plug', 'name': 'Stecker Unten Keller Trockner', 'swversion': '04-20-2018', 'type': 'Smart plug', 'uniqueid': '00:15:8d:00:01:a4:ca:d9-01'}, 'e': 'changed', 'id': '25', 'r': 'lights', 't': 'event', 'uniqueid': '00:15:8d:00:01:a4:ca:d9-01'}
2020-11-08 20:41:48.824 Error: (ConBee2) Unknow MAJ{'attr': {'id': '24', 'lastannounced': '2020-11-08T11:32:51Z', 'lastseen': '2020-11-08T20:41Z', 'manufacturername': 'LUMI', 'modelid': 'lumi.plug', 'name': 'Stecker Unten Keller Frischluft', 'swversion': '09-29-2017', 'type': 'Smart plug', 'uniqueid': '00:15:8d:00:02:48:12:93-01'}, 'e': 'changed', 'id': '24', 'r': 'lights', 't': 'event', 'uniqueid': '00:15:8d:00:02:48:12:93-01'}
2020-11-08 20:41:50.326 Error: (ConBee2) Unknow MAJ{'attr': {'id': '2', 'lastannounced': '2020-11-08T12:01:02Z', 'lastseen': '2020-11-08T20:41Z', 'manufacturername': 'IKEA of Sweden', 'modelid': 'TRADFRI bulb E27 WW 806lm', 'name': 'Lampe Unten Eingang', 'powerup': 7, 'swversion': '2.1.022', 'type': 'Dimmable light', 'uniqueid': 'ec:1b:bd:ff:fe:a3:ce:9e-01'}, 'e': 'changed', 'id': '2', 'r': 'lights', 't': 'event', 'uniqueid': 'ec:1b:bd:ff:fe:a3:ce:9e-01'}
2020-11-08 20:41:56.884 Error: (ConBee2) Unknow MAJ{'attr': {'id': '23', 'lastannounced': '2020-11-08T13:59:36Z', 'lastseen': '2020-11-08T20:41Z', 'manufacturername': 'IKEA of Sweden', 'modelid': 'TRADFRI Driver 30W', 'name': 'Driver Oben Wohnzimmer Couch', 'swversion': '1.2.245', 'type': 'Dimmable light', 'uniqueid': '68:0a:e2:ff:fe:fe:44:5b-01'}, 'e': 'changed', 'id': '23', 'r': 'lights', 't': 'event', 'uniqueid': '68:0a:e2:ff:fe:fe:44:5b-01'}
2020-11-08 20:42:03.703 Error: (ConBee2) Unknow MAJ{'attr': {'id': '14', 'lastannounced': None, 'lastseen': '2020-11-08T20:42Z', 'manufacturername': 'IKEA of Sweden', 'modelid': 'TRADFRI Driver 30W', 'name': 'Driver Oben Wohnzimmer Regal', 'swversion': '1.2.245', 'type': 'Dimmable light', 'uniqueid': '68:0a:e2:ff:fe:aa:e7:67-01'}, 'e': 'changed', 'id': '14', 'r': 'lights', 't': 'event', 'uniqueid': '68:0a:e2:ff:fe:aa:e7:67-01'}
2020-11-08 20:42:23.891 Error: (ConBee2) Unknow MAJ{'attr': {'id': '18', 'lastseen': '2020-11-08T20:42Z', 'manufacturername': 'IKEA of Sweden', 'modelid': 'TRADFRI bulb E14 W op/ch 400lm', 'name': 'Dimmable light 18', 'swversion': '1.2.214', 'type': 'Dimmable light', 'uniqueid': '68:0a:e2:ff:fe:40:47:43-01'}, 'e': 'changed', 'id': '18', 'r': 'lights', 't': 'event', 'uniqueid': '68:0a:e2:ff:fe:40:47:43-01'}
2020-11-08 20:42:33.605 Error: (ConBee2) Unknow MAJ{'attr': {'id': '8', 'lastannounced': '2020-11-08T11:57:16Z', 'lastseen': '2020-11-08T20:42Z', 'manufacturername': 'IKEA of Sweden', 'modelid': 'TRADFRI Driver 30W', 'name': 'Driver Unten Wohnzimmer Regal', 'powerup': 7, 'swversion': '1.2.245', 'type': 'Dimmable light', 'uniqueid': 'ec:1b:bd:ff:fe:e3:64:19-01'}, 'e': 'changed', 'id': '8', 'r': 'lights', 't': 'event', 'uniqueid': 'ec:1b:bd:ff:fe:e3:64:19-01'}
2020-11-08 20:43:00.705 Error: (ConBee2) Unknow MAJ{'attr': {'id': '4', 'lastannounced': '2020-11-08T11:55:51Z', 'lastseen': '2020-11-08T20:43Z', 'manufacturername': 'LUMI', 'modelid': 'lumi.plug', 'name': 'Stecker Oben Wohnzimmer Ladeeck', 'swversion': '20161128', 'type': 'Smart plug', 'uniqueid': '00:15:8d:00:01:56:78:b4-01'}, 'e': 'changed', 'id': '4', 'r': 'lights', 't': 'event', 'uniqueid': '00:15:8d:00:01:56:78:b4-01'}
2020-11-08 20:43:02.708 Error: (ConBee2) Unknow MAJ{'attr': {'id': '10', 'lastannounced': '2020-11-08T12:00:35Z', 'lastseen': '2020-11-08T20:43Z', 'manufacturername': 'IKEA of Sweden', 'modelid': 'TRADFRI bulb E14 W op/ch 400lm', 'name': 'Lampe Unten Wohnzimmer TV Oben', 'swversion': '1.2.214', 'type': 'Dimmable light', 'uniqueid': '68:0a:e2:ff:fe:3e:a4:aa-01'}, 'e': 'changed', 'id': '10', 'r': 'lights', 't': 'event', 'uniqueid': '68:0a:e2:ff:fe:3e:a4:aa-01'}
2020-11-08 20:43:03.309 Error: (ConBee2) Unknow MAJ{'attr': {'id': '25', 'lastannounced': '2020-11-08T11:33:09Z', 'lastseen': '2020-11-08T20:43Z', 'manufacturername': 'LUMI', 'modelid': 'lumi.plug', 'name': 'Stecker Unten Keller Trockner', 'swversion': '04-20-2018', 'type': 'Smart plug', 'uniqueid': '00:15:8d:00:01:a4:ca:d9-01'}, 'e': 'changed', 'id': '25', 'r': 'lights', 't': 'event', 'uniqueid': '00:15:8d:00:01:a4:ca:d9-01'}
2020-11-08 20:43:05.763 Error: (ConBee2) Unknow MAJ{'attr': {'id': '24', 'lastannounced': '2020-11-08T11:32:51Z', 'lastseen': '2020-11-08T20:43Z', 'manufacturername': 'LUMI', 'modelid': 'lumi.plug', 'name': 'Stecker Unten Keller Frischluft', 'swversion': '09-29-2017', 'type': 'Smart plug', 'uniqueid': '00:15:8d:00:02:48:12:93-01'}, 'e': 'changed', 'id': '24', 'r': 'lights', 't': 'event', 'uniqueid': '00:15:8d:00:02:48:12:93-01'}

Do I also need a clean setup in domoticz as well? I would like to keep the historic values of my sensors...

Xiaomi motion sensor not updated in domoticz

Hi,
Issue:
In phoscon app values are correct. In domoticz not
Log from domoticz:
" 2019-01-20 14:15:42.851 (Deconz zigbee) ###### WebSocket Data : {'r': 'sensors', 'uniqueid': '00:15:8d:00:02:b5:d9:3a-01-0400', 't': 'event', 'state': {'lightlevel': 17076, 'lastupdated': '2019-01-20T13:15:42', 'dark': False, 'lux': 51, 'daylight': False}, 'e': 'changed', 'id': '6'}
2019-01-20 14:15:42.851 (Deconz zigbee) ### Update device (Deconz zigbee - LightLevel 6) : {'nValue': 0, 'sValue': 'Off'}
2019-01-20 14:15:42.851 (Deconz zigbee - LightLevel 6) Updating device from 0:'Off' to have values 0:'Off'.
2019-01-20 14:15:42.858 (Deconz zigbee) Pushing 'ReadEvent' on to queue
2019-01-20 14:15:42.859 (Deconz zigbee) Processing 'ReadEvent' message "

It seems that script read correct values but light level is updated with wrong values.

Adam

Devices not showing up

I just started using this plugin and everythink worked fine until I wanted to integrate some cheap Zigbee OnOff Controller Devices. I can pair them with deconz and use them there, but they are not showing up in my Devices Tab on Domoticz.
{"etag":"24c2eef83549e3e038c5f0332fe6ca8e","hascolor":false,"manufacturername":"eWeLink","modelid":"SA-003-Zigbee","name":"WZ rechts","state":{"alert":"none","on":false,"reachable":true},"swversion":null,"type":"Unknown","uniqueid":"00:12:4b:00:1d:43:6d:c4-01"}}

2019-12-11 14:34:09.601 (ZBD) ### Update device (ZigBee Deconz - Unknown 2) : {'nValue': 0, 'sValue': 'off'}, IGNORED , no changes !
2019-12-11 14:34:09.601 (ZBD) ### Device > 3 Name:WZ rechts Type:Unknown Details:{'alert': 'none', 'on': False, 'reachable': True} and

That's the information I got. I'm installed today -> newest version. I found this issue here too: https://www.domoticz.com/forum/viewtopic.php?f=6&t=29271
I checked if those lines exist in my version: Yes they do but I don't get those devices to show up.
Any help would be appreciated!

Wrong measurement units

Hi,

my Domoticz shows wrong units for pressure and power consumption:

Aquara weather sensor: ZHAPressure / state.pressure - [Bar] instead of [hPa] (phoscon delivers the correct value)
and
innr Smart Plug SP 120: ZHAConsumption / state.consumption - [W] instead of [Wh] and ZHAPower / state.current [W] instead of [mA].

Where can I set the rigt Unit?

Thank in advance

Plugin desynchronized

Hi,

Thanks for a nice plugin to Domoticz.
I have some issues after updated Deconz software (Docker). I have also updated to the latest plugin.
I tried to restart the plugin but the desynchronized still remains.

2020-06-24 10:01:21.890 Error: (deCONZ) Unknow MAJ{'attr': {'type': 'Color temperature light', 'modelid': 'LTW012', 'lastannounced': None, 'name': 'Byrålampa', 'uniqueid': '00:17:88:01:06:bc:db:d4-0b', 'swversion': '1.29.0_r21169', 'manufacturername': 'Philips', 'lastseen': '2020-06-24T08:01:21Z'}, 'e': 'changed', 'uniqueid': '00:17:88:01:06:bc:db:d4-0b', 'id': '6', 'r': 'lights', 't': 'event'}

Best regards, Mikael

Combine sensors

I have a Temp sensor from Xiaomi.

When im reading this out in Domoticz i get 3 devices. Temp, Humidity and Preasure.

Why is this not combinend? With a power meter i have the same issue.
When looking in deCONZ i see it as one device and this is the way i want it without any LUA scripts or whatever to get this result.

What am i doing wrong?

Xiaomi Aqara Cube rotationcode

I use raspbery Pi 3b+ with Conbee2 USB stick.
In the Phoscon-GW app, I see the direction of rotating the Xiaimi cube. Where from where I rotate the control cube.
Rotation Code 4002 , this means rotate from side 4 to side 2.

Related domoticz forum post

The Domoticz-deCONZ plugin work for me, but only send rotation event not the real buttoncode as event.
I see in log od domoticz(debug) this:

Pushing 'ReadEvent' on to queue 2020-08-04 23:40:12.306 (deCONZ-Zigbee) Processing 'ReadEvent' message 2020-08-04 23:40:12.306 (deCONZ-Zigbee) Received 181 bytes of data 2020-08-04 23:40:12.307 (deCONZ-Zigbee) 81 7e 00 b1 7b 22 65 22 3a 22 63 68 61 6e 67 65 64 22 2c 22 �.ѻ"e":"changed"," 2020-08-04 23:40:12.307 (deCONZ-Zigbee) 69 64 22 3a 22 32 30 22 2c 22 72 22 3a 22 73 65 6e 73 6f 72 id":"20","r":"sensor 2020-08-04 23:40:12.307 (deCONZ-Zigbee) 73 22 2c 22 73 74 61 74 65 22 3a 7b 22 62 75 74 74 6f 6e 65 s","state":{"buttone 2020-08-04 23:40:12.307 (deCONZ-Zigbee) 76 65 6e 74 22 3a 34 30 30 32 2c 22 67 65 73 74 75 72 65 22 vent":4002,"gesture" 2020-08-04 23:40:12.307 (deCONZ-Zigbee) 3a 33 2c 22 6c 61 73 74 75 70 64 61 74 65 64 22 3a 22 32 30 :3,"lastupdated":"20 2020-08-04 23:40:12.307 (deCONZ-Zigbee) 32 30 2d 30 38 2d 30 34 54 32 31 3a 34 30 3a 31 32 2e 32 39 20-08-04T21:40:12.29 2020-08-04 23:40:12.307 (deCONZ-Zigbee) 36 22 7d 2c 22 74 22 3a 22 65 76 65 6e 74 22 2c 22 75 6e 69 6"},"t":"event","uni 2020-08-04 23:40:12.307 (deCONZ-Zigbee) 71 75 65 69 64 22 3a 22 30 30 3a 31 35 3a 38 64 3a 30 30 3a queid":"00:15:8d:00: 2020-08-04 23:40:12.307 (deCONZ-Zigbee) 30 34 3a 32 66 3a 31 66 3a 39 66 2d 30 32 2d 30 30 31 32 22 04:2f:1f:9f-02-0012" 2020-08-04 23:40:12.307 (deCONZ-Zigbee) 7d .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. } 2020-08-04 23:40:12.307 (deCONZ-Zigbee) Pushing 'onMessageCallback' on to queue 2020-08-04 23:40:12.307 (deCONZ-Zigbee) Processing 'onMessageCallback' message 2020-08-04 23:40:12.308 (deCONZ-Zigbee) Calling message handler 'onMessage'. 2020-08-04 23:40:12.308 (deCONZ-Zigbee) onMessage called 2020-08-04 23:40:12.308 (deCONZ-Zigbee) ### WebSocket Data : {'e': 'changed', 'id': '20', 'r': 'sensors', 'state': {'buttonevent': 4002, 'gesture': 3, 'lastupdated': '2020-08-04T21:40:12.296'}, 't': 'event', 'uniqueid': '00:15:8d:00:04:2f:1f:9f-02-0012'} 2020-08-04 23:40:12.309 (deCONZ-Zigbee) ### Update device (deCONZ-Zigbee - lumi.sensor_cube.aqgl01 20) : {'nValue': 40, 'sValue': '40'} 2020-08-04 23:40:12.310 (deCONZ-Zigbee - lumi.sensor_cube.aqgl01 20) Updating device from 0:'Off' to have values 40:'40'. 2020-08-04 23:40:12.850 (deCONZ-Zigbee) Pushing 'onCommandCallback' on to queue 2020-08-04 23:40:12.852 (deCONZ-Zigbee) Processing 'onCommandCallback' message 2020-08-04 23:40:12.852 (deCONZ-Zigbee) Calling message handler 'onCommand'. 2020-08-04 23:40:12.852 (deCONZ-Zigbee) onCommand called for Unit 18: Parameter 'Set Level', Level: 100, Hue: 2020-08-04 23:40:12.853 (deCONZ-Zigbee) Send Command /api/C94AB24840/lights/5/state with {'on': True, 'bri': 254} (0 in buffer) 2020-08-04 23:40:12.853 (deCONZ-Zigbee) Making Request : http://127.0.0.1:8088/api/C94AB24840/lights/5/state with params {'on': True, 'bri': 254} 2020-08-04 23:40:12.876 (deCONZ-Zigbee) Request Return : [{"success":{"/lights/5/state/on":true}},{"success":{"/lights/5/state/bri":254}}] 2020-08-04 23:40:12.877 (deCONZ-Zigbee) Classic Data : [{'success': {'/lights/5/state/on': True}}, {'success': {'/lights/5/state/bri': 254}}] 2020-08-04 23:40:12.447 Status: dzVents: Debug: Dumping domoticz data to /home/pi/domoticz/scripts/dzVents/domoticzData.lua 2020-08-04 23:40:12.713 Status: dzVents: Debug: Processing device-adapter for deCONZ-Zigbee - lumi.sensor_cube.aqgl01 20: Switch device adapter 2020-08-04 23:40:12.715 Status: dzVents: Debug: dzVents version: 3.0.2 2020-08-04 23:40:12.715 Status: dzVents: Debug: Event triggers: 2020-08-04 23:40:12.715 Status: dzVents: Debug: - Device: deCONZ-Zigbee - lumi.sensor_cube.aqgl01 20 2020-08-04 23:40:12.819 Status: dzVents: Info: Handling events for: "deCONZ-Zigbee - lumi.sensor_cube.aqgl01 20", value: "90°"

Is it possible to create a third sub-device in addition to the selector (Shak,Wake,Drop,90,180,Push,Tap) and analog rotation display ( degree), which sends the status code (buttonevent) to the domoticz event system?

Strange error 'onHeartbeat' failed 'KeyError'.

Hi,

In log I see something worrying:
"
2019-01-25 18:37:11.289 Error: (Deconz zigbee) 'onHeartbeat' failed 'KeyError'.
2019-01-25 18:37:11.289 Error: (Deconz zigbee) ----> Line 722 in /home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py, function onHeartbeat
2019-01-25 18:37:11.289 Error: (Deconz zigbee) ----> Line 337 in /home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py, function onHeartbeat
"

Any idea why?

Adam

domoticz does not start with the Domoticz-deCONZ plugin

Linux 4.9.0-11-amd64 #1 SMP Debian 4.9.189-3+deb9u2 (2019-11-11) x86_64 GNU/Linux
debian stretch
Domoticz V4.11690
requests 2.12.4
pyopenssl 2.16.0

When I comment 'import requests' in the plugin.py out, then domoticz starts.

Output of domoticz.log

2020-02-14 20:18:04.681 Error: Domoticz(pid:12416, tid:12419('PluginMgr')) received fatal signal 11 (Segmentation fault)
2020-02-14 20:18:04.682 Error: siginfo address=0x3080, address=0x7f35d92e9fbf
2020-02-14 20:18:04.707 Error: Failed to start gdb, will use backtrace() for printing stack frame

2020-02-14 20:18:04.715 Error: #0 /home/domo/domoticz/domoticz() [0x735e53]
2020-02-14 20:18:04.716 Error: #1 /home/domo/domoticz/domoticz : signal_handler(int, siginfo_t*, void*) + 0x295 [0x736975]
2020-02-14 20:18:04.716 Error: #2 /lib/x86_64-linux-gnu/libpthread.so.0 : + 0x110e0 [0x7f35d92ea0e0]
2020-02-14 20:18:04.716 Error: #3 /lib/x86_64-linux-gnu/libpthread.so.0 : raise + 0xcf [0x7f35d92e9fbf]
2020-02-14 20:18:04.717 Error: #4 /lib/x86_64-linux-gnu/libpthread.so.0 : + 0x110e0 [0x7f35d92ea0e0]
2020-02-14 20:18:04.717 Error: #5 /lib/x86_64-linux-gnu/libc.so.6 : + 0x8f53a [0x7f35d86a253a]
2020-02-14 20:18:04.717 Error: #6 /home/domo/domoticz/domoticz() [0xc47429]
2020-02-14 20:18:04.717 Error: #7 /home/domo/domoticz/domoticz : lh_insert + 0x4c [0xc476dc]
2020-02-14 20:18:04.718 Error: #8 /home/domo/domoticz/domoticz : OBJ_NAME_add + 0x63 [0xc10543]
2020-02-14 20:18:04.718 Error: #9 /home/domo/domoticz/domoticz : EVP_add_digest + 0x56 [0xc4ef76]
2020-02-14 20:18:04.718 Error: #10 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 : + 0x1554fb [0x7f35b84b44fb]
2020-02-14 20:18:04.719 Error: #11 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 : + 0x16ca79 [0x7f35b84cba79]
2020-02-14 20:18:04.719 Error: #12 /lib/x86_64-linux-gnu/libpthread.so.0 : + 0xe759 [0x7f35d92e7759]
2020-02-14 20:18:04.719 Error: #13 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 : CRYPTO_THREAD_run_once + 0x9 [0x7f35b8522759]
2020-02-14 20:18:04.720 Error: #14 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 : OPENSSL_init_crypto + 0x273 [0x7f35b84cbfb3]
2020-02-14 20:18:04.720 Error: #15 /usr/lib/python3.5/lib-dynload/_hashlib.cpython-35m-x86_64-linux-gnu.so : PyInit__hashlib + 0x21 [0x7f35c85f6b11]
2020-02-14 20:18:04.720 Error: #16 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : _PyImport_LoadDynamicModuleWithSpec + 0x180 [0x7f35d478b710]
2020-02-14 20:18:04.720 Error: #17 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x209fe7 [0x7f35d478efe7]
2020-02-14 20:18:04.721 Error: #18 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyCFunction_Call + 0xc9 [0x7f35d45f6259]
2020-02-14 20:18:04.721 Error: #19 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x78f2 [0x7f35d4726ff2]
2020-02-14 20:18:04.721 Error: #20 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.722 Error: #21 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x63df [0x7f35d4725adf]
2020-02-14 20:18:04.722 Error: #22 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.722 Error: #23 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.723 Error: #24 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.723 Error: #25 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.723 Error: #26 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.723 Error: #27 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCodeEx + 0x23 [0x7f35d47e9153]
2020-02-14 20:18:04.724 Error: #28 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0xf7558 [0x7f35d467c558]
2020-02-14 20:18:04.724 Error: #29 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyObject_Call + 0x47 [0x7f35d4758a37]
2020-02-14 20:18:04.724 Error: #30 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : _PyObject_CallMethodIdObjArgs + 0x22b [0x7f35d475ae1b]
2020-02-14 20:18:04.724 Error: #31 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyImport_ImportModuleLevelObject + 0x81a [0x7f35d478cffa]
2020-02-14 20:18:04.725 Error: #32 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x1a6248 [0x7f35d472b248]
2020-02-14 20:18:04.725 Error: #33 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyCFunction_Call + 0xe9 [0x7f35d45f6279]
2020-02-14 20:18:04.725 Error: #34 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyObject_Call + 0x47 [0x7f35d4758a37]
2020-02-14 20:18:04.725 Error: #35 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_CallObjectWithKeywords + 0x47 [0x7f35d47e7b77]
2020-02-14 20:18:04.726 Error: #36 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x40cb [0x7f35d47237cb]
2020-02-14 20:18:04.726 Error: #37 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.726 Error: #38 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCodeEx + 0x23 [0x7f35d47e9153]
2020-02-14 20:18:04.726 Error: #39 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCode + 0x1b [0x7f35d471f45b]
2020-02-14 20:18:04.726 Error: #40 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x1a72cd [0x7f35d472c2cd]
2020-02-14 20:18:04.726 Error: #41 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyCFunction_Call + 0xc9 [0x7f35d45f6259]
2020-02-14 20:18:04.727 Error: #42 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x78f2 [0x7f35d4726ff2]
2020-02-14 20:18:04.727 Error: #43 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.727 Error: #44 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x63df [0x7f35d4725adf]
2020-02-14 20:18:04.727 Error: #45 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.727 Error: #46 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.728 Error: #47 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.728 Error: #48 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.728 Error: #49 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCodeEx + 0x23 [0x7f35d47e9153]
2020-02-14 20:18:04.728 Error: #50 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0xf7558 [0x7f35d467c558]
2020-02-14 20:18:04.728 Error: #51 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyObject_Call + 0x47 [0x7f35d4758a37]
2020-02-14 20:18:04.729 Error: #52 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : _PyObject_CallMethodIdObjArgs + 0x22b [0x7f35d475ae1b]
2020-02-14 20:18:04.729 Error: #53 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyImport_ImportModuleLevelObject + 0x81a [0x7f35d478cffa]
2020-02-14 20:18:04.729 Error: #54 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x1a6248 [0x7f35d472b248]
2020-02-14 20:18:04.729 Error: #55 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyCFunction_Call + 0xe9 [0x7f35d45f6279]
2020-02-14 20:18:04.729 Error: #56 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyObject_Call + 0x47 [0x7f35d4758a37]
2020-02-14 20:18:04.730 Error: #57 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_CallObjectWithKeywords + 0x47 [0x7f35d47e7b77]
2020-02-14 20:18:04.730 Error: #58 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x40cb [0x7f35d47237cb]
2020-02-14 20:18:04.730 Error: #59 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.730 Error: #60 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCodeEx + 0x23 [0x7f35d47e9153]
2020-02-14 20:18:04.730 Error: #61 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCode + 0x1b [0x7f35d471f45b]
2020-02-14 20:18:04.730 Error: #62 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x1a72cd [0x7f35d472c2cd]
2020-02-14 20:18:04.731 Error: #63 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyCFunction_Call + 0xc9 [0x7f35d45f6259]
2020-02-14 20:18:04.731 Error: #64 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x78f2 [0x7f35d4726ff2]
2020-02-14 20:18:04.731 Error: #65 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.731 Error: #66 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x63df [0x7f35d4725adf]
2020-02-14 20:18:04.731 Error: #67 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.731 Error: #68 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.731 Error: #69 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.731 Error: #70 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.731 Error: #71 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCodeEx + 0x23 [0x7f35d47e9153]
2020-02-14 20:18:04.731 Error: #72 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0xf7558 [0x7f35d467c558]
2020-02-14 20:18:04.731 Error: #73 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyObject_Call + 0x47 [0x7f35d4758a37]
2020-02-14 20:18:04.732 Error: #74 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : _PyObject_CallMethodIdObjArgs + 0x22b [0x7f35d475ae1b]
2020-02-14 20:18:04.732 Error: #75 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyImport_ImportModuleLevelObject + 0x81a [0x7f35d478cffa]
2020-02-14 20:18:04.732 Error: #76 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x1a6248 [0x7f35d472b248]
2020-02-14 20:18:04.732 Error: #77 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyCFunction_Call + 0xe9 [0x7f35d45f6279]
2020-02-14 20:18:04.732 Error: #78 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyObject_Call + 0x47 [0x7f35d4758a37]
2020-02-14 20:18:04.732 Error: #79 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_CallObjectWithKeywords + 0x47 [0x7f35d47e7b77]
2020-02-14 20:18:04.732 Error: #80 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x40cb [0x7f35d47237cb]
2020-02-14 20:18:04.732 Error: #81 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.732 Error: #82 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCodeEx + 0x23 [0x7f35d47e9153]
2020-02-14 20:18:04.732 Error: #83 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCode + 0x1b [0x7f35d471f45b]
2020-02-14 20:18:04.732 Error: #84 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x1a72cd [0x7f35d472c2cd]
2020-02-14 20:18:04.732 Error: #85 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyCFunction_Call + 0xc9 [0x7f35d45f6259]
2020-02-14 20:18:04.732 Error: #86 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x78f2 [0x7f35d4726ff2]
2020-02-14 20:18:04.732 Error: #87 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.732 Error: #88 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x63df [0x7f35d4725adf]
2020-02-14 20:18:04.732 Error: #89 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.732 Error: #90 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.732 Error: #91 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.733 Error: #92 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.733 Error: #93 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCodeEx + 0x23 [0x7f35d47e9153]
2020-02-14 20:18:04.734 Error: #94 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0xf7558 [0x7f35d467c558]
2020-02-14 20:18:04.734 Error: #95 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyObject_Call + 0x47 [0x7f35d4758a37]
2020-02-14 20:18:04.734 Error: #96 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : _PyObject_CallMethodIdObjArgs + 0x22b [0x7f35d475ae1b]
2020-02-14 20:18:04.735 Error: #97 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyImport_ImportModuleLevelObject + 0x81a [0x7f35d478cffa]
2020-02-14 20:18:04.735 Error: #98 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x1a6248 [0x7f35d472b248]
2020-02-14 20:18:04.735 Error: #99 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyCFunction_Call + 0xe9 [0x7f35d45f6279]
2020-02-14 20:18:04.735 Error: #100 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x78f2 [0x7f35d4726ff2]
2020-02-14 20:18:04.736 Error: #101 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.736 Error: #102 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x63df [0x7f35d4725adf]
2020-02-14 20:18:04.736 Error: #103 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.737 Error: #104 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCodeEx + 0x23 [0x7f35d47e9153]
2020-02-14 20:18:04.737 Error: #105 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0xf7558 [0x7f35d467c558]
2020-02-14 20:18:04.737 Error: #106 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyObject_Call + 0x47 [0x7f35d4758a37]
2020-02-14 20:18:04.738 Error: #107 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : _PyObject_CallMethodIdObjArgs + 0x22b [0x7f35d475ae1b]
2020-02-14 20:18:04.738 Error: #108 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyImport_ImportModuleLevelObject + 0x645 [0x7f35d478ce25]
2020-02-14 20:18:04.738 Error: #109 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x1a6248 [0x7f35d472b248]
2020-02-14 20:18:04.738 Error: #110 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyCFunction_Call + 0xe9 [0x7f35d45f6279]
2020-02-14 20:18:04.739 Error: #111 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyObject_Call + 0x47 [0x7f35d4758a37]
2020-02-14 20:18:04.739 Error: #112 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_CallObjectWithKeywords + 0x47 [0x7f35d47e7b77]
2020-02-14 20:18:04.739 Error: #113 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x40cb [0x7f35d47237cb]
2020-02-14 20:18:04.739 Error: #114 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.740 Error: #115 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCodeEx + 0x23 [0x7f35d47e9153]
2020-02-14 20:18:04.740 Error: #116 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCode + 0x1b [0x7f35d471f45b]
2020-02-14 20:18:04.740 Error: #117 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x1a72cd [0x7f35d472c2cd]
2020-02-14 20:18:04.740 Error: #118 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyCFunction_Call + 0xc9 [0x7f35d45f6259]
2020-02-14 20:18:04.741 Error: #119 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x78f2 [0x7f35d4726ff2]
2020-02-14 20:18:04.741 Error: #120 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.741 Error: #121 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x63df [0x7f35d4725adf]
2020-02-14 20:18:04.742 Error: #122 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.742 Error: #123 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.742 Error: #124 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalFrameEx + 0x7fad [0x7f35d47276ad]
2020-02-14 20:18:04.742 Error: #125 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0x264074 [0x7f35d47e9074]
2020-02-14 20:18:04.742 Error: #126 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : PyEval_EvalCodeEx + 0x23 [0x7f35d47e9153]
2020-02-14 20:18:04.742 Error: #127 /usr/lib/x86_64-linux-gnu/libpython3.5m.so : + 0xf7558 [0x7f35d467c558]

Problem after Domoticz Update

Hi. I just did an update in domoticz, now there is always an error message.

startup, retrying !!
2020-02-02 13:20:12.044 Error: (deconz) Wrong startup, retrying !!
2020-02-02 13:20:22.025 Error: (deconz) Wrong startup, retrying !!
2020-02-02 13:20:32.048 Error: (deconz) Wrong startup, retrying !!
2020-02-02 13:20:42.037 Error: (deconz) Wrong startup, retrying !!

get api key

Hi, I had an issue creating an API key.
It appears that the command is wrong in read_me:

python3 API.py 127.0.0.1:80 create

should be

python3 API_KEY.py 127.0.0.1:80 create

Release of button not as event posted

Pressing a Aqara switch, give intimidate event to domoticz about the pressed state. However, when the button is released, this is not event based but poll based as it is updated at "onHeartbeat ".

This creates a problem when using the Aqara switch as a toggle button for a light; pressing the Aqara button, triggers the Blocky to execute the function to toggle the light. But the Blocky gets executed many times until the Aqara switch state is changed by OnHeartbeat to released.

2019-07-10 15:05:42.435 (Deconz) onHeartbeat called
2019-07-10 15:05:42.436 (Deconz) ### Update device (Deconz - Transmitter 2-gang) : {'nValue': 0, 'sValue': 'Off'}

Smoke sensor not updates status

HI,

smoke sensor does not properly update status. It is created properly.
Of course in fonctions.py following lines were missing:

if command == 'fire':
if val == 'True':
kwarg['nValue'] = 1
kwarg['sValue'] = 'On'
else:
kwarg['nValue'] = 0
kwarg['sValue'] = 'Off'
👍
Log from domoticz attached.
smoke2.txt
From deconz github it seems that it is partially implemented and works in home assitant.
dresden-elektronik/deconz-rest-plugin#152
any idea how to make it work in domoticz?
What else I can provide to make it work?

Adam

Add setting for HeartBeat ?

Need some test to check if this feature is usefull or not

Here a script that need it

return {
	on = {
		devices = {
			'Conbee dongle - Livingroom Switch'
		}
	},
	execute = function(domoticz, device)
		local dimDevice = domoticz.devices('Bedroom Ceiling Light');
		local dimLevel = dimDevice.level;
		local delay = 0
		
		if device.state == "hold"  then
			repeat
				delay = delay + 0.15
				dimLevel = dimLevel - 10
				domoticz.log('Set ' .. dimDevice.name .. ' to dimLevel '.. dimLevel .. '%, after ' .. delay .. ' seconds', domoticz.LOG_INFO)
				dimDevice.dimTo(dimLevel).afterSec(delay)
			until dimLevel <= 0
		elseif device.state == "Off" then
			domoticz.log('Stop dimming of ' .. dimDevice.name, domoticz.LOG_INFO)
			dimDevice.cancelQueuedCommands()
			if dimDevice.level == 0 then
				dimDevice.switchOff()
			end
		end  
		domoticz.log('dimLevel ' .. dimLevel, domoticz.LOG_INFO)
		domoticz.log('Device ' .. device.name .. ' was changed', domoticz.LOG_INFO)
	end

We have the problem with Aquara single Gang

@markiboy2all

This device is not made for that, just by curiosity, waht happen if you use long press during 15s ? It will reset the device ?
I can't trigger the "hold"on my devices (IDK why, however I have the 2 versions), you need to press for more than 3s ? and you will have only 1 websocket return ?

Because I m trying to understand how work your script. If the heartbeat is set a 1s.

You hold the button
You have the "hold" event
1 s after the code set the device to false using heartbeat
and after ....

Deconz will not send again the "hold" event ? So the device state will be to "off" event you are keeping the pression nope ?

Wrongly created Xiaomi water leak sensor

Hi,

Your script wrongly creates xiaomi leak sensor.
It creates it as a flow l/min and it should be created as smoke sensor (like original xiaomi gateway - in domoticz there is no leak sensor).

2019-01-20 21:13:19.171 (Deconz zigbee) ###### WebSocket Data : {'id': '34', 'uniqueid': '00:15:8d:00:01:d7:87:0e-01-0500', 't': 'event', 'state': {'lastupdated': '2019-01-20T20:13:19', 'water': True, 'lowbattery': False, 'tampered': False}, 'r': 'sensors', 'e': 'changed'}

Adam

Xiaomi Vibration Sensor - missing Temperature in DZ

I am running Domoticz 4.10730, Domoticz-deCONZ 1.0.11, Dresden ConBee 2 firmware 26490700, Phoscon 2.05.69.

I have 2 Xiaomi Temp/Hum, 1 Xiaomi Vibration, 1 Xiaomi Motion, 2 IKEA Bulbs and 1 IKEA motion.

My problem is Xiaomi Vibration. I get motion detection to Domoticz but not the temperature. I see a temperature value in Phoscon. Is it possible to get Temperature to Domoticz?

Wrong startup, retrying

I changed the port of my phoscon interface today and thought I'd just have to change the port in the plugin and generate a new API Key. Unfortunately I keep getting:
Erro: Wrong startup, retrying
Any suggestions what to try next? Can't turn on my dining room lights now 👍

[Q] Resetting Phoscon - same or new device in Domoticz?

Hello,

I've some massive issues in deCONZ(segmentation fault, can't readd some devices, almost no switch is working anymore) so I plan to reset my gateway and see it it helps.
What impact will this have on my domoticz devices? Like the history of my sensors - will the the sensor once paired with deCONZ get the same device id in domoticz or do I've to readd all devices in domoticz again and loose the history?

Thanks!

Plugin not loading

Followed instructions, did git pull in plugins/ dir (not plugin!), restarted domoticz but i don't see it in the hardware list. Any way to find out why?

Devices cannot be created

After configuring deconz and adding hardware , devices are no creating.
I have an error :

2019-09-26 20:51:35.685 Error: (Conbee) Wrong startup, retrying !!

Full logs:

2019-09-26 20:51:35.651 (Conbee) Pushing 'onHeartbeatCallback' on to queue
2019-09-26 20:51:35.670 (Conbee) Processing 'onHeartbeatCallback' message
2019-09-26 20:51:35.670 (Conbee) Calling message handler 'onHeartbeat'.
2019-09-26 20:51:35.670 (Conbee) onHeartbeat called
2019-09-26 20:51:35.670 (Conbee) ### Initialisation > config
2019-09-26 20:51:35.670 (Conbee) ### Request config
2019-09-26 20:51:35.670 (Conbee) Send Command /api/49F1F1BBE9/config/ with None (0 in buffer)
2019-09-26 20:51:35.670 (Conbee) Making Request : http://192.168.0.110:80/api/49F1F1BBE9/config/ with params None
2019-09-26 20:51:35.684 (Conbee) Request Return : {"UTC":"2019-09-26T18:51:20","apiversion":"1.16.0","backup":{"errorcode":0,"status":"idle"},"bridgeid":"00212EFFFF04F2F2","datastoreversion":"60","dhcp":true,"factorynew":false,"fwversion":"0x00000000","gateway":"192.168.0.1","internetservices":{"remoteaccess":"disconnected"},"ipaddress":"192.168.0.110","linkbutton":false,"localtime":"2019-09-26T20:51:20","mac":"d0:7e:35:00:e2:36","modelid":"deCONZ","name":"deconz","netmask":"255.255.255.0","networkopenduration":60,"panid":0,"portalconnection":"disconnected","portalservices":false,"portalstate":{"communication":"disconnected","incoming":false,"outgoing":false,"signedon":false},"proxyaddress":"none","proxyport":0,"replacesbridgeid":null,"rfconnected":false,"starterkitid":"","swupdate":{"checkforupdate":false,"devicetypes":{"bridge":false,"lights":[],"sensors":[]},"notify":false,"text":"","updatestate":0,"url":""},"swupdate2":{"autoinstall":{"on":false,"updatetime":""},"bridge":{"lastinstall":"2019-09-06T16:58:29","state":"noupdates"},"checkforupdate":false,"install":false,"lastchange":"","lastinstall":"","state":"noupdates"},"swversion":"2.5.69","timeformat":"12h","timezone":"none","uuid":"5c297ffb-261a-4db3-8207-7c415b607c4e","websocketnotifyall":true,"websocketport":443,"whitelist":{"2923BE84E1":{"create date":"2019-09-26T16:51:36","last use date":"2019-09-26T18:41:04","name":"Phoscon#B980x1087"},"49F1F1BBE9":{"create date":"2019-09-26T17:36:13","last use date":"2019-09-26T18:51:20","name":"Domoticz"},"6CD6AE5290":{"create date":"2019-09-26T17:16:24","last use date":"2019-09-26T17:36:41","name":"Domoticz"},"DB3C870C3E":{"create date":"2019-09-26T10:10:01","last use date":"2019-09-26T11:12:37","name":"Phoscon#B1366x625"}},"zigbeechannel":0}
2019-09-26 20:51:35.685 (Conbee) Classic Data : {'replacesbridgeid': None, 'proxyport': 0, 'portalservices': False, 'name': 'deconz', 'timezone': 'none', 'websocketport': 443, 'swupdate': {'checkforupdate': False, 'text': '', 'updatestate': 0, 'devicetypes': {'lights': [], 'sensors': [], 'bridge': False}, 'notify': False, 'url': ''}, 'zigbeechannel': 0, 'portalconnection': 'disconnected', 'apiversion': '1.16.0', 'whitelist': {'49F1F1BBE9': {'name': 'Domoticz', 'create date': '2019-09-26T17:36:13', 'last use date': '2019-09-26T18:51:20'}, 'DB3C870C3E': {'name': 'Phoscon#B1366x625', 'create date': '2019-09-26T10:10:01', 'last use date': '2019-09-26T11:12:37'}, '2923BE84E1': {'name': 'Phoscon#B980x1087', 'create date': '2019-09-26T16:51:36', 'last use date': '2019-09-26T18:41:04'}, '6CD6AE5290': {'name': 'Domoticz', 'create date': '2019-09-26T17:16:24', 'last use date': '2019-09-26T17:36:41'}}, 'timeformat': '12h', 'rfconnected': False, 'backup': {'status': 'idle', 'errorcode': 0}, 'localtime': '2019-09-26T20:51:20', 'swupdate2': {'checkforupdate': False, 'install': False, 'autoinstall': {'updatetime': '', 'on': False}, 'lastchange': '', 'lastinstall': '', 'bridge': {'lastinstall': '2019-09-06T16:58:29', 'state': 'noupdates'}, 'state': 'noupdates'}, 'portalstate': {'outgoing': False, 'signedon': False, 'communication': 'disconnected', 'incoming': False}, 'uuid': '5c297ffb-261a-4db3-8207-7c415b607c4e', 'internetservices': {'remoteaccess': 'disconnected'}, 'panid': 0, 'modelid': 'deCONZ', 'ipaddress': '192.168.0.110', 'bridgeid': '00212EFFFF04F2F2', 'UTC': '2019-09-26T18:51:20', 'linkbutton': False, 'proxyaddress': 'none', 'swversion': '2.5.69', 'mac': 'd0:7e:35:00:e2:36', 'gateway': '192.168.0.1', 'factorynew': False, 'fwversion': '0x00000000', 'networkopenduration': 60, 'datastoreversion': '60', 'starterkitid': '', 'netmask': '255.255.255.0', 'websocketnotifyall': True, 'dhcp': True}

2019-09-26 20:51:35.685 Error: (Conbee) Wrong startup, retrying !!

Error: (deCONZ) WebSocket Disconnected, reconnexion

Since yesterday i have a logging issue.
I don't wat exactly happend, I have upgraded this plugin, and I have upgraded deConz.

Since then, the following loop is happend all day long:

2019-11-12 06:04:43.540 (deCONZ) Queued asyncronous read aborted (DECONZ_IP:443).
2019-11-12 06:04:43.587 (deCONZ) Disconnect event received for 'DECONZ_IP:443'.
2019-11-12 06:04:43.587 Status: (deCONZ) onDisconnect called for deCONZ_WebSocket
2019-11-12 06:04:48.096 (deCONZ) Transport set to: 'TCP/IP', DECONZ_IP:443.
2019-11-12 06:04:48.096 (deCONZ) Connect directive received, action initiated successfully.
2019-11-12 06:04:48.146 (deCONZ) Sending 221 bytes of data
2019-11-12 06:04:48.197 (deCONZ) Received 351 bytes of data
2019-11-12 06:04:48.197 (deCONZ) Websocket Handshake : HTTP/1.1 101 Switching Protocols ***Upgrade: websocket ***Connection: Upgrade ***Sec-WebSocket-Accept: SOMETHING_BASE64 ***Server: deconz ***Access-Control-Allow-Credentials: false ***Access-Control-Allow-Methods: GET ***Access-Control-Allow-Headers: content-type ***Access-Control-Allow-Origin: http://DOMOTICZ_IP ***Date: Tue, 12 Nov 2019 05:04:48 GMT *** ***
2019-11-12 06:04:48.146 Status: (deCONZ) Launching websocket on port 443
2019-11-12 06:04:48.095 Error: (deCONZ) WebSocket Disconnected, reconnexion !

Tech specs:

  • Raspberry Pi 3B+ with Domoticz 4.10717
  • Raspberry Pi 3B with deCONZ 2.05.70 / Firmware 0x26490700
  • deCONZ plugin 1.0.11

What I noticed is that the Firmware version in Phoscon App is sometimes not connected.

API Key "unauthenticated user"

Hey,
I'm new to deCONZ and RaspBee and tried to link my RaspBee with Domoticz over the weekend. However, your plugin could not connect to my RaspBee because apparently my API key is not correct. Can you tell me where to get this?
Thanks :)

Combine 2 domoticz innr devices

I have a powerplug the SP120 from innr and in domoticz i have a sensor for watt and a sensor for kwh.

How can i combine these 2 into one sensor?
Has anyone has a script like the temperature sensor?

Multisensor issue

Hello,
I'm using Xiaomi temp sensor that also provides humidity and atmospheric pressure.
This device is seen as a multisensor device in Phoscon app, but as 3 independent devices in Domoticz using the plugin. I would like to have them combined (at least temp and humidity) so that Domoticz can calculate the dew point as it was when I was previously using Xiaomi gateway. Is there a way to fix this issue?
Best regards
Patrice

Error with plugin.py and fonctions

Hi,
Thx for your plugin.
Can you tell me what's going wrong in Domoticz with your plugin. I can see all the devices from DeCONZ in Domoticz but they don't react

2019-01-19 15:36:15.006 Error: (Sensoren) 'onMessage' failed 'ZeroDivisionError':'integer division or modulo by zero'.
2019-01-19 15:36:15.007 Error: (Sensoren) ----> Line 704 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py', function onMessage
2019-01-19 15:36:15.007 Error: (Sensoren) ----> Line 191 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py', function onMessage
2019-01-19 15:36:15.007 Error: (Sensoren) ----> Line 502 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py', function NormalConnexion
2019-01-19 15:36:15.007 Error: (Sensoren) ----> Line 390 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/plugin.py', function InitDeconz
2019-01-19 15:36:15.007 Error: (Sensoren) ----> Line 198 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/fonctions.py', function ProcessAllState
2019-01-19 15:36:15.007 Error: (Sensoren) ----> Line 268 in '/home/pi/domoticz/plugins/Domoticz-deCONZ/fonctions.py', function ReturnUpdateValue

Thx in advance
Gr Stefan

IndentationError API_KEY

can't create the apikey don't know what is going wrong.

$ python3 API_KEY.py 127.0.0.1:80 create
  File "API_KEY.py", line 7
    from urllib import request, parse
       ^
IndentationError: expected an indented block
6|  try:
7|     from urllib import request, parse

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.