npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

iobroker.sonoff

v3.2.1

Published

The adapter allows to send and receive MQTT messages from ioBroker and to be a broker.

Downloads

8,752

Readme

Logo

ioBroker Sonoff

Number of Installations Number of Installations NPM version

Test and Release Translation status Downloads

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.

Comparison of ioBroker adapters using MQTT protocol

If you only have Tasmotas speaking MQTT protocol go for ioBroker.sonoff. For other scenarios, consider the different options:

| Feature | ioBroker.sonoff | ioBroker.mqtt (in broker mode) | ioBroker.mqtt (in client mode) | ioBroker.mqtt-client | |-----------------------------------------------|------------------|-------------------------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------------------------------------------| | Has a built-in MQTT broker | yes | yes | no | no | | Relays messages to other MQTT subscribers | NO!!! | yes | not applicable | not applicable | | External MQTT broker | unsupported | unsupported | required | required | | Tasmota MQTT messages to ioBroker Objects | smart processing | 1:1 processing of all messages | 1:1 processing of subscribed messages | 1:1 processing of subscribed messages | | non-Tasmota MQTT messages to ioBroker Objects | no processing | 1:1 processing of all messages | 1:1 processing of subscribed messages | 1:1 processing of subscribed messages | | publish ioBroker values as MQTT messages | none | configured subtrees | configured subtrees | individually configured values |

Usage

This adapter communicates with Sonoff devices with Tasmota firmware or ESP devices via MQTT.

The following topics are expected:

  • tele/DeviceNAME/STATE
  • tele/DeviceNAME/SENSOR
  • tele/DeviceNAME/INFOx
  • tele/DeviceNAME/ENERGY
  • cmnd/DeviceNAME/POWERx
  • stat/DeviceNAME/POWERx
  • /DeviceNAME/BM280/Temperature
  • /DeviceNAME/BM280/Humidity
  • /DeviceNAME/BM280/Temperatur
  • /DeviceNAME/BM280/Feuchtigkeit
  • /DeviceNAME/BM280/Vcc
  • /DeviceNAME/BM280/VCC
  • /DeviceNAME/BM280/Laufzeit
  • /DeviceNAME/BM280/RSSI
  • /DeviceNAME/BM280/POWER
  • /DeviceNAME/BM280/POWER1
  • /DeviceNAME/BM280/POWER2
  • /DeviceNAME/BM280/POWER3
  • /DeviceNAME/BM280/POWER4
  • /DeviceNAME/BM280/Switch1
  • /DeviceNAME/BM280/Switch2
  • /DeviceNAME/BM280/Total
  • /DeviceNAME/BM280/Today
  • /DeviceNAME/BM280/heute
  • /DeviceNAME/BM280/Yesterday
  • /DeviceNAME/BM280/gestern
  • /DeviceNAME/BM280/Faktor
  • /DeviceNAME/BM280/Factor
  • /DeviceNAME/BM280/Power
  • /DeviceNAME/BM280/Leistung
  • /DeviceNAME/BM280/Voltage
  • /DeviceNAME/BM280/Spannung
  • /DeviceNAME/BM280/Current
  • /DeviceNAME/BM280/Strom
  • /DeviceNAME/BM280/Punkt
  • /DeviceNAME/BM280/Counter1
  • /DeviceNAME/BM280/Counter2
  • /DeviceNAME/BM280/Counter3
  • /DeviceNAME/BM280/Counter4
  • /DeviceNAME/BM280/Pressure
  • /DeviceNAME/BM280/SeaPressure
  • /DeviceNAME/BM280/Druck
  • /DeviceNAME/BM280/Approx. Altitude
  • /DeviceNAME/BM280/Module
  • /DeviceNAME/BM280/Version
  • /DeviceNAME/BM280/Hostname
  • /DeviceNAME/BM280/IPAddress
  • /DeviceNAME/BM280/IPaddress
  • /DeviceNAME/BM280/RestartReason
  • /DeviceNAME/BM280/CarbonDioxide
  • /DeviceNAME/DHT11/Illuminance
  • /DeviceNAME/SonoffSC/Light
  • /DeviceNAME/SonoffSC/Noise
  • /DeviceNAME/SonoffSC/AirQuality
  • /DeviceNAME/SDS0X1/PM2.5
  • /DeviceNAME/SDS0X1/PM10
  • /DeviceNAME/SDS0X1/UvLevel
  • /DeviceNAME/SDS0X1/Latitude
  • /DeviceNAME/SDS0X1/Longitude
  • /DeviceNAME/SR04/Distance

