Giter Site home page Giter Site logo

lacrosse2mqtt's Introduction

LaCrosse to MQTT gateway

This is a gateway to receive temperature and humidity from LaCrosse IT+ temperature sensors and publish them to a MQTT broker.

The code was originally inspired by LaCrosseITPlusReader but the original code has been completely reworked since then. It is designed to run on a "TTGO LORA" board which has a SX1276 RF chip and a SSD1306 OLED on board.

The on-board button triggers WPS connection to the WIFI network, it should be only needed on first installation.

The web page is showing the received sensors with their values, the configuration page allows to specify a name / label for every sensor ID. The sensor ID is a 6 bit value (0-63). Because there are two different data rates for LaCrosse sensors, which can otherwise have the same ID, I decided to add 128 to the sensor ID if it comes from a sensor with the slow data rate. There are also two-channel temperature sensors which identify the second temperature channel with a "magic" humidity value. To distinguish the two channels, 64 is added to the sensor ID for the second channel. This gives a total of 256 sensor IDs. To clear a label for a sensor, just enter an empty label.

MQTT publishing of values

On the config page, you can enter the hostname / IP of your MQTT broker. The topics published are:

  • climate/<LABEL>/temp temperate
  • climate/<LABEL>/humi humidity (if available)
  • lacrosse/id_<ID>/temp, lacrosse/id_<ID>/humi the same but per ID. Note that the ID may change after a battery change! Labels can be rearranged after a battery change for stable naming.
  • lacrosse/id_<ID>/state additional flags "low_batt", "init" (for new battery state), "RSSI" (signal), "baud" (data rate) as JSON string

Firmware update

The software update can be uploaded via the "Update software" link from the configuration page

Debugging

More information about the current state is printed to the serial console, configured at 115200 baud. You can also define DEBUG_DAVFS in the code, then WebDAV access to the LITTLEFS used for storing the configuration is possible on port 81.

Dependencies / credits

The following libraries are needed for building (installed via arduino lib manager if no github url is given):

  • LittleFS_esp32
  • PubSubClient
  • ESP8266 and ESP32 OLED driver for SSD1306 displays
  • ArduinoJson
  • ESPWebDav (for debugging only)

lacrosse2mqtt's People

Contributors

seife avatar

Stargazers

 avatar  avatar

Watchers

 avatar

lacrosse2mqtt's Issues

Lacrosse2mqtt auf einem HEITEC Lora ESP32 V2

Hallo Stefan, ich versuche derzeit Deinen Code für o.g. Contoller anzupassen bzw. zum laufen zu bringen.
Dies gelingt mir leider nicht, zunächst habe ich den Code als ZIP (Library) in die Ardunino IDE (Version 1.8.19 unter Win) geladen, das
entsprechende Board eingestellt und es wird die LittleFS.h angemeckert. Diese ist aber installiert/eingebunden, kann ich unter meinen Librarys finden, habe dann die Angabe auf "LITTLESF.h" angepasst. Dann kommt der nächste Fehler, "HTTPUpdateServer.h" kann nicht
gefunden werden, okay, habe ich auch als zusätzliche Datei in das Projektverzeichnis hinzugefügt. Dann kommt der nächste Fehler:
"lacrosse2mqtt-main/globals.h:22:22: error: redefinition of 'const uint8_t KEY_BUILTIN' static const uint8_t KEY_BUILTIN = 0;" und so geht das weiter und weiter. Was mache ich falsch ? Könntest Du mir behilflich sein ?

Vielen Dank und beste Grüße Sandro

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.