README.md 3.1 KB

JeeLinkLogMQTT

Backend for JeeLabs JeeLink receiver.

Receives sensor data from LaCrosse 868MHz temperature/humidity sensors, logs data to InfluxDB and publishes via MQTT. Sensor type tested working: LaCrosse/TechnoLine TX29 DTH-IT.

Installation

Requires Python 3 (default on Debian/RaspberryOS Buster or Bullseye).

  • install Python3 PIP: $ sudo apt-get install python3-pip
  • install required Python modules: pip3 install pyserial influxdb paho-mqtt pyyaml
  • copy folder jeelinklog to /home/pi
  • edit config files as needed. A minimum of 1 sensor must be configured before starting, so leave one from the examples there, configure it as desired and then find out the ID of your sensor and edit it afterwards.
  • test if it works:
    • cd /home/pi
    • ./jeelinklog.py -v

Configuration

The configuration is split in the following files:

  • jeelinklog.ini: base configuration
  • jeelinklog_influxdb.yml: YAML configuration file for InfluxDB instances
  • jeelinklog_sensors.yml: YAML configuration containing the sensors

configuring InfluxDB-Instances

jeelinklog_influxdb.yml format:

temphum:                            instance name used in sensor configuration
    host: localhost
    port: 8086
    username: jeelinklog            comment out if authentication is not used
    password: password              comment out if authentication is not used
    database: TempHum               InfluxDB database name - must already exist
    measurement: TempHum            InfluxDB measurement name, will be added automatically if it does not already exist
    fieldnames:
        temperature: temp
        humidity: hum
    datatypes:
        temperature: float
        humidity: int

You can add as many InfluxDB instances as you need. Please mind correct indenting in YAML files!

configuring Sensors

jeelinklog_sensors.yml format:

Aussen:                             Sensor name
    LaCrosseID: 1                   LaCrosse Sensor ID, randomly generated on battery change
    DomoticzIdx: 94                 Sensor ID in Domoticz (deprecated)
    Topic_Temp: "Test/Atemp"        additional MQTT topic to publish temperature values of that sensor
    Topic_Hum: "Test/Ahum"          additional MQTT topic to publish humidity values of that sensor
    InfluxDB_Instance: TempHum      InfluxDB instance name to use (as set in jeelinklog_influxdb.yml)
    isOutsideTempSensor: true       true or false

DomoticzIdx can be commented out or removed if not needed. Topic_Temp and Topic_Hum is optional, can be left commented or removed. InfluxDB_Instance MUST be a valid name configured in jeelinklog_influxdb.yml.

Outside sensors

isOutsideTempSensor: true will include that sensor in mean/average outside temperature calculation. Set it to true on all sensors that are (properly) located outside to enhance accuracy. You can add as many sensors as you need. Please mind correct indenting in YAML files!