Xiaomi Smart Home Komponenten

Begonnen von FosCo, 21 Dezember 2016, 18:59:59

Vorheriges Thema - Nächstes Thema

floflo

Bei mir erkennen die Aqara Bewegungsmelder nur alle ca. 60 Sekunden eine Bewegung. Das ist in der Mi Home App im Log sichtbar und schlägt sich dann natürlich auch in Fhem nieder. Komischerweise war es beim Neuanlernen der Sensoren in der App möglich, ca. alle 5-7 Sekunden eine Bewegung im Log angezeigt zu bekommen. Über Nacht hat es sich aber wieder auf die mir bekannten 60 Sekunden eingependelt. Ist das eventuell ein Bug in der Firmware oder gibt es Einstellungen in der App, die ich nicht blicke?

Steigerbalett

Zitat von: torte am 15 Dezember 2017, 07:17:38
Moin,

Ja, zwei oder mehrere gehen.

Da halt alles über einen einzigen Port läuft, muss das Modul nun prüfen zu welcher Instanz es gehört. Das geht über die SID (Internals).
Wenn nun ein Heartbeat kommt, von einem GW mit einer SID die die FHEM noch nicht kennt, knallt es. Hatte das beim entwickeln, nicht aufm Schirm, dass man mehre
GWs haben kann aber nur einen in FHEM definiert. Workarround ist halt beide(alle) GWs in FHEM zu definieren ohne das die noch nicht definierten im Netzwerk sind.
Oder GW1 im Strom -> define. GW1 ausstecken in FHEM geht das device auf disconnect. Dann GW2 einstecken und das define machen. Dann GW1 wieder in den Strom.
Wie gesagt, sollte mit dem nächsten Release, dieses Problem aussterben.


Grüße
Torte

Hallo Torte,
wenn ich bei mir ein zweites Gateway einstecke schmiert FHEM reproduzierbar ab.
Einzeln funktionieren die Gateways in FHEM, das Modul kennt also beide.

2018.04.01 19:55:02 5: MiGateway: Read> Read start
2018.04.01 19:55:02 5: MiGateway: Read> {"cmd":"heartbeat","model":"gateway","sid":"34ce0088XXXX","short_id":"0","token":"KqihoiDBEU4mXXXX","data":"{\"ip\":\"192.168.178.50\"}"}
2018.04.01 19:55:02 5: MiGateway: Read> HASH correctly
2018.04.01 19:55:02 5: MiGateway: Reading> Reading start
2018.04.01 19:55:02 4: MiGateway: Reading> Heartbeat from 192.168.178.50 received with 34ce0088XXXX
2018.04.01 19:55:02 5: Starting notify loop for MiGateway, 1 event(s), first is heartbeat: 34ce0088XXXX
2018.04.01 19:55:02 5: End notify loop for MiGateway
2018.04.01 19:55:04 5: MiGateway: Read> Read start
2018.04.01 19:55:04 5: MiGateway: Read> {"cmd":"heartbeat","model":"gateway","sid":"7811dcb0XXXX","short_id":"0","token":"xSWs82cuTBaBXXXX","data":"{\"ip\":\"192.168.178.51\"}"}
2018.04.01 19:55:04 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/71_XiaomiSmartHome.pm line 152.
2018.04.01 19:55:04 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/71_XiaomiSmartHome.pm line 154.
2018.04.01 19:55:04 5: MiGateway: Read> Change HASH Ref to
2018.04.01 19:55:04 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at ./FHEM/71_XiaomiSmartHome.pm line 168.
2018.04.01 19:55:04 5: : Reading> Reading start
Can't call method "incr_parse" on an undefined value at ./FHEM/71_XiaomiSmartHome.pm line 169.


Version: 1.20
74_XiaomiBTLESens.pm         16474 2018-03-24 12:23:15Z CoolTux
72_XiaomiDevice.pm              16396 2018-03-13 07:40:34Z moises
No Id found for 71_XiaomiSmartHome.pm
No Id found for 71_XiaomiSmartHome_Device.pm

Muss ich noch etwas beachten bei zwei Gateways?
Bei einigen scheint es ja zu funktionieren.


_hndrk

Zur Info für alle die ein ähnliches Problem haben.
Wenn im Log folgendes Problem auftaucht und der Hub nicht zu reagieren scheint:

2018-04-07 14:04:39 XiaomiSmartHome MiHub UNKNOWNCODE {"cmd":"write_ack","sid":"7811dcb076ca","data":"{\"error\":\"No device\"}"}
2018-04-07 14:04:43 XiaomiSmartHome MiHub pct: 23
2018-04-07 14:04:43 XiaomiSmartHome MiHub on
2018-04-07 14:04:43 XiaomiSmartHome MiHub UNKNOWNCODE {"cmd":"write_ack","sid":"7811dcb076ca","data":"{\"error\":\"No device\"}"}



Dann einfach mal das Gateway per Xiaomi App updaten. Das war bei mir der Fall (vorher Firmware 1.3.x, jetzt 1.4.x).
Grüße
Hendrik

tatu123

Hallo zusammen,

ich habe das Modul jetzt auch schon seit geraumer Zeit ohne Probleme im Einsatz.

Leider habe ich gestern ein Update der Basis über in APP (Version 1.4.1_154.0143) gemacht. Seit dem Funktioniert das Modul nicht mehr. Als Fehler steht im Log

XiaomiSmartHome: connect> Ping to 192.168.178.80 failed

Das kann ich auch nachvollziehen. Die Basis antwortet nicht auf Ping's. Über den Multicast Test ist die Basis ansprechbar und ich bekomme auch antworten.

Ich habe jetzt schon die Basis resetet und neu angelernt. Im fhem das Modul gelöscht und neu angelegt. Emtwicklermodus neu freigeschaltet,  das Passwort mehrfach geändert.
Alles ohne Erfolg.

Hat einer eine Idee was ich vergessen habe bzw. kann ich den Ping-Test abschalten ?

Viele Grüße
Heiko

hanswerner1

Zitat von: tatu123 am 17 April 2018, 16:15:02
Leider habe ich gestern ein Update der Basis über in APP (Version 1.4.1_154.0143) gemacht. Seit dem Funktioniert das Modul nicht mehr.

Auf diese Version habe ich auch letzte Woche meine beiden Gateways geupdatet, ohne Probleme.

torte

Hallo tatu123,

hab das Update auch drauf und das GW pingt wie eine Weltmeister, hat sich das GW bei Dir evtl. irgendwie eine andere IP gezogen?

Grüße
Torte

tatu123

IP und so ist alles gut. Aber das ilft mir erst mal schon das es bei euch funktioniert. Dann muss ich wohl hier noch mal suchen.

Vielen Dank erstmal.

Typ1er

Ein Gateway musste in MiHome neuanlernen. Eines hat sich nicht mehr verbunden. Danach ging es auch wieder in FHEM.

tatu123

Ich habe jetzt noch mal von ganz vorn angefangen. Die Lösung, hatte ich die letzten Tage nicht gemacht, war in der Fritzbox das Gerät ebenfalls zu löschen. Dann funktionierte es auf einmal. Ich denke die IP ist kapput. Werde garantie bei AVM beantragen.  8) :D ;)

Danke noch mal

Typ1er

Kann man das Xiaomi Gateway über FHEM auch scharf schalten?

macmattes

@Steigerbalett

habe auch 2 gateways, wärend beim einstecken des 2.ten fhem abflog.
mein vorgehensweise war .
1. gateway definieren und laufen lassen bis die SID kam, (dauert ne weile)
2. gateway 1 ausstecken und warten bis disconnected kommt (war wichtig so lange zu warten)
3. gateway 2 einstecken und definieren, abwarten bis auch hier die SID da ist, (dauert auch wieder)
4. jetzt erst gateway 1 einstecken.
damit ging es.
bei nem neustart von FHEm war wieder alles tot  und fhem startete nur mit einem eingesteckten Gateway

hab mir das log angeschaut und gesehen, dass beim Start der connect vom 2. gateway fehlschlug weil ein socketproblem zuschlug, nun startet fhem mit beiden gateways, ohne anstand hoch.


in 71_XiaomiSmarthome  an Zeile 727 ha ich nur den ReusePort hinzugefügt.

