XiaomiBTLESens: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
K (Kategorie Bluetooth ergänzt)
 
(6 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 8: Zeile 8:


==Beschreibung==
==Beschreibung==
Mit diesem Modul ist es möglich diverse BTLE Sensoren der Firma Xiaomi aus zu lesen auszulesen und die entsprechenden Daten als Readings darzustellen. Zum Beispiel den XiaomiFlowerMonitor.
Mit diesem Modul ist es möglich, diverse BTLE Sensoren der Firma Xiaomi auszulesen und die entsprechenden Daten als Readings darzustellen, z. B. den XiaomiFlowerMonitor (XiaomiFlowerSens).
{{Hinweis|Das Modul ist der Nachfolger und eine Verallgemeinerung des '''''bisherigen Moduls XiaomiFlowerSens''''' (74_XiaomiFlowerSens). Letzteres ist weiter erreichbar, wird aber nicht mehr weiterentwickelt oder fehlerbereinigt.}}


Voraussetzung zur Verwendung des Modules ist:
== Voraussetzung zur Verwendung des Modules ==
Auf dem Rechner wird
* libjson-perl
* libjson-perl
* bluez (gatttool und hcitool)
* bluez (gatttool und hcitool)
vorausgesetzt.


Mittels <code>hcitool lescan</code> bekommt man die BT-MAC, die benötigte Bluetooth MAC Adresse.
Für die Konfiguration wird die Bluetooth-Adresse (BT-MAC) des jeweiligen Sensors benötigt, die mit Hilfe von
<code>hcitool lescan</code>  
aus der Liste der vom Rechner erkannten aktiven Bluetooth Low Energy Geräten der Umgebung herausgefunden werden kann. Die Identifikation eines konkreten Sensors kann durch Vergleich der Liste mit und ohne aktivem Sensor (Batterie entfernen!) geschehen.
{{Hinweis|Auf einem Debian Wheezy scheint es Probleme mit dem Bluetooth Stack zu geben. Selbst wenn man ein aktuelles BT 5.x selbst kompiliert und installiert gibt spätestens das gatttool keine Daten mehr aus. Es sollte daher unbedingt auf Debian Jessie gewechselt werden (empfohlen wird eine Neuinstallation).}}


Achtung: auf einem Debian Wheezy scheint es Probleme mit dem Bluetooth Stack zu geben. Selbst wenn man ein aktuelles BT 5.x selbst kompiliert und installiert gibt spätestens das gatttool keine Daten mehr aus. Es muss zwingend auf Debian Jessie geupgraded werden.
==Definition==
 
===Definition===
<code>define <name> XiaomiBTLESens <BT-MAC></code>
<code>define <name> XiaomiBTLESens <BT-MAC></code>


'''Beispiel:'''
'''Beispiel:'''
:<code>define Weihnachtskaktus XiaomiBTLESens C4:7C:8D:62:42:6F</code>


<code>define Weihnachtskaktus XiaomiBTLESens C4:7C:8D:62:42:6F</code>
Diese Anweisung erstellt ein XiaomiBTLESens Device mit dem Namen Weihnachtskaktus und der BT-MAC C4:7C:8D:62:42:6F.
 
Als nächstes sollte auf jeden Fall das Attribut model gesetzt werden, um das korrekte Gerät anzusprechen.
Diese Anweisung erstellt ein XiaomiBTLESens Device mit dem Namen Weihnachtskaktus und der BT MAC C4:7C:8D:62:42:6F.
Als nächstes sollte auf jeden Fall das Attribut model gesetzt werden, um das korrekte Gerät an zu sprechen.
 


===Readings===
==Readings==
* state - aktueller Status des Device.
* state - aktueller Status des Device.
* battery - Status der Batterie in Abhängigkeit des batteryLevel Readings.
* battery - Status der Batterie in Abhängigkeit des batteryLevel Readings.
Zeile 39: Zeile 41:
* temperature - Umgebungstemperatur
* temperature - Umgebungstemperatur


===Set===
==Set==
* devicename - setzt einen Devicenamen
* devicename - setzt einen Devicenamen


===Get===
==Get==
* sensorData - aktive Abfrage der Sensors Werte
* sensorData - aktive Abfrage der Sensors Werte
* devicename - liest den Devicenamen aus
* devicename - liest den Devicenamen aus
* firmware - liest die Firmeware aus
* firmware - liest die Firmeware aus


===Attribute===
==Attribute==
* interval - Intervallzeit in Sekunden, nach der der nächste automatische Datenabruf erfolgen soll
* interval - Intervallzeit in Sekunden, nach der der nächste automatische Datenabruf erfolgen soll
* model - Auswahl eines unterstützten Gerätes
* model - Auswahl eines unterstützten Gerätes
* disable - deaktiviert die den Abruf
* disable - deaktiviert die Kommunikation mit dem Gerät, den Abruf von Daten
* disabledForIntervals - deaktiviert das Gerät für den angegebenen Zeitinterval (13:00-18:30 or 13:00-18:30 22:00-23:00)
* disabledForIntervals - deaktiviert das Gerät für den angegebenen Zeitintervall (13:00-18:30 or 13:00-18:30 22:00-23:00)
* minFertility - min Fruchtbarkeits-Grenzwert für ein Ereignis minFertility low  
* minFertility - min. Fruchtbarkeits-Grenzwert für ein Ereignis minFertility low  
* maxFertility - max Fruchtbarkeits-Grenzwert für ein Ereignis maxFertility high  
* maxFertility - max. Fruchtbarkeits-Grenzwert für ein Ereignis maxFertility high  
* minMoisture - min Feuchtigkeits-Grenzwert für ein Ereignis minMoisture low  
* minMoisture - min. Feuchtigkeits-Grenzwert für ein Ereignis minMoisture low  
* maxMoisture - max Feuchtigkeits-Grenzwert für ein Ereignis maxMoisture high  
* maxMoisture - max. Feuchtigkeits-Grenzwert für ein Ereignis maxMoisture high  
* minTemp - min Temperatur-Grenzwert für ein Ereignis minTemp low  
* minTemp - min. Temperatur-Grenzwert für ein Ereignis minTemp low  
* maxTemp - max Temperatur-Grenzwert für ein Ereignis maxTemp high  
* maxTemp - max. Temperatur-Grenzwert für ein Ereignis maxTemp high  
* minlux - min Helligkeits-Grenzwert für ein Ereignis minlux low  
* minlux - min. Helligkeits-Grenzwert für ein Ereignis minlux low  
* maxlux - max Helligkeits-Grenzwert für ein Ereignis maxlux high  
* maxlux - max. Helligkeits-Grenzwert für ein Ereignis maxlux high  
*:Beispiele für min/max-Ereignisse:
*:Beispiele für min/max-Ereignisse:
*::2017-03-16 11:08:05 XiaomiFlowerSens Dracaena minMoisture low
*::2017-03-16 11:08:05 XiaomiFlowerSens Dracaena minMoisture low
*::2017-03-16 11:08:06 XiaomiFlowerSens Dracaena maxTemp high
*::2017-03-16 11:08:06 XiaomiFlowerSens Dracaena maxTemp high
* sshHost - FQDN oder IP-Adresse eines entfernten SSH-Systems. Das SSH-System ist auf eine Zertifikat basierte Authentifizierung zu konfigurieren. Am elegantesten geschieht das mit einer .ssh/config Datei auf dem SSH-Client.
* sshHost - FQDN oder IP-Adresse eines entfernten SSH-Systems. Das SSH-System ist auf Keyfile basierte Authentifizierung zu konfigurieren. Am elegantesten geschieht das mit einer .ssh/config Datei auf dem SSH-Client.
 
[[Kategorie:Bluetooth]]

Aktuelle Version vom 21. Januar 2022, 13:16 Uhr

XiaomiBTLESens
Zweck / Funktion
Auslesen unterstützter Xiaomi BTLE Sensoren
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Support (Forum) Sonstige Systeme
Modulname 74_XiaomiBTLESens.pm
Ersteller CoolTux
(Forum / Wiki)
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!


Beschreibung

Mit diesem Modul ist es möglich, diverse BTLE Sensoren der Firma Xiaomi auszulesen und die entsprechenden Daten als Readings darzustellen, z. B. den XiaomiFlowerMonitor (XiaomiFlowerSens).

Info blue.png
Das Modul ist der Nachfolger und eine Verallgemeinerung des bisherigen Moduls XiaomiFlowerSens (74_XiaomiFlowerSens). Letzteres ist weiter erreichbar, wird aber nicht mehr weiterentwickelt oder fehlerbereinigt.


Voraussetzung zur Verwendung des Modules

Auf dem Rechner wird

  • libjson-perl
  • bluez (gatttool und hcitool)

vorausgesetzt.

Für die Konfiguration wird die Bluetooth-Adresse (BT-MAC) des jeweiligen Sensors benötigt, die mit Hilfe von hcitool lescan aus der Liste der vom Rechner erkannten aktiven Bluetooth Low Energy Geräten der Umgebung herausgefunden werden kann. Die Identifikation eines konkreten Sensors kann durch Vergleich der Liste mit und ohne aktivem Sensor (Batterie entfernen!) geschehen.

Info blue.png
Auf einem Debian Wheezy scheint es Probleme mit dem Bluetooth Stack zu geben. Selbst wenn man ein aktuelles BT 5.x selbst kompiliert und installiert gibt spätestens das gatttool keine Daten mehr aus. Es sollte daher unbedingt auf Debian Jessie gewechselt werden (empfohlen wird eine Neuinstallation).


Definition

define <name> XiaomiBTLESens <BT-MAC>

Beispiel:

define Weihnachtskaktus XiaomiBTLESens C4:7C:8D:62:42:6F

Diese Anweisung erstellt ein XiaomiBTLESens Device mit dem Namen Weihnachtskaktus und der BT-MAC C4:7C:8D:62:42:6F. Als nächstes sollte auf jeden Fall das Attribut model gesetzt werden, um das korrekte Gerät anzusprechen.

Readings

  • state - aktueller Status des Device.
  • battery - Status der Batterie in Abhängigkeit des batteryLevel Readings.
  • batteryLevel - Füllstand der Batterie in Prozent.
  • fertility - Nährstoffgehalt des Pflanzenbodens (Dünger) - Bodenleitfähigkeit
  • firmware - aktuelle Firmware auf dem Device
  • lux - aktuelle Lichtintensität
  • moisture - Wassergehalt (Feuchtigkeit) des Pflanzenbodens
  • temperature - Umgebungstemperatur

Set

  • devicename - setzt einen Devicenamen

Get

  • sensorData - aktive Abfrage der Sensors Werte
  • devicename - liest den Devicenamen aus
  • firmware - liest die Firmeware aus

Attribute

  • interval - Intervallzeit in Sekunden, nach der der nächste automatische Datenabruf erfolgen soll
  • model - Auswahl eines unterstützten Gerätes
  • disable - deaktiviert die Kommunikation mit dem Gerät, den Abruf von Daten
  • disabledForIntervals - deaktiviert das Gerät für den angegebenen Zeitintervall (13:00-18:30 or 13:00-18:30 22:00-23:00)
  • minFertility - min. Fruchtbarkeits-Grenzwert für ein Ereignis minFertility low
  • maxFertility - max. Fruchtbarkeits-Grenzwert für ein Ereignis maxFertility high
  • minMoisture - min. Feuchtigkeits-Grenzwert für ein Ereignis minMoisture low
  • maxMoisture - max. Feuchtigkeits-Grenzwert für ein Ereignis maxMoisture high
  • minTemp - min. Temperatur-Grenzwert für ein Ereignis minTemp low
  • maxTemp - max. Temperatur-Grenzwert für ein Ereignis maxTemp high
  • minlux - min. Helligkeits-Grenzwert für ein Ereignis minlux low
  • maxlux - max. Helligkeits-Grenzwert für ein Ereignis maxlux high
    Beispiele für min/max-Ereignisse:
    2017-03-16 11:08:05 XiaomiFlowerSens Dracaena minMoisture low
    2017-03-16 11:08:06 XiaomiFlowerSens Dracaena maxTemp high
  • sshHost - FQDN oder IP-Adresse eines entfernten SSH-Systems. Das SSH-System ist auf Keyfile basierte Authentifizierung zu konfigurieren. Am elegantesten geschieht das mit einer .ssh/config Datei auf dem SSH-Client.