[74_XiaomiBTLESens.pm] Xiaomi Bluetooth Sensoren FlowerSens/Thermometer

Begonnen von CoolTux, 11 Januar 2018, 15:42:45

Vorheriges Thema - Nächstes Thema

CoolTux

Keine Sorge. Die wollen nicht alle um Punkt 6 Uhr loslaufen.
Der Timer für jeden einzelnen Sensor läuft trotz disabled weiter. Es wird lediglich nicht abgefragt. Daher kann es sein das der letzte Timer ohne Abfrage 6 Uhr ist und dann dem zu Folge der nächste bei einer Stunde Intervall erst wieder 7 Uhr. Wichtig ist zu wissen daß bei jedem neuen Timer immer eine Zufallszahl mit dazu kommt von max 15 min.

Es muss bei Dir also was anderes sein.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ToM_ToM

Hi Leon,

ich hatte die jetzt alle wieder auf die gleiche Zeit gestellt und mal ein paar Tage beobachtet. Nun lief alles wie es sollte. Werde das nochmal länger beobachten. Aber nach manchen Neustarts von meinem Pi bekomme ich den Fehler No route to host (113).

hciconfig hci0 reset bringt dann Can't get device info: No such device

Dann muss ich meist den Bluethooth-Adapter abziehen und wieder anstecken und dann geht's. Hast du hier vielleicht einen Tipp für mich wie ich bei so einem Fehler den Adapter anders (automatisiert) neu einlesen kann?

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ToM_ToM

ZitatStatt reset mal up und down nehmen.

Funktioniert leider auch nicht da er das Device irgendwie nicht kennt. Es müsste eine Möglichkeit geben, dieses neu einzulesen ohne es immer manuell abzuziehen und neu anzustecken.


fhem@bananapi:~$ sudo hciconfig hci0 up
Can't get device info: No such device
fhem@bananapi:~$

Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

CoolTux

Seltsam. Da weiß ich aber nicht wirklich mehr. Es gibt einige Einträge dazu im Forum. Vielleicht findest Du eine passende Lösung.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

mark79

Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

ToM_ToM

ZitatVielleicht hilft dir so was, ein USB Reset

Habe ich auch probiert mit:
modprobe -r btusb && sleep 1 && modprobe btusb

Aber funktioniert leider auch nicht. Er verliert den Stick auch irgendwie nur immer dann, wenn ich den Pi vom Strom getrennt hatte. Habe eben nochmal geteste. reboot und shutdown ist kein Thema. Erst nach einem shutdown + Stromtrennung ist der Stick nach Wiedereinschalten nicht mehr ansprechbar und muss manuelle entfernt und neu eingesteckt werden.
Evtl. muss ich mir eine USV organisieren.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

mark79

Bei mir funktioniert das mit dem USB Reset leider auch nicht. Bei mir handelt es sich um ein Playstation 3 Eye Kamera mit 4x Mikrofon (USB), was ich für Snips (Alexa ohne Cloud) verwende möchte.

Wenn ich den Rock64 oder Orange PI Zero reboote und das USB Device dabei verbunden ist, funktioniert das Device danach nicht mehr.
Wenn ich aber das USB Device abstecke und neu verbinde geht es.

Mach ich ein shutdown und trenne den Strom und verbinde es neu, funktioniert das USB Device nach dem Systemstart komischerweise.

Ich vermute das liegt am Kernel... Laut Berichten wurde das beim RPi durch ein Kernel update wohl behoben (noch nicht selbst getestet) und wir, mit dem Exoten Boards wurde das wohl vergessen zu beheben...
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

ToM_ToM

Hi Leon,

heute hatte ich wieder den Fall dass alle Sensoren weiterhin auf "disabled" stehen. Und das, obwohl es mittlerweile schon 09:51 ist.


Internals:
   BTMAC      C4:XX:XX:XX:XX:70
   DEF        C4:XX:XX:XX:XX:70
   INTERVAL   3600
   NAME       Pflanze_07
   NOTIFYDEV  global,Pflanze_07
   NR         1005
   NTFY_ORDER 50-Pflanze_07
   STATE      disabled
   TYPE       XiaomiBTLESens
   VERSION    2.2.0
   loglevel   4
   READINGS:
     2018-06-14 20:36:07   battery         ok
     2018-06-14 20:36:07   batteryLevel    100
     2018-08-10 18:54:20   batteryPercent  100
     2018-08-10 18:54:20   batteryState    ok
     2018-08-10 20:54:55   fertility       1182
     2018-08-10 18:54:20   firmware        3.1.8
     2018-08-10 18:32:35   lastGattError   No route to host (113)
     2018-08-10 20:54:55   lux             115
     2018-08-10 20:54:55   moisture        21
     2018-08-10 20:54:55   moistureFeeling good
     2018-08-11 00:58:08   state           disabled
     2018-08-10 20:54:55   temperature     27.1
   helper:
     CallBattery 0
     CallSensDataCounter 0
