Sensores de temperatura e humidade

Olá!
Ando à procura de sensores de temperatura e húmidade que sejam relativamente baratos mas que não comprometa na precisão.
Atualmente tenho uma estação Auriol do Lidl em conjunto com um RTL-SDR para receber as mensagens de 433Mhz e enviar para tópicos MQTT, portanto se os sensores comunicarem apenas via rádio não haveria problema.

Algumas recomendações?
Obrigado!

Os melhores resultados que obtive, até à data, foram com os modelos: LYWSD03MMC.

Funcionam através de BLE, mas com um novo firmware podem também conectar-se através de ZigBee.

Tenho dois, com firmware alternativo, mas mantive em BLE. Recebo os dados num D1 mini ESP32.

O alcance é bom e caso não chegue, basta adicionar outro esp32…

Para sensores totalmente DIY, também tenho bons resultados com os sensores AHT10 / AHT15.
Cheguei a testar um AHT10, AHT15, 2 LYWSD03MMC, um LYWSDCGQ, um YTC4042GL e um BMP180.

As diferenças entre eles, ao sol e ao frio eram mínimas, tirando o BMP180 que ao fim de uns segundos começa a dar temperaturas sempre superiores por self heating, que tive que compensar por software, podendo assim ser menos rigoroso.

Mais recentemente comprei um Tuya Zigbee barato, mas apresenta sempre diferenças ou para mais ou para menos na tamperatura por vezes de 0,5º e até 5% na humidade.

Se voltar a precisar, vou voltar a comprar os LYWSD03MMC. Barato, tem display, ainda o configuro para mostrar as horas. Como defeito, gasta uma pilha CR2030 em menos de 1 ano, mas também se compram packs baratos no Aliexpress!

Obrigado pelas respostas! Também estive a ver os LYWSD03MMC mas como eram BLE fiquei um pouco de pé atras. Se os flashar com o firmware zigbee, preciso de alguma bridge ou o HA detecta automáticamente o dispositivo? (Também não tenho nenhum outro dispositivo que utilize rede zigbee)

Ainda sou novo no mundo ESP, portanto nem saberia configurar esse relay de BLE para ESP :smiley: Mas certamente é uma coisa a explorar e experimentar. Ainda com ESP depois de alguma pesquisa vi que muita gente usava sensores DHT22, alguma opinião sobre esses?
@Peixeiro se me conseguires apontar para algum tutorial (quer de ESP no geral, ou mais propriamente esse proxy BT) também agradecia!

Para usares uma rede zigbee, no HA, precisas de um gateway - geralmente o Conbee II é o que é usado.
É boa prática ligar uma extensão (Usb) entre o conbee e o raspberry/nuc/whatever… para evitar interferências.

Quanto a Bluetooth proxies, tens a documentação do site do Esphome, ou mais simples ainda a página de Ready-Made Projects onde só tens de conectar o dispositivo e esperar que a configuração termine.
Pela minha casa tenho bastantes M5Stack ATOM Lite a servirem de proxies ou a servirem de nodes para ESPresense.

Não sei se já resolveram o problema do novo firmware da xiaomi

Eu não usei o Bluetooth Proxy, mas sim o componente Xiaomi BLE : https://esphome.io/components/sensor/xiaomi_ble.html
Eu recebo os dados dos sensores BLE diretamente no ESPhome, penso que me dá mais liberdade, permite-me usar a opção do relógio (vai acertando as horas) nos Xiaomi LYWSD03MMC, corrigir diferenças de valores, escolher os dados que quero que passem para o HA, …

Tutorial nem é preciso muito… É comprares um esp32 e começares a testar. No site do esphome tem lá os exemplos completos para o que se quer.

Vou seguir as duas abordagens! Experimentar um sensor DIY e o componente ESP para BLE com o LYWSD03MMC.

Outra questão relativa aos ESP, idealmente teria isto (sensor DIY) alimentado a pilhas porque num dos sitios onde quero meter o sensor não tenho acesso a corrente eletretica facilmente. Conseguem-me dizer como poderia obter isso?

Obrigado!

Eu tenho um 2 em 1 (ou vários em 1)… No quarto de um dos miúdos tenho um D1mini ESP32, com um sensor aht15, um led RGB para luz de presença (shield para d1mini) e ainda recebo dados de 1 sensor LYWSDCGQ e 2 LYWSD03MMC (com atualização das horas).

ESP com pilhas nunca testei. Os ESPs ainda consomem um pouco e a duração não vai ser muita sem o por a dormir temporariamente… há alguns tutoriais e ate placas ESP já preparadas para usar baterias.
Eu optaria para os sitios sem eletricidade sensores LYWSD03MMC e o ESP sempre ligado à corrente (usar um carregador de telemóvel que ande pode lá encostado) para receber esses dados. Se ficar num local onde seja bom verificar temp/humid é adicionar um sensor.

