Giter VIP home page Giter VIP logo

sonoff-snzb-02-temperature-and-humidity-sensor's Introduction

SONOFF-SNZB-02-Temperature-and-humidity-sensor

Поблагодарить автора: https://www.donationalerts.com/r/efektalab

Thank the author: http://www.donationalerts.ru/r/EfektaLab

Телеграм чат DIY Devices - https://t.me/diy_devices

Продажа DIY Устройств - https://t.me/diydevmart

Альтернативная версия встроенного ПО для датчика температуры и влажности SONOFF SNZB-02. Регулируемый интервал сна через сеть zigbee, функциональность термостата и гидростата, стандартные кластеры температуры и влажности, поддержка привязки. Аппаратное обеспечение 252530, hdc1080. (RU)

An alternative firmware version for the SONOFF SNZB-02 temperature and humidity sensor. Adjustable sleep interval via zigbee network, thermostat and hydrostat functionality, standard temperature and humidity clusters, binding support. Hardware сс2530, hdc1080. (ENG)

Video:

Telegram DiyDev - https://t.me/diy_devices

Order PCB of others for my projects - https://www.pcbway.com/setinvite.aspx?inviteid=550959

SONOFF SNZB-02 Temperature and humidity sensor

SONOFF SNZB-02 Temperature and humidity sensor

SONOFF SNZB-02 Temperature and humidity sensor

SONOFF SNZB-02 Temperature and humidity sensor

SONOFF SNZB-02 Temperature and humidity sensor


How to flash the device

  1. Download the Smart RF Flash Programmer V1 https://www.ti.com/tool/FLASH-PROGRAMMER

  2. Open the application select the HEX firmware file

  3. Connect the device with wires to CCDebugger, first erase the chip, then flash it.


How to install IAR

https://github.com/ZigDevWiki/zigdevwiki.github.io/blob/main/docs/Begin/IAR_install.md

https://github.com/sigma7i/zigbee-wiki/wiki/zigbee-firmware-install (RU)


How to add support yourself in MJD

  1. https://github.com/smartboxchannel/Plant-Watering-Sensor-Zigbee/blob/main/majordomo-zigbee2mqtt/README.md (MJD https://mjdm.ru/)

How to join:

If device in FN(factory new) state:

one way
  1. Open z2m, make sure that joining is prohibited
  2. Insert the battery into the device
  3. Click on the icon in z2m - allow joining (you have 300 seconds to add the device)
  4. Go to the LOGS tab
  5. Press the reset button on the device (the join procedure will begin, еhe device starts flashing the LED repeatedly)
another way
  1. Open z2m, make sure that joining is prohibited
  2. Insert the battery into the device
  3. Click on the icon in z2m - allow joining (you have 300 seconds to add the device)
  4. Go to the LOGS tab
  5. Press and hold button (1) for 2-3 seconds, until device start flashing the LED repeatedly

If device in a network:

one way
  1. Hold button (1) for 10 seconds, this will reset device to FN(factory new) status
  2. Click on the icon in z2m - allow joining (you have 180 seconds to add the device)
  3. Go to the LOGS tab
  4. Press and hold button (1) for 2-3 seconds, until device start flashing the LED repeatedly
another way
  1. Find the device in the list of z2m devices and delete it by applying force remove
  2. Click on the icon in z2m - allow joining (you have 300 seconds to add the device)
  3. Go to the LOGS tab
  4. Press the reset button on the device (the join procedure will begin, еhe device starts flashing the LED repeatedly)

How to configure:

  1. Open configuration.yaml in the editor.
  2. Find the friendly_name of your device.
  3. For example to add a temperature calibration you need to add the string temperature_calibration: 5.

Plant-Watering-Sensor-Zigbee2

Troubleshooting

If a device does not connect to your coordinator, please try the following:

  1. Power off all routers in your network.
  2. Move the device near to your coordinator (about 1 meter). or if you cannot disable routers (for example, internal switches), you may try the following: 2.1. Disconnect an external antenna from your coordinator. 2.2. Move a device to your coordinator closely (1-3 centimeters).
  3. Power on, power on the device.
  4. Restart your coordinator (for example, restart Zigbee2MQTT if you use it).

If the device has not fully passed the join

  1. If the device is visible in the list of z2m devices, remove it by applying force remove
  2. Restart your coordinator (for example, restart Zigbee2MQTT if you use it).
  3. Click on the icon in z2m - allow joining (you have 180 seconds to add the device)
  4. Go to the LOGS tab
  5. Press and hold button (1) for 2-3 seconds, until device start flashing the LED repeatedly
  6. Wait, in case of successfull join, device will flash led 5 times, if join failed, device will flash led 2 times

Other checks

