[Neues Modul] Xiaomi Smart Home ohne Gateway direkt an FHEM

Begonnen von neumann, 22 Februar 2018, 18:00:22

Vorheriges Thema - Nächstes Thema

wertz

Zitat von: neumann am 22 März 2018, 15:29:23
Ja, du musst erst ein MQTT Device definieren.
define MQTT MQTT localhost:1883

!!Das hat soweit funktioniert!!
der MQTT bleibt aber disconnect :(

connection  disconnected
state           disconnected
...

neumann

Modulentwickler
- Spotify #72490
- Nello #75127

wertz

HI,
ich bin am verzweifeln....
nun bin ich soweit dass ich die Sensoren pairen kann, aber es will einfach nicht funktionieren.
Den Wiki Eintrag habe ich gelesen,  werde aber nicht wirklich schlau daraus.

Kann mir jemand weiterhelfen?
Danke

Himberger

Hmmm, jetzt sind all meine Teile angekommen aber das flashen will nicht gelingen.

Ich habe mit den flash Programmer 1.12.8 geladen, den Debugger an den PC gesteckt (Treiber wurden automatisch installiert), den USB-Stick in den PC gesteckt (Treiber wurden automatisch installiert) und den Debugger mit dem Stick verbunden. Das Kabel vom Stecker verläuft direkt von der Kante weg, geht nicht über die Platine drüber.
Programmer als Admin gestartet und da taucht das erste Problem auf: es wird kein Device gefunden.
Grummel...
Hab ich was übersehen?

MiKn

pairen geht. Die Readings sind noch etwas verschieden,

Mit Xiami Gateway:
Zitatsetstate XMI_158d0001e47f53 2018-03-22 21:30:50 battery ok
setstate XMI_158d0001e47f53 2018-03-22 21:30:50 battery_level 3
setstate XMI_158d0001e47f53 2018-03-22 21:30:50 heartbeat 158d0001e47f53
setstate XMI_158d0001e47f53 2018-03-22 21:30:50 lux 7
setstate XMI_158d0001e47f53 2018-01-05 17:32:34 motionOffTimer 10
setstate XMI_158d0001e47f53 2018-03-22 20:48:09 no_motion 1800
setstate XMI_158d0001e47f53 2018-03-22 20:18:22 state off

mit Stick:
Zitatsetstate XMI_0x00158d0001e08bb6 motion
setstate XMI_0x00158d0001e08bb6 2018-03-23 17:10:54 battery ok
setstate XMI_0x00158d0001e08bb6 2018-03-23 17:10:54 battery_level 3025
setstate XMI_0x00158d0001e08bb6 2018-03-23 17:39:32 lux 3
setstate XMI_0x00158d0001e08bb6 2018-03-23 17:39:32 state motion
setstate XMI_0x00158d0001e08bb6 2018-03-23 17:39:32 transmission-state incoming publish received

Primär scheint es keinen motionOffTimer für "No Motion" zu geben, daher ist der Status immer auf motion. Und die battery level Auswertung ist etwas aus der normalen Format "3025" anstelle von "3". Sonst scheint es erstmal zu laufen. Mal weitere Geräte pairen :)!

@Himberger
Debuger LED ist grün? Häng mal ein Foto vom Flash Programmer an.

@wertz, Pairinganleitung aus dem ersten Post verwendet? 220sek pairing einstellen und in den ersten 60sek alle 2sek den sleep des Gerätes durch kurzes drücken des Pairingknopfes vermeiden.

Himberger

@MiKn: Nachdem ich noch mal alles runter geworfen und neu installiert habe (Treiber diesmal manuell) wurde die LED vom Debugger auch grün und der Programmer findet auch den Stick.

WOOOHOOO!

Nun aber das nächste Problem:
Could not open specified HEX file

Ich hab das Hexfile so wie es bei Github zu finden ist herunter geladen und im Programmer ausgewählt

wertz

@MiKn:
Vielen Dank für deine Antwort, ich habe jetzt die halbe Nacht mit pairen verbracht  :-\
Bin dann schlussendlich erfolgreich gewesen. Hatte meinen rpi zwischendurch mehrmals neu gestartet und nach dem 3. reboot hat das pairen geklappt, das anschließende autocreate auch. Warum auch immer.
Jetzt kann ich beruhigt in Urlaub gehen 8) euch allen frohe Ostern.

Himberger

Ok, mein Problem mit dem Hexfile hat sich erstmal erledigt, beim nächsten Neustart lief es dann.
Jetzt warte ich noch auf meine Sensoren und kann dann weiter machen

neumann

Super, freut mich, dass ihr auch erste Erfolge erzieht. Das Pairing ist echt etwas frickelig und braucht Geduld, wenn man aber einmal den Dreh raus hat, klappt es gut :)

Zitat von: MiKn am 23 März 2018, 18:02:39
pairen geht. Die Readings sind noch etwas verschieden,

Mit Xiami Gateway:
mit Stick:
Primär scheint es keinen motionOffTimer für "No Motion" zu geben, daher ist der Status immer auf motion. Und die battery level Auswertung ist etwas aus der normalen Format "3025" anstelle von "3". Sonst scheint es erstmal zu laufen. Mal weitere Geräte pairen :)!

Ja genau, den motionOffTimer habe ich nicht implementiert, weil ich ihn persönlich nicht brauche. Ich habe einfach ein notify auf dem State, wenn ich Bewegung erkennen will.
Den Batteriewert bekommt man als Integer zugeschickt, finde ich auch deutlich besser zu verarbeiten als die Kommazahl.
Modulentwickler
- Spotify #72490
- Nello #75127

neumann

Ich habe eine neue Version der MQTT Bridge hochgeladen, die den Stick automatisch erkennt und normal in den Autostart gepackt werden kann.
Für Leute, die schon eine Installation am Laufen haben - auf jeden Fall den Ordner node_modules übernehmen (da ist das Pairing drin gespeichert!), ein mal ein npm install machen, die Einträge aus /etc/rc.local entfernen und final ein systemctl enable xiaomi.
Modulentwickler
- Spotify #72490
- Nello #75127

thorsten.d

Zitat von: Himberger am 23 März 2018, 18:22:57
@MiKn: Nachdem ich noch mal alles runter geworfen und neu installiert habe (Treiber diesmal manuell) wurde die LED vom Debugger auch grün und der Programmer findet auch den Stick.

WOOOHOOO!

Nun aber das nächste Problem:
Could not open specified HEX file

Ich hab das Hexfile so wie es bei Github zu finden ist herunter geladen und im Programmer ausgewählt

Kannst du das weiter ausführen?
Ich sehe meinen Stick ebenfalls nicht im Flash Tool, habe die erste und die zweite Version getestet.

Habe probiert die Treiber manuell zu installieren, habe aber nichts für den USB Stick gefunden, nur für den CC Debugger hier:
http://www.ti.com/tool/CC-DEBUGGER
"Cebal - CCxxxx Development Tools USB Driver for Windows x86 and x64 (Rev. A)"

Im Device Manager steht auch, dass für die beiden Geräte keine Treiber geladen wurden, obwohl ich den verlinkten installiert habe.

Die Lampe vom Debugger leuchtet grün, wenn ich als erstes den USB Stick und dann den Debugger einstecke, wenn ich es in umgekehrter Reihenfolge mache, leuchtet sie rot.

Jemand eine Idee? :'(

neumann

Für den Stick brauchst du keinen Treiber, nur für den Debugger. Der Stick braucht zum flashen nur Strom.
Stick mit Strom verbinden, Debugger einstecken. Wenn die LED rot leuchtet einfach den Knopf am Debugger drücken.
D.h. der Treiber für den Debugger ist installiert aber der Smart RF Flash Programmer findet ihn nicht?
Hast du denn auch die erste Version (nicht v2) verwendet? V2 hat bei mir auch nicht funktioniert.
Modulentwickler
- Spotify #72490
- Nello #75127

thorsten.d

Ich habe Version 2 probiert, nachdem Version 1 nicht funktioniert hat.

Ich habe es aber gerade eben doch noch hinbekommen, auch wenn ich nicht genau weiß woran es gelegen hat.

Also Step by step, was ich getan habe, nachdem Flash Tool v1 und v2 es nicht gefunden haben:

1. alle Sachen vom Flash Tool deinstallieren
2. dieses Treiberpaket von dem hier deinstallieren: http://www.ti.com/tool/CC-DEBUGGER (ging über Programme deinstallieren, nicht im Gerätemanager)
3. hier Treiber downloaden: http://www.ti.com/product/CC2531/toolssoftware "CC USB Firmware Library and Examples (Rev. C)  (ZIP1316KB )   1,517views,01 Dec 2009"
4. Windows so neustarten, das unsignierte Treiber installiert werden können: https://www.maketecheasier.com/install-unsigned-drivers-windows10/
5. im den vorher runtergeladenen Treiber entpacken und driver/usb_cdc_driver_cc2531.inf rechtsklicken -> installieren
6. Flash Tool v1 Setup als Admin starten und installieren
7. CC2531 anschließen
8. Debugger anschließen, Lampe sollte grün sein
9. Flash Tool starten und es war direkt da!

Herzlichen Dank für die schnelle Antwort, Oskar!
Wenn der Rest jetzt so funktioniert wie geplant bin ich überglücklich!

neumann

Danke für die Hinweise!
Ich habe mich auch gewundert, warum das Pairing bei mir nach dem 36. Gerät nicht mehr funktioniert hat.
Es hat sich herausgestellt, dass ich einfach nicht nah genug am Stick war.
Modulentwickler
- Spotify #72490
- Nello #75127

TheCULessGuy

Kann mir jemand erklären was der Unterschied zwischen dieser Anbindung und der Anbindung via Raspbee-Modul ist?

Gruß TheCULessGuy