Partilho o código deste ESPhome para teres uma ideia:

esphome:
  name: danield132

esp32:
  board: wemos_d1_mini32

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  
  manual_ip:
    static_ip: 192.168.x.x
    gateway: 192.168.x.x
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Daniel D1 32 Fallback Hotspot"
    password: !secret fallback_password

captive_portal:

# Enable logging
logger:

web_server:
  port: 80

# Enable Home Assistant API
api:
  encryption:
    key: !secret secretkey

ota:
  safe_mode: true
  password: !secret ota_password

i2c:
  sda: GPIO21
  scl: GPIO22
  id: bus_a  

time:
  - platform: homeassistant
    id: homeassistant_time

esp32_ble_tracker:
  
xiaomi_ble:

ble_client:
  - mac_address: "A4:C1:38:XX:XX:XX"
    id: pvvx_ble_display_suite
  - mac_address: "A4:C1:38:XX:XX:XX"
    id: pvvx_ble_display_comum

display:
  - platform: pvvx_mithermometer
    ble_client_id: pvvx_ble_display_suite
    update_interval: 2h
    validity_period: 0s
    time_id: homeassistant_time

  - platform: pvvx_mithermometer
    ble_client_id: pvvx_ble_display_comum
    update_interval: 2h
    validity_period: 0s
    time_id: homeassistant_time


light:
  - platform: fastled_clockless
    chipset: WS2812B
    pin: GPIO18
    num_leds: 1
    rgb_order: GRB
    name: "Daniel Presence Light"
    id: daniel_p_light
    on_turn_on:
      then:
        - light.turn_on:
            id: daniel_p_light
            red: 100%
            green: 63%
            blue: 0%


sensor:
  - platform: uptime
    name: "Daniel Uptime"
    update_interval: 60s

  - platform: wifi_signal
    name: "Daniel WiFi Signal"
    update_interval: 60s

  - platform: atc_mithermometer  
    mac_address: "A4:C1:38:XX:XX:XX"
    temperature:
      name: "WC Suite Temperatura"
      accuracy_decimals: 1
    humidity:
      name: "WC Suite Humidade"
      accuracy_decimals: 1
    battery_level:
      name: "WC Suite Nivel Bateria"
    battery_voltage:
      name: "WC Suite Tensão Bateria"
    signal_strength:
      name: "WC Suite Sinal"

  - platform: atc_mithermometer  
    mac_address: "A4:C1:38:XX:XX:XX"
    temperature:
      name: "WC Comum Temperatura"
      accuracy_decimals: 1
    humidity:
      name: "WC Comum Humidade"
      accuracy_decimals: 1
    battery_level:
      name: "WC Comum Nivel Bateria"
    battery_voltage:
      name: "WC Comum Tensão Bateria"
    signal_strength:
      name: "WC Comum Sinal"

  - platform: xiaomi_lywsdcgq
    mac_address: "58:2D:34:XX:XX:XX"
    temperature:
      name: "Sala Temperatura"
      accuracy_decimals: 1
    humidity:
      name: "Sala Humidade"
      accuracy_decimals: 1
    battery_level:
      name: "Sala Nivel Bateria"

  - platform: aht10
    i2c_id: bus_a
    temperature:
      name: "Daniel Temperatura"
      accuracy_decimals: 1
    humidity:
      name: "Daniel Humidade"
      accuracy_decimals: 1
    update_interval: 60s
    
switch:
  - platform: restart
    name: "Daniel D1 - Restart"
  - platform: safe_mode
    name: "Daniel D1 - Safe Mode"

@Peixeiro Boas sabes se há forma de colocar um esp a atualizar as horas a mais de três desses sensores de temperatura? no meu casos tenho 7 todos ligados ao mesmo esp, mas o componente ble_client diz que tem um limite de 3 :confused:

Desconheço… como de momento só tenho 2, é tranquilo!

Vou dar uma “ideia parva”, que não testei e nem sei se é exequível no EspHome!

Sei que é possível fazer com que o ESP reinicie de X em X horas ou a uma hora indicada… Agora era conseguir-se que declaração do ble_client fosse diferente consoante a hora do dia…
Por exemplo: entre as 0 e as 8h declarava 3 MACs addresses, entre as 8 e as 16: outros dois MACs e das 16 à 24 os restantes 3 MACs.
Como é só para atualizar o relógio chegaria… Obrigava a 3 restarts ao ESP diários.

Boas pois estou a perceber a ideia ya. Não estou a ver é como meto a configuração do esp dinâmica, e a cada iteração tinha que instalar a nova config no esp.

Eles dizem mesmo que é uma limitação :confused:

“A maximum of three devices is supported due to limitations in the ESP32 BLE stack. If you wish to connect more devices, use additional ESP32 boards.”

Mas vou tentar investir um tempo no trick que sugeriste :wink:


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade