Xiaomi Smart Home Komponenten

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

Vorheriges Thema - Nächstes Thema

Morrino

Zitat von: torte am 07 April 2017, 08:05:40
@Morrino
Deckt sich also das Verhalten wie bei mir, durch das Firmwareupdate verursachte verhalten. Mit UpdateAll wird immer nur
das Gateway angefragt wie ist der Status der Sensoren. Wenn das Gateway FHEM meldet das die Sensoren open sind dann zeigt das Modul das auch so an.
UpdateAll triggert nicht die Sensoren direkt an, das geht auch nicht.

Grüße
Torte

Moin,

ganz so ist es aber nicht wenn ich es richtig sehe.
Selbst wenn ich das Gateway in unmittelbarer Nähe zu den Sensoren bringe wird in der App ein anderer Zustand als in FHEM angezeigt.
Das von FHEM aus die Snesoren nicht getriggert werden dachte ich schon. Aber wenn sich FHEM den Zustand vom Gateway holt dann müsste es ja eigentlich passen.

torte

Ich weiß nicht wie die APP das macht ich kann nur das Gateway über die API anfragen. Wenn das GW dann open meldet ist es so.

In Deinem Log steht ja die Antwort  ->open
2017.04.06 20:30:06 5: Xiaomi_Gateway> {"cmd":"read_ack","model":"magnet","sid":"158d0001585103","short_id":28110,"data":"{\"voltage\":3065,\"status\":\"open\"}"}

Es könnte auch einfach sein das die APP so blöd ist und keinen aktuellen Status anzeigt sondern einfach nur den alten und der passt nun  ::)
Was sagt die APP wenn Du bei Geschlossener Tür das Gateway aus der Steckdose ziehst dann die Tür öffnest und dann das Gateway wieder einschaltest?


gt_im

vielleicht interessiert es jemanden:

ich habe bei meinen sensoren ein userreading für die batterieanzeige (readingsgroup) eingefügt, hier ein beispiel für ein device namens MiSwitch1:
battery { ReadingsVal("MiSwitch1","voltage",1) / 1000;}

jetzt tauchen auch die xiaomi sensoren in der batterieüberwachung auf...

torte

Was meinst du mit Batterie Überwachung?

Gesendet von meinem Pixel XL mit Tapatalk



torte

Ah cool kannte ich noch nicht. Was mein ihr / du wir können das Reading auch direkt in battery umbenennen.

Gesendet von meinem Pixel XL mit Tapatalk

gt_im

Zitat von: torte am 07 April 2017, 19:53:29
Ah cool kannte ich noch nicht. Was mein ihr / du wir können das Reading auch direkt in battery umbenennen.

Gesendet von meinem Pixel XL mit Tapatalk

das waere natuerlich einfacher... ich bin dafuer

torte

Hi,

finde ich gut, baue ich ein. Wenn jemand an dem Reading voltage hängt bitte hier schreien.

Grüße
Torte

MothersFinest

Wie dösig von mir.
Sieht tatsächlich so aus, als ob das GW mal wieder sein Passwort vergessen hätte.

Jetzt schalten sie wieder.

torte

Zitat von: MothersFinest am 07 April 2017, 21:26:11
Wie dösig von mir.
Sieht tatsächlich so aus, als ob das GW mal wieder sein Passwort vergessen hätte.

Jetzt schalten sie wieder.
Na ja vergessen sollte der das Passwort ja eigentlich nicht. Komisch, vielleicht durch einen Update Vorgang. Werde aber auf jeden Fall das error Handling verbessern sodass sowas sofort im Log erscheint.


Gesendet von meinem Pixel XL mit Tapatalk


MothersFinest

Im Log findet sich bei mir alle 10 Sekunden eine Fehlermeldung von "Color", "o" sei kein gültiges hexadezimales Zeichen.