Please, ensure the following:

  1. Your power source is OK (a battery has more than 3V). You can temporarily use an external power source for testings (for example, from a debugger).
  2. The RF part of your E18 board works. You can upload another firmware to it and try to pair it with your coordinator. Or you may use another coordinator and build a separate Zigbee network for testing.
  3. Your coordinator has free slots for direct connections.
  4. You permit joining on your coordinator.
  5. Your device did not join to other opened Zigbee network. When you press and hold the button, it should flash every 3-4 seconds. It means that the device in the joining state.

sonoff-snzb-02-temperature-and-humidity-sensor's People

Contributors

smartboxchannel 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  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  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sonoff-snzb-02-temperature-and-humidity-sensor's Issues

Can’t set levels or enables as UNSUPPORTED_ATTRIBUTE

I am getting errors stating UNKNOWN_ATTRIBUTE in Zigbee2mqtt when trying to set any of the temperature or humidity high / low levels or to switch on or off the enable_temperature or enable_humidity.

the log entries when I try to do this are as follows.
2023-08-25 13:00:34Publish 'set' 'high_humidity' to '0x00124b0022e93d4e' failed: 'Error: Write 0x00124b0022e93d4e/1 msRelativeHumidity({"545":{"value":83,"type":33}}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Status 'UNSUPPORTED_ATTRIBUTE')'

The attributes display as null in z2m state view. Battery did work but doesn’t now after re joining the network.

{
"humidity": 71.44,
"linkquality": 224,
"report_delay": 1,
"temperature": 24.31,
"battery": null,
"enable_humidity": null,
"enable_temperature": null,
"high_humidity": null,
"high_temperature": null,
"low_humidity": null,
"low_temperature": null
}

Any ideas?

Conbee II

Hello,

Does this also work after the flash with deCONZ (Conbee II)?
The standard firmware is currently very unreliable. A few devices keep losing connection with the original firmware. Does it run more reliably with the flash software?

Regards :)

Maximum report_delay is only 60 seconds with latest firmware

Values higher than 60 seconds are not accepted.
Error in zigbee2mqtt log (example 120 seconds):
error 2023-04-17 23:30:31: Publish 'set' 'report_delay' to '0x00124b00290f7b50' failed: 'Error: Write 0x00124b00290f7b50/1 genPowerCfg({"513":{"value":120,"type":33}}, {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'MAC transaction expired' (240))'

Idea: rotary encoder and segmented display?

I have no idea if it's possible or not, but I'm curious if you see a way to add a rotary encoder, a selector button, and a display to turn the snzb-02 into a fully funtioning room thermostat on it's own.

keep reset switch from falling off while removing and replacing the board from the case

How did you keep the tiny reset switch in place when dissassembling and reassembling everything?

Or do you not care, given the new firmware can behave however you want.

I got one where it had already fallen off, I could not reset it, and thought it was broken. I opened it up, and the switch had fallen off and was in the case.

I opened a working one and figured out where and how it attaches, but ended up knocking its switch loose too when putting it back together.

On both, with difficulty I can place and hold the switch, put the inner case on, add the battery, click it and get it to work. But the switch just falls off after that - there is nothing to hold it in place. I won't be able to reset them again without disassembling and repeating the process.

In hindsight, I could probably open a working one and leave the PCB in the outer case without touching the switch, but pulling the whole thing out and inserting it again looks like it'll just pull the switch off.

Humidity Control does not work a expected

I have installed SNZB-02_EFEKTA_H.hex and am just doing some tests. Control of temperature works as expected but there seems to be an issue with humidity control. My settings:

  • enable_hum: on
  • high_hum:55
  • low_hum: 45

Now I am alternately breathing or blowing to the sensor so the humidity changes between 40 and 60 what is also shown in the measured humidity value.
But the linked (cluster on/off) zigbee device does not react accordingly.

I took a look to the code which however seems to be for the old version but there is a wrong statement in line 426:

if(zclApp_Config.EnableHum == 1){
      if(zclApp_HumiditySensor_MeasuredValue >= zclApp_Config.HighHum*100){
      zclGeneral_SendOnOff_CmdOn(zclApp_FirstEP.EndPoint, &inderect_DstAddr, TRUE, bdb_getZCLFrameCounter());
    }else if(zclApp_HumiditySensor_MeasuredValue <= zclApp_Config.HighHum*100){
      zclGeneral_SendOnOff_CmdOff(zclApp_FirstEP.EndPoint, &inderect_DstAddr, TRUE, bdb_getZCLFrameCounter());
    }
   }
}

both "if statements" compare with zclApp_Config.HighHum but in line 426 it should be zclApp_Config.LowHum in my opinion.
Maybe this is still in the new version. Do you mind to check it and fix it if so?

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.