"my $sock = IO::Socket::Multicast->new( Proto     => 'udp', LocalPort =>'9898', ReusePort => 1, ReuseAddr => 1, Timeout => $timeout) or die "Creating socket: $!\n";
"

obs das war oder ich nur ein problem bei mir gelöst habe, müsset mal jemand erklären der den kram richtig versteht.

morph


ChrisK

Den incr_parse-Fehler habe ich leider seit neuestem auch.

Es hat ein paar Wochen lang problemlos geklappt, auch mit zwei Gateways.
Jetzt kommt der Fehler auch wenn ich nur das eine Gateway in der config stehen lasse (ich musste die Gateways direkt in der fhem.cfg auskommentieren, weil ich nicht mehr über die Web-UI drankam).

Die Definition sieht so aus:
define xiaomi_gateway XiaomiSmartHome 192.168.2.117
attr xiaomi_gateway devStateIcon {Color_devStateIcon(ReadingsVal($name,"rgb","000000"))}
attr xiaomi_gateway room MiSmartHome
attr xiaomi_gateway webCmd pct:rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:on:off


Der Log-Auszug, wenn ein Gateway mit geladen werden soll:

2018.06.18 18:44:49 5: PRESENCE (hm_cfg_lan) - starting ping scan: hm_cfg_lan|192.168.2.3|0|4
2018.06.18 18:44:49 5: xiaomi_gateway: Read> Read start
2018.06.18 18:44:49 5: xiaomi_gateway: Read> {"cmd":"heartbeat","model":"gateway","sid":"7811dcb7cd62","short_id":"0","token":"ZmuyZjnHTYKzoKnj","data":"{\"ip\":\"192.168.2.118\"}"}
2018.06.18 18:44:49 1: PERL WARNING: Use of uninitialized value in string ne at ./FHEM/71_XiaomiSmartHome.pm line 152.
2018.06.18 18:44:49 1: stacktrace:
2018.06.18 18:44:49 1:     main::__ANON__                      called by ./FHEM/71_XiaomiSmartHome.pm (148)
2018.06.18 18:44:49 1:     main::XiaomiSmartHome_Read          called by fhem.pl (3497)
2018.06.18 18:44:49 1:     main::CallFn                        called by fhem.pl (700)
2018.06.18 18:44:49 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/71_XiaomiSmartHome.pm line 154.
2018.06.18 18:44:49 1: stacktrace:
2018.06.18 18:44:49 1:     main::__ANON__                      called by ./FHEM/71_XiaomiSmartHome.pm (154)
2018.06.18 18:44:49 1:     main::XiaomiSmartHome_Read          called by fhem.pl (3497)
2018.06.18 18:44:49 1:     main::CallFn                        called by fhem.pl (700)
2018.06.18 18:44:49 5: xiaomi_gateway: Read> Change HASH Ref to
2018.06.18 18:44:49 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at ./FHEM/71_XiaomiSmartHome.pm line 168.
2018.06.18 18:44:49 1: stacktrace:
2018.06.18 18:44:49 1:     main::__ANON__                      called by ./FHEM/71_XiaomiSmartHome.pm (168)
2018.06.18 18:44:49 1:     main::XiaomiSmartHome_Reading       called by ./FHEM/71_XiaomiSmartHome.pm (155)
2018.06.18 18:44:49 1:     main::XiaomiSmartHome_Read          called by fhem.pl (3497)
2018.06.18 18:44:49 1:     main::CallFn                        called by fhem.pl (700)
2018.06.18 18:44:49 5: : Reading> Reading start
Can't call method "incr_parse" on an undefined value at ./FHEM/71_XiaomiSmartHome.pm line 169.


Die Software der Devices ist aktuell und die lassen sich über die Mi-App auch problemlos ansprechen (IP ist auch korrekt).

Wenn irgendwer eine Idee hat, dann wäre das super!
Danke schon mal.

macmattes

#838
Mit der Änderung Portreuse hab ich dass Problem nicht mehr


torte

Zitat von: macmattes am 18 Juni 2018, 19:33:51
Mit der Änderung Portreise hab ich dass Problem nicht mehr
Wasn ne Portreise ? [emoji849]

Gesendet mit Tapatalk