Attributes:
   DbLogExclude .*
   alias      Gasteria
   disabledForIntervals 21:00-24:00 00:00-06:00
   interval   3600
   maxFertility 1000
   maxLux     30000
   maxMoisture 50
   maxTemp    35
   minFertility 300
   minLux     3500
   minMoisture 7
   minTemp    5
   model      flowerSens
   room       FlowerSens
   userReadings moistureFeeling:moisture.* {
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {
return "too dry";
}
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {
return "too wet";
}
else {
return "good";
}
}



Zur Vollständigkeit auch hier nochmal ein List von einem Device mit dem alten Modul (da ich davon auch noch einige im Einsatz habe)


Internals:
   BTMAC      C4:YY:YY:YY:YY:4B
   DEF        C4:YY:YY:YY:YY:4B
   INTERVAL   3600
   NAME       Pflanze_01
   NOTIFYDEV  global
   NR         411
   NTFY_ORDER 50-Pflanze_01
   STATE      disabled
   TYPE       XiaomiFlowerSens
   VERSION    1.4.1
   loglevel   4
   READINGS:
     2018-08-10 18:54:12   battery         ok
     2018-08-10 18:54:12   batteryLevel    98
     2018-08-10 19:58:40   fertility       253
     2018-08-10 18:54:12   firmware        3.1.4
     2018-08-10 18:32:30   lastGattError   No route to host (113)
     2018-08-10 19:58:40   lux             1289
     2018-08-10 19:58:40   moisture        23
     2018-08-10 19:58:40   moistureFeeling good
     2018-08-11 00:57:57   state           disabled
     2018-08-10 19:58:40   temperature     29.2
   helper:
     CallBatteryFirmware 0
     CallSensDataCounter 0
Attributes:
   DbLogInclude batteryLevel:86400,fertility,lux,moisture,temperature
   alias      Kalanchoe
   disabledForIntervals 21:00-24:00 00:00-06:00
   hciDevice  hci0
   interval   3600
   maxFertility 2000
   maxLux     60000
   maxMoisture 60
   maxTemp    32
   minFertility 350
   minLux     3000
   minMoisture 7
   minTemp    10
   room       FlowerSens
   userReadings moistureFeeling:moisture.* {
if (ReadingsVal($name, "moisture", -1) < AttrVal($name, "minMoisture", 0)) {
return "too dry";
}
elsif (ReadingsVal($name, "moisture", -1) > AttrVal($name, "maxMoisture", 100)) {
return "too wet";
}
else {
return "good";
}
}
   verbose    0




VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

CoolTux

Interessant. Der letzte Durchlauf war 0:58 Uhr. Danach lief kein Timer mehr. Eine Erklärung habe ich dafür nicht. Du kannst versuchen verbose 5 bei einem Device an zu stellen, eventuell sieht man dann mehr.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ToM_ToM

Gegen 0:58 hatte ich FHEM neu gestartet da ich gestern noch bisschen was gebastelt hatte. Kann es sein dass ich das System in der Zeit wo die Geräte disabled sind, nicht neu starten darf da dann die Timer die das Gerät wieder enablen sollen, verloren gehen?
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

CoolTux

Eigentlich sollte das nicht das Problem sein. Die Timer sollten dennoch laufen. Ich schaue es mir aber mal an.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

mark79

Zitat von: CoolTux am 29 Juli 2018, 07:24:07
Es gibt da so die ein oder andere App. Musst bitte mal schauen. Oder eventuell findest Du sogar schon Infos im Netz.
Ich bin heute zufällig auf so etwas gestoßen:
https://www.heise.de/security/meldung/Btlejack-Neues-Gratis-Tool-zum-Belauschen-von-Bluetooth-Verbindungen-4134142.html
https://github.com/virtualabs/btlejack

Man benötigt allerdings ein Micro:Bit, der kostet jedoch nur ~16€.
Rock64 4GB mit Debian Strech, FHEM im LXC, Sonoff Switches/Touch, HM Thermostate, HMUART/Zigbee2MQTT@MapleCUN, ESP RGBWW Wifi Controller, ESP8266 Door Sensor/Briefkastenwächter, BT CSL Stick, BT iTags, Alexa, FireTV, RPi2 mit Kodi, Xiaomi Vacuum v1/Smarthome Komponenten

CoolTux

Zitat von: mark79 am 13 August 2018, 23:47:56
Ich bin heute zufällig auf so etwas gestoßen:
https://www.heise.de/security/meldung/Btlejack-Neues-Gratis-Tool-zum-Belauschen-von-Bluetooth-Verbindungen-4134142.html
https://github.com/virtualabs/btlejack

Man benötigt allerdings ein Micro:Bit, der kostet jedoch nur ~16€.

Wenn man im Netz schaut findet man diverse Anleitungen. Unteranderem gibt es bei Android unter Entwicklertools, also das was man freischalten muss, die Möglichkeit ein BT Log schreiben zu lassen welches man dann mit Wireshark auslesen kann.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: ToM_ToM am 11 August 2018, 10:26:07
Gegen 0:58 hatte ich FHEM neu gestartet da ich gestern noch bisschen was gebastelt hatte. Kann es sein dass ich das System in der Zeit wo die Geräte disabled sind, nicht neu starten darf da dann die Timer die das Gerät wieder enablen sollen, verloren gehen?

Hab Dich nicht vergessen. Ich teste noch.  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net