EDIT - 17.01.2019
funktioniert nicht nur mit "TFA-WeatherDisc" sondern auch mit Baugleicher "Typhoon BlueWeather" - die es z.Zt. für unter 5,- zu haben gibt!
habe davon jetzt gleichzeitig insgesamt 18 Stück am ioBroker am Laufen…
nochmal, Anleitung falls es jemanden interessiert:
-
die angehängten Dateien (abzüglich des .txt Suffixes) in die entsprechenden Verzeichnisse stellen in denen auch die übrigen Plugins und Libs liegen (wie ruuvi-tag - von dem das geklaut ist), und den entsprechenden Eintrag in der "index.js" ergänzen.
-
Einstellungen für den ble Adapter :
RSSI Intervall 10000
Erfassen von Geräten ohne service data erlauben: ja
Überwachte Dienste: 0x0FE (der enthält aber gar keine Informationen)
Aktive Plugins: "TFA-disc"
============================================================================================
Hallo AlCalzone und die Anderen,
wieß nicht ob ich richtig bin hier?
habe ioBroker.ble getestet - und bin begeistert. (Unter Win7 /Notebook) "Works Like Charm".
Bin ganz neu hier, mit ioBroker und BLE und Java bin ich auch nicht gerade fit - aber...
Kurz vor Weihnachten gab es diese "TFA-WeatherDisc" (Temperatur und Feuchte über BLE) zu einem Spottpreis (9,-) und da hab ich mir gleich einen Stapel von geholt. Dazu gibt es nur eine einzige Andriod-App die damit kann - und die kann nichts.
Aber es ist mir gelungen, die "advertisten" Daten zu entschlüsseln und mit ioBroker und dem BLE Adapter zu erfassen.
Dazu habe ich die Plugin-Scripte zum "ruuvi-tag" missbraucht - als Vorlage genommen und soweit herunter-gestripped bis nur noch das Nötigste drin war.
Wenn es mir gelingt, hänge ich die mal hier herein. (wenns jemand brauchen kann: nicht vergessen, das plugin auch in der "index.js" mit einzuhängen)
Die "Entschlüsselung" der Temperatur ist "exakt" - stimmt jedenfalls mit der Anzeige in der App überein - die Umrechnung für die Feuchte ist geschätzt - hier gibt es gelegentlich ein paar %Punkte Abweichung. (Bin mir aber nicht sicher, ob die App da richtig rechnet - jedenfalls fängt die App an wieder 1%, 2% usw zu zeigen, wenn der Wert der gesendet wird über 100% steigt (was wohl durch die 3 MSBs als eine Art Fehlercode signalisiert wird)
Das Teil scheint wohl etwas weniger nach dem BLE Standard programmiert, als es sein sollte, der Identifier für die "Company Reserved ID" scheint missbräuchlich verwendet (0x01DE) und die Daten für Temp, Feuchte und Batt Status verbergen sich in den als "manufacturer data" advertisten Bytes.
es wird auch eine service-ID gesendet (als "incomplete list of 16 bit service IDs", 0xFE00) hinter der sich nichts, keine Information, verbirgt.
Zum Ändern der Namen wenn man mehrere solcher Discs einsetzt muss man dann doch die Android-App verwenden - die sich irgendwie mit dem Teil connected - aber zum Messen läufts problemlos.
Jetzt kommen meine Fragen: als Filter fungiert hier lediglich diese leere Service ID - funktioniert zwar, aber gäbe es auch eine Möglichkeit, BLE beim Scannen auf eine fest vorgefasste Liste von bekannten MACs zu begrenzen?
Und- ein bisschen allgemeiner: gibt es auch irgendeinen ioBroker Adapter, mit dem sich z.B. Bluetooth Relay Bords schalten lassen? die also senden/schreiben können? (bzw. wann wird .ble das evtl. können?)
Ziel meiner Bemühungen ist eine etwas "smartere" Regelung unserer Fußbodenheizung (die derzeit noch mit 8 verteilten 2-Punkt Reglern arbeitet)
17120_tfa-disc.js
17120_tfa-disc.d.ts.txt
17120_tfa-disc_protocol.js
17120_tfa-disc_protocol.d.ts.txt