Auf der Suche nach der Ursache bin ich bei den periodischen Heartbeats des Gateways und dem "rgb" Reading gelandet.
Wenn die LED am Gateway ausgeschaltet ist, geht nicht nur der Status auf "off", auch "rgb" wird auf "off" gesetzt und das verursacht die Fehlermeldung.

Im Code findet sich das in 71_XiaomiSmartHome.pm

sub XiaomiSmartHome_Set($@)
...
readingsSingleUpdate( $hash, 'state', 'off', 1 );
readingsSingleUpdate( $hash, 'rgb', 'off', 0 );


Ich habe wie folgt geändert und die Meldungen sind weg.

sub XiaomiSmartHome_Set($@)
...
readingsSingleUpdate( $hash, 'state', 'off', 1 );
readingsSingleUpdate( $hash, 'rgb', '000000', 1 );


Kann das übernommen werden oder wird "rgb" mit "off" codiert evtl. benötigt?

torte

Hi

guck mal hier im thread #160
Wird in der nächsten Version nach Ostern geändert.

Gruß
Torte



Gesendet von meinem Pixel XL mit Tapatalk


mahowi

#177
Heute ist mein Gateway endlich angekommen. Direkt nach dem define stürzt FHEM ab und startet neu. Die letzte Meldung vor dem Neustart:
2017.04.10 19:13:39.609 3: MiGateway> ConnectStart
2017.04.10 19:13:39.624 3: MiGateway> connected
invalid destination address at ./FHEM/71_XiaomiSmartHome.pm line 433.


Ich habe statt IP einen Hostnamen eingegeben, da ich in meinem Speedport leider keine festen IPs vergeben kann und ich auch keine Möglichkeit gefunden habe, im Gateway eine feste IP einzustellen. Laut commandref sollte das auch funktionieren:
define <name> XiaomiSmartHome <IP or Hostname>

Mit IP-Adresse im define gibt es keine Fehlermeldung. Der Hostname ist anpingbar.



Edit: Ich habe zwar noch keine weiteren Geräte eingebunden, aber schon das Schalten der LED funktioniert leider nicht:

2017.04.10 19:32:53.600 4 : MiGateway> {"cmd":"write","model":"gateway","sid":"","short_id":0,"key":"8","data":"{\"rgb\":4278255360,\"key\":\"79c767d2376d70be110063066a3d36a3\"}" } 192.168.1.106
2017-04-10 19:32:53.621 XiaomiSmartHome MiGateway on
2017-04-10 19:32:53.621 XiaomiSmartHome MiGateway rgb: 00ff00
2017.04.10 19:32:54.006 5 : MiGateway> Read:{"cmd":"write_ack","data":"{\"error\":\"No device\"}"}
2017.04.10 19:32:54.007 4 : MiGateway> Dispatch! {"cmd":"write_ack","data":"{\"error\":\"No device\"}"}
2017.04.10 19:32:54.008 5 : MiGateway: dispatch {"cmd":"write_ack","data":"{\\"error\\":\\"No device\\"}"}
2017-04-10 19:32:54.024 XiaomiSmartHome MiGateway UNKNOWNCODE {"cmd":"write_ack","data":"{\"error\":\"No device\"}"}
2017.04.10 19:32:54.028 3 : MiGateway: Unknown code {"cmd":"write_ack","data":"{\"error\":\"No device\"}"}, help me!
2017.04.10 19:32:55.522 4 : MiGateway> {"cmd":"write","model":"gateway","sid":"","short_id":0,"key":"8","data":"{\"rgb\":4278255360,\"key\":\"79c767d2376d70be110063066a3d36a3\"}" } 192.168.1.106
2017-04-10 19:32:55.538 XiaomiSmartHome MiGateway on
2017-04-10 19:32:55.538 XiaomiSmartHome MiGateway rgb: 00ff00
2017.04.10 19:32:55.547 5 : MiGateway> Read:{"cmd":"write_ack","data":"{\"error\":\"No device\"}"}
2017.04.10 19:32:55.548 4 : MiGateway> Dispatch! {"cmd":"write_ack","data":"{\"error\":\"No device\"}"}
2017.04.10 19:32:55.549 5 : MiGateway: dispatch {"cmd":"write_ack","data":"{\\"error\\":\\"No device\\"}"}
2017-04-10 19:32:55.564 XiaomiSmartHome MiGateway UNKNOWNCODE {"cmd":"write_ack","data":"{\"error\":\"No device\"}"}
2017.04.10 19:32:55.568 3 : MiGateway: Unknown code {"cmd":"write_ack","data":"{\"error\":\"No device\"}"}, help me!