Note: The list could be easily extended. Please send Pull Requests or debug data for unknown states to the developer (via issue).

Auto-creation of objects

In the web config, you can determine which MQTT telegrams create the new objects not in default data points:

  • TELE_SENSOR - creates objects from tele/xxx/SENSOR telegrams
  • TELE_STATE - creates objects from tele/xxx/STATE telegrams
  • STAT_RESULT - creates objects from stat/xxx/RESULT telegrams

Usually TELE_SENSOR should be sufficient for most users.

  • Create object tree creates objects as tree structure

Warning! This option will mess up your sonoff object tree! You have to redo all the settings for storage... Store the object structure as JSON file, so you can recreate your old structure. Best is to stop the adapter, delete all objects under sonoff and start the adapter again.

Flags for LED controllers

The mode states will be created only if the device has one of the states:

  • Red, Green, Blue, WW, CW, Color, RGB_POWER, WW_POWER, CW_POWER, Hue, Saturation

States:

  • modeLedExor - exor for white LEDs and color LEDs => if the white LEDs are switched on, color LEDs are switched off and vice versa (default true)
  • modeReadColors - allow for color read from MQTT (default false)

Changelog

3.2.1 (2024-10-07)

  • (bluefox) Sanitize the IDs of the clients

3.2.0 (2024-08-28)

  • (bluefox) Added information about connected clients in the server mode

3.1.2 (2024-08-17)

  • (mattreim) updated packages

3.1.1 (2024-08-09)

  • (mattreim) updated packages

3.1.0 (2024-05-25)

  • Important: Node.js 18.x and js-controller 5.0.19+ are necessary at minimum
  • (mattreim) upgraded states for Tasmota 13.4.0.3 20240402
  • (mattreim) enhanced some log messages
  • (mattreim) Added PWM Items
  • (Apollon77) Fixed QoS handling to prevent invalid resubmissions
  • (Apollon77) Prevent creation of storeMap property in common and cleanup

3.0.3 (2023-09-25)

  • (bluefox/Bettman66) Added migration of password on JSON Config

2.5.7 (2023-07-07)

  • (mcm1957) Disabled the logging of username and password during connection errors
  • (bluefox) added json config

2.5.3 (2023-03-30)

  • (GreatSUN) Implemented potential .STATE.POWER update

2.5.1 (2022-04-23)

  • (Apollon77) Fixed the crash case reported by Sentry

2.5.0 (2022-03-21)

  • (GreatSUN) Implement writing of NSPanel Widget changes
  • (Apollon77) Fixed the crash case reported by Sentry

2.4.7 (2021-11-14)

  • (Apollon77) Fix crash case (Sentry IOBROKER-SONOFF-1S)

2.4.6 (2021-11-13)

  • (Apollon77) Fix some crash cases reported by Sentry (IOBROKER-SONOFF-B, IOBROKER-SONOFF-R, IOBROKER-SONOFF-4, IOBROKER-SONOFF-1, IOBROKER-SONOFF-13, IOBROKER-SONOFF-1J, IOBROKER-SONOFF-16, IOBROKER-SONOFF-3, IOBROKER-SONOFF-H)
  • (Apollon77) Adjust Uptime to mixed because it seems that it can be number or string

2.4.5 (2021-07-21)

  • (Apollon77) Fix some crash cases reported by Sentry

2.4.4 (2021-07-19)

  • (bluefox) Added UvaIntensity and UvbIntensity

2.4.3 (2021-07-18)

  • (bluefox) Better type detection for non-described states

2.4.2 (2021-07-17)

  • (bluefox) Optimize for js-controller 3.3

2.4.1 (2021-07-17)

  • (Apollon77/bluefox) Optimize for js-controller 3.3
  • (Apollon77) Add Sentry for error reporting with js-controller 3.x+

2.4.0 (2021-02-04)

  • (anwa) add several data points
  • (anwa) Fix translation for 'ignorePings'
  • (anwa) Fixed the wrong unit for humidity
  • (anwa) Config option to create a complete object tree instead of a flat structure
  • (anwa) Change Action type to string
  • (Apollon77) js-controller 2.0 is required at least

2.3.3 (2019-11-27)

  • (bluefox) Error with the empty packet was caught

2.3.2 (2019-10-23)

  • (bluefox) Fixed the password input in the configuration
  • (bluefox) Allowed setting the IP interface for server
  • (bluefox) Fixed tests for js-controller 2.0
  • (bluefox) Fixed the monitoring of the client connection
  • (bluefox) Changed "indicator.connected" to "indicator.reachable" for clients
  • (bluefox) Supported {POWERn: "true"}
  • (bluefox) Correct processing of {temp: nan}

2.2.3 (2019-01-10)

  • (simatec) Support for compact mode

2.2.2 (2018-06-22)

  • (bluefox) Configuration was fixed

2.2.1 (2018-06-20)

  • (bluefox) '-' in names was allowed again

2.2.0 (2018-05-22)

  • (gemu2015) auto generate objects, support for arrays (channel), led-controllers improved

2.1.3 (2018-05-08)

  • (bluefox) Added HC-SR04 Ultrasonic Sensor

2.1.2 (2018-04-23)

  • (bluefox) Added support of UvLight, Longitude and Latitude

2.1.1 (2018-04-13)

  • (bluefox) Support of the particle concentration sensor

2.1.0 (2018-03-30)

  • (gemu2015) Support of the devices control (many thanks :)
  • (gemu2015) Support of many new values
  • (modmax) Update alive status of the clients
  • (modmax) Added POWER5-8 and Switch3-4

2.0.2 (2018-03-19)

  • (modmax) Fixing reconnection of clients
  • (bluefox) Add SeaPressure

2.0.1 (2018-03-17)

  • (bluefox) Replace stream handler
  • (bluefox) Add timeout for clients
  • (bluefox) Add Light/Noise/AirQuality
  • (bluefox) Do not send pingresp for invalid clients

1.0.3 (2018-03-03)

  • (bluefox) Add Analog0/1/2/3 sensor

1.0.2 (2018-02-17)

  • (Apollon77) Add Illuminance sensor

1.0.1 (2018-02-05)

  • (bluefox) Ready for admin3
  • (bluefox) Added CO2 sensor

1.0.0 (2017-11-27)

  • (AlZiBa) typo @ alive
  • (AlZiBa) add Today's power consumption for Sonoff POW
  • (AlZiBa) unit of power consumption is kWh

0.3.3 (2017-11-03)

  • (bluefox) Add counters

0.3.2 (2017-10-22)

  • (Tan-DE) Small change for Switch1. Switch2 and additional IPaddress added.

0.3.1 (2017-10-12)

  • (bluefox) Fix tests and LWT

0.3.0 (2017-10-06)

  • (bluefox) Add INFO and ESP

0.2.0 (2017-10-05)

  • (bluefox) Add ENERGY and DS18x20

0.1.0 (2017-10-01)

  • (bluefox) initial commit

License

The MIT License (MIT)

Copyright (c) 2017-2024, bluefox [email protected]

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.