NEWS
[Vorlage] Einbinden des Xiaomi Mijia Bluetooth Thermo- und Hygrometer
-
Der „lywsd03mmc“ ist wohl das neuste Modell – er ist darüber hinaus viel günstiger und hat noch einen MEGA-Vorteil: Das Gerät selber hat eine eigene Datenspeicherung! Laut der Seite https://de.gearbest.com/home-gadgets/pp_009542841338.html sind es 3 Monate. Ich kann bestätigen, dass es speichert, habe ihn aber erst sehr kurz. Leider ist die orignal app großer Mist.
Vielleicht reizt Dich der Hinweis auf die Speicherung, Deinen Code zu erweitern.
Dies als Hinweis und würde mich freuen! -
das Modell habe ich jetzt auch. Laufen recht gut, leider nicht im IOBroker.
Meine Versuche, die Stelle zu finden wo im BLE die MAC- Adressen etc. hinterlegt sind, sind leider gescheitert.
Vielleicht kann mir jemanden einen Tip geben, wo die Daten hinterlegt sind.Die MAC- Adressen/ FE95 lauten:
a4:c1:38:01:f8:27 30585b05ad27f80138c1a408
a4:c1:38:03:2c:19 30585b05b3192c0338c1a408
a4:c1:38:60:55:ee 30585b05a1ee556038c1a40830585b05 dürfte die Gerätekennung sein
38c1a408 gehört wohl auch dazu
a1ee5560 sind vielleicht die eigentlichen Daten (Temperatur, Feuchtigkeit, Batterie)Als logischen Wert finde ich nur die Temperatur. Die ersten zwei Ziffern von Hex in Dez. umgerechnet ergibt logische Werte für die Gradzahl inkl. einer Kommastelle (dummerweise aktualisieren die sich gerade nicht)
Vielleicht kann ja jemand was damit anfangen
Viele Grüße,
Henning -
Hallo zusammen,
gibt es mittlerweile eine möglichkeit den LYWSD03MMC in den iObroker zu bekommen? -
@Colt @AlCalzone schrieb, dass es da wohl mehrere Monate für eine Lösung dauern könnte. Es müsste aber mittels des Phyton-Scripts auf GitHub möglich sein.
-
Hallo, kann jemand was zur BT Reichweite sagen? Pi4 mit ioB hängt im EG, Thermostate sollen im ganzen Haus hängen, also bis zu 10 Meter durch Wände in Fertigbauweise, bzw Stahlbetondecke in den Keller.
Erfahrungen?Gruß Stoni
-
@Stoni sagte
Erfahrungen? ... Stahlbetondecke ...
Diesbzgl. keine guten
Genau wird dir das aber niemand beantworten können, da dies von zu vielen Faktoren abhängt. Ich mache dann immer einen rudimentären Reichweitencheck: BT-Stick am Laptop an den einen Standort, Smartphone an den anderen und dann schauen ob sie sich verbinden können...
Wenn es BT sein muss, könnte man auch notfalls einen PI Zero oä. als 2. Verbindungspunkt einsetzen. -
@SBorg Danke für den Tipp. Hab gerade mal mein Handy in den Keller gelegt und per Laptop gesucht. Wurde nicht gefunden, ergo scheinbar keine Verbindung durch Stahlbeton.
Es muss nicht zwangsläufig BT sein, ich suche halt noch günstige Alternativen zu den HM-Thermostaten mit ner Anzeige und da stieß ich auf die Mijia. Hab schon einige Aqara im Einsatz, aber wollte was mit Display. -
@Soulforged
Mal ne doofe Frage:
Für 3x Hyrgometer, muss ich 3x Scripte anleghen oder kann ich die MAC Adressen irgendwo hintereinander schreiben? -
@Colt said in [Vorlage] Einbinden des Xiaomi Mijia Bluetooth Thermo- und Hygrometer:
Hallo zusammen,
gibt es mittlerweile eine möglichkeit den LYWSD03MMC in den iObroker zu bekommen?Ich habe mir 2 Stück für 9 Euro zugelegt und stehe nun auch vor der Frage ob jemand schon eine Lösung gefunden hat. Ich habe mir die für die Luftfeuchtigkeit im Keller gekauft und würde die gerne über VIS anzeigen lassen bzw. den Luftentfeuchter starten lassen.
Wenn jemand schon eine Lösung gefunden hat immer her damit. Aber für Anfänger geeignet
Viele Grüße
Torsten -
@Torsten-G sagte in [Vorlage] Einbinden des Xiaomi Mijia Bluetooth Thermo- und Hygrometer:
Wenn jemand schon eine Lösung gefunden hat immer her damit. Aber für Anfänger geeignet
Lösung ja, aber auch für Anfänger? Zumindest ist es nicht sooo schwer: alternative Firmware flashen
Gibt auch hier im Forum schon paar Posts dazu: Projekt auf GitHub -
@Torsten-G schau dir mal die Anleitung an:
https://forum.iobroker.net/topic/28388/xiaomi-temp-and-humidity-monitor-2-ble-adapter/97 -
@Lenny-CB said in [Vorlage] Einbinden des Xiaomi Mijia Bluetooth Thermo- und Hygrometer:
@Torsten-G schau dir mal die Anleitung an:
https://forum.iobroker.net/topic/28388/xiaomi-temp-and-humidity-monitor-2-ble-adapter/97Vielen Dank hat geholfen. Ist Anfänger geeignet
-
@soulforged Hallo, ich habe das Script etwas angepasst. Bei mir läuft es nun mit 6 Thermometern (die kleinen quadratischen Kästchen).
const pollrate_m = 5; //Abfrageintervall in Minuten (Empfehlung alle 5 Minuten / Temperaturänderung ist langsam / Schont die Batterie) const bluetooth_macs = ['A4:C1:38:15:0D:18','A4:C1:38:19:34:B7','A4:C1:38:2B:A7:0C','A4:C1:38:5E:0B:9B','A4:C1:38:6A:F8:3C','A4:C1:38:FA:CC:07']; const bluetooth_str = ['Bad','Schlafzimmer','Küche','Arbeitszimmer','Wohnzimmer','Gästezimmer']; const dpID = "javascript.0.Bluetooth.XiaomiHygroTemp"; const s_temp = "Temperatur"; const s_hygro = "Luftfeuchte"; const s_spann = "Spannung"; for(let i = 0; i < bluetooth_str.length; i++){ createState(dpID + "." + bluetooth_str[i] + "." + s_temp, 0,{unit: "°C", name: "Temperatur"}); createState(dpID + "." + bluetooth_str[i] + "." + s_hygro, 0,{unit: "%", name: "Luftfeuchte"}); createState(dpID + "." + bluetooth_str[i] + "." + s_spann, 0,{unit: "V", name: "Spannung"}); } var cronstring = "*/" + pollrate_m + " * * * *"; schedule(cronstring, async function () { for(let i = 0; i < bluetooth_macs.length; i++) poll_XiaomiHygroTemp(bluetooth_macs[i], i); await sleep(5000); }); function poll_XiaomiHygroTemp(mac, i){ var bluetooth_message = ''; var temperatur; var feuchte; var spannung; var spawn = require('child_process').spawn, gattool = spawn('gatttool',['-b', mac , '--char-write-req', '-a', '0x0038', '-n', '0100' ,'--listen']); gattool.stdout.on('data', function (data) { bluetooth_message += data.toString(); if(bluetooth_message.length > 96) { gattool.kill(/*'SIGQUIT'*/'SIGKILL'); //gatttool in kommandozeile unsanft beenden const pos1 = bluetooth_message.indexOf("value: ") + 7; const tempStr = bluetooth_message.substring(pos1, pos1 + 15).split(" "); temperatur = Math.round(parseInt(tempStr[1]+tempStr[0], 16)/10)/10; spannung = parseInt(tempStr[4]+tempStr[3], 16)/1000; feuchte = parseInt(tempStr[2], 16); console.log(i + ": " + temperatur + ", " + feuchte + ", " + spannung + ", " + bluetooth_str[i]); setState(dpID + "." + bluetooth_str[i] + "." + s_temp, temperatur, true); setState(dpID + "." + bluetooth_str[i] + "." + s_hygro, feuchte, true); setState(dpID + "." + bluetooth_str[i] + "." + s_spann, spannung, true); /* Antwort: Characteristic value was written successfully Notification handle = 0x0036 value: f8 07 4a d6 0b Bescheibung: f8 07 is the temperature as signed INT16 in little endian format. Divide it by 100 to get the temperature in degree Celsius. 4a is the humidity. Only integer output. d6 0b are the battery voltage in Millivolts in little endian format. Terminal: sudo hcitool lescan - Nach BLE Geräten suchen. */ } }); gattool.stderr.on('data', function (data) { //console.log('stderr: ' + data.toString()); log(i + ": " + bluetooth_str[i] + " hat nicht geantwortet. Warte auf nächsten Poll") }) };
Grüße Martin