Sensorlogger

  1. Übersicht
  2. Installation & Start
  3. Konfiguration & komplettes Beispiel

Tinkerforge-Einstellungen

Das Programm nutzt aktuell die Tinkerforge C/C++-Bindings in Version 2.1.32 (2021-05-06). Die folgenden Tinkerforge-Bricklets werden momentan unterstützt. Außerdem sind ggf. die Kanäle aufgelistet, falls verschiedene Messungen mit einem Bricklet durchgeführt werden können.

Sensor Kanäle
Air Quality 0: Innen­raum­luft­qualität (IAQ-Index)
1: Temperatur
2: Relative Feuchte
3: Luftdruck
Ambient Light  
Ambient Light 2.0  
Ambient Light 3.0  
Analog In  
Analog In 2.0  
Analog In 3.0  
Barometer  
Barometer 2.0  
CO2  
CO2 2.0 0: CO2-Konzentration
1: Temperatur
2: Luftfeuchte
Current12  
Current25  
Distance IR  
Distance IR 2.0  
Distance US  
Distance US 2.0  
Dust  
Energy Monitor 0: Spannung
1: Strom
2: Energie
3: Wirkleistung
4: Scheinleistung
5: Blindleistung
6: Leistungsfaktor
7: Frequenz
Humidity  
Humidity 2.0  
Industrial Digital In 4 0 bis 3
Industrial Digital In 4 2.0 0 bis 3
Industrial Dual 0-20mA 0 bis 1
Industrial Dual 0-20mA 2.0 0 bis 1
Industrial Dual Analog In 0 bis 1
Industrial Dual Analog In 2.0 0 bis 1
IO4 0 bis 3, auch als Impulszähler
IO4 2.0 0 bis 3, auch als Impulszähler (nicht getestet)
IO16 0 bis 15, auch als Impulszähler (nicht getestet)
IO16 2.0 0 bis 15, auch als Impulszähler (nicht getestet)
Laser Range Finder  
Laser Range Finder 2.0  
Line  
Load Cell  
Load Cell 2.0  
Moisture  
Particulate Matter 1 oder 10: PM1.0
2 oder 25: PM2.5
3 oder 100: PM10
PTC Temperature  
PTC Temperature 2.0  
Sound Intensity  
Sound Pressure Level  
Temperature  
Temperature 2.0  
Temperature IR 0: Umgebung
1: Objekt
Temperature IR 2.0 0: Umgebung
1: Objekt
UV Light  
UV Light 2.0  
Voltage  
Voltage/Current 0: Spannung
1: Strom
Voltage/Current 2.0 0: Spannung
1: Strom

Verbindung zum Brick Daemon

Zunächst muss in einer allgemeinen Sektion die Verbindung zum Brick Daemon konfiguriert werden.

"tinkerforge": {
    "host": "localhost",
    "port": 4223,
    "max_bricklet_read_failures":  8,
    "max_brickd_restart_attempts": 3,
    "brickd_restart_command": "sudo /bin/systemctl restart brickd",
    "system_restart_command": "sudo /bin/systemctl --force reboot"  
}

Sollen keine Kommandos aufgrund von Fehlauslesungen ausgeführt werden, kann jedes der beiden Kommandos entweder nicht definiert oder auf null gesetzt werden.

"brickd_restart_command": null,
"system_restart_command": null

Tinkerforge-Sensoren

Sensoren, die in Zeitintervallen abgefragt werden sollen

"sensors": [
    ...
    {
        "sensor_id": "Wetterstation/Temperatur",
        "tinkerforge_uid": "z3L",
        "factor": 1,
        "offset": -4.5,
        "channel": 0,
        "mqtt_publish": "Haus/Wetterstation/Temperatur/aktuell",
        "homematic_publish": "12345",
        "counter": false,
        "trigger": "periodic",
        "rest_period": {"value": 60, "unit": "s"}
    },
    ...
]

Sensoren, die selbstständig Ereignisse auslösen

Hierfür werden momentan nur die Tinkerforge IO-Bricklets unterstützt.

"sensors": [
    ...
    {
        "sensor_id": "Wetterstation/Wind",
        "tinkerforge_uid": "9Ws",
        "channel": 0,
        "io_port": "a",
        "factor": 0.5,
        "offset": 0,
        "mqtt_publish": "Haus/Wetterstation/Wind/Letzter-Impuls",
        "counter": true,
        "trigger": "low",
        "rest_period": {"value": 7, "unit": "ms"},
        "io_debounce": {"value": 7, "unit": "ms"}
    },
    ...
]

MQTT>>