Das Paßwort habe ich richtig eingegeben. Ich habe es auch schon in der App und entsprechend in FHEM geändert, leider ohne Erfolg. state war connected, nach dem Schalten steht er auf on bzw. off.

defmod MiGateway XiaomiSmartHome 192.168.1.106
attr MiGateway devStateIcon {Color_devStateIcon(ReadingsVal($name,"rgb","000000"))}
attr MiGateway room MiSmartHome
attr MiGateway verbose 5
attr MiGateway webCmd rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:on:off

setstate MiGateway on
setstate MiGateway 2017-04-10 19:36:21 HEARTBEAT 0
setstate MiGateway 2017-04-10 19:32:46 password 1234567890
setstate MiGateway 2017-04-10 19:33:00 rgb ff0000
setstate MiGateway 2017-04-10 19:33:00 state on
setstate MiGateway 2017-04-10 19:36:21 token 0




Edit2: Ich habe jetzt mal einen Temperatur-/Luftfeuchtesensor angelernt. Der wird erkannt und angelegt. Das Schalten der LED ergibt immer noch "No device".
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

mahowi

Nach einem shutdown restart bringt das Modul mein FHEM leider zum stehen.  :(

Letzte Meldung:
2017.04.11 09:02:41.190 3: MiGateway> XMI_158d0001150a7c: sensor_ht I/O device is MiGateway
2017.04.11 09:02:41.191 3: MiGateway> XMI_158d0001150a7c: defined as sensor_ht
2017.04.11 09:02:45.282 3: MiGateway> NotifyStart
2017.04.11 09:02:45.283 3: MiGateway> Starting Connect
2017.04.11 09:02:45.283 3: MiGateway> ConnectStart
2017.04.11 09:02:45.324 4: MiGateway> connecting
2017.04.11 09:02:45.328 3: MiGateway> connected


Das war's, danach tut sich nichts mehr und FHEM ist nicht erreichbar. Leider bekomme ich trotz verbose 5 sonst nichts im Log angezeigt.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

mahowi

Zitat von: mahowi am 11 April 2017, 09:06:32
Nach einem shutdown restart bringt das Modul mein FHEM leider zum stehen.  :(

Letzte Meldung:
2017.04.11 09:02:41.190 3: MiGateway> XMI_158d0001150a7c: sensor_ht I/O device is MiGateway
2017.04.11 09:02:41.191 3: MiGateway> XMI_158d0001150a7c: defined as sensor_ht
2017.04.11 09:02:45.282 3: MiGateway> NotifyStart
2017.04.11 09:02:45.283 3: MiGateway> Starting Connect
2017.04.11 09:02:45.283 3: MiGateway> ConnectStart
2017.04.11 09:02:45.324 4: MiGateway> connecting
2017.04.11 09:02:45.328 3: MiGateway> connected


Das war's, danach tut sich nichts mehr und FHEM ist nicht erreichbar. Leider bekomme ich trotz verbose 5 sonst nichts im Log angezeigt.

Es liegt vermutlich daran, daß das Gateway die IP-Adresse gewechselt hat von 192.168.1.106 auf 192.168.1.105. Womit ich wieder bei dem Problem mit dem nicht funktionierenden Hostnamen wäre. Allerdings verstehe ich nicht, wieso das Modul connected angibt, obwohl es nicht verbunden sein kann.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee