Xiaomi Smart Home Komponenten

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

Vorheriges Thema - Nächstes Thema

torte

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

torte

Moin,

neue Version 1.20
https://forum.fhem.de/index.php/topic,78418.msg703678.html#msg703678

Beachtet die Änderungen bei den Battery Readings.
Will kein gemääcker hören  ;D

Gruß
Torte

basty2

Zitat von: torte am 03 Dezember 2017, 20:08:55
Nabend,


@basty2 nein gibt es nicht, warum sollte sich die IP des FHEM Servers ändern wenn du dich über  VPN verbindest, verstehe ich nicht.
Hat dein FHEM Server mehrere NICs? Die erste die das Modul findet wird genutzt.

Grüße
Torte

Hi Torte,

da ich einen VPN habe gibt es zwei NICs einen eth0 und einen tun0 für den VPN. Wenn ich fhem starte und kein VPN verbunden ist, dann klappt es. Wenn ich den VPN verbunden habe, dann findet er eine FHEM IP im falschen Adressbereich (vom VPN).
Verbinde ich den VPN nach start vom FHEM klappt der Zugang weiterhin. Da ich den VPN bei Systemstart automatisch mitstarte, habe ich immer Probleme.

Grüße


torte

Hi Basty,

dann lass doch den VPN verzögert nach dem FHEM Dienst starten.

Mal sehen vielleicht bau ich mal was dafür ein, kann aber nicht sagen wann ich dazu kommen werde.

Grüße
Torte

basty2

Zitat von: torte am 18 Dezember 2017, 07:14:32
Hi Basty,

dann lass doch den VPN verzögert nach dem FHEM Dienst starten.

Mal sehen vielleicht bau ich mal was dafür ein, kann aber nicht sagen wann ich dazu kommen werde.

Grüße
Torte

Danke für die Info. Muss mal schauen wie das geht. Ist zumindest bei kompletten Neustart eine Lösung. Bei Restart von Fhem muss ich das dann manuell machen.
Danke Dir schon einmal vorab für eine eventuelle Lösung. :)

Maiks

Hallo,

habe mir auch mal ein paar Sachen zugelegt, nach dem ich gesehen habe das es das tolle Modul gibt, die preise und Größe von den Dingern ist einfach unschlagbar ;)

Mal ein paar Fragen ;) 

1. Da ich mit einigen Sensoren Reichweiten Probleme habe, habe ich mir jetzt einen 2 Gateway gekauft, da ich die Gateway Kamera noch nicht bekommen habe.  Kann ich das 2 Gateway als reptieter einsetzen oder muss ich dort die Sensoren selber Anlernen für das Modul ?

2. Habe mir auch die Rauchmelder angeschafft, die echt super sind vom Design und vernetzt auch nur 18€ kosten ;)   allerdings ist mir erst beim Installieren aufgefallen, dass die Rauchmelder sich nicht selber mit einander koppeln um einen Alarm weiterzugeben sondern nur an die Zentrale :(   Ist es möglich über FHEM den Rauchmelder auszulösen ?

torte

Hi Maiks,

1. Nein die Sensoren müssen an dem jeweiligen Gateway angemeldet werden.
2. Soweit ich mich erinnere ist das möglich, nagel mich nicht drauf fest, meine sowas stand in der Doku. Hab das aber nicht implementiert da ich jetzt keinen Sinn darin
gesehen hatte und auch keinen Gas/Smoke Sensor habe.
Ich bin aber gerade noch an zwei anderen Sachen dran, die ich gerade noch implementiere möchte. Danach schau ich mal. Bis auf weiteres kannst ja auch das GW Heulen lassen auf Volume 100 und in Rot blinken zb.  8) 

HIER NOCH MAL EIN GROßES DANKESCHÖN AN MEINE SPONSOREN
Hendrik und Karsten habe mich sehr gefreut!!.

Vielen Dank, wünsche euch allen schon mal frohe Feiertage!
Torte

Sequenzial

#742
Moin torte,

sobald ich das Modul (v1.20) lade hängt sich bei mir FHEM komplett weg.

Im FHEM Log steht nur:
send: Invalid argument at ./FHEM/71_XiaomiSmartHome.pm line 286.

286:    $sidsock->mcast_send($msg,$ip . ':4321') or die "send: $!";


Unter der Vorgängerversion hab ich zuerst die Basis erstellt (auto create aus):

define XiaomiBase XiaomiSmartHome 192.168.1.170
attr XiaomiBase devStateIcon Connected:10px-kreis-gruen
attr XiaomiBase group Controller/Bridge
attr XiaomiBase icon audio_volume_high
attr XiaomiBase stateFormat state
attr XiaomiBase webCmd pct:rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:on:off


Dann dass Passwort eingetragen.
Über Autocreate sind dann alle devices angelegt worden und haben funktioniert:


define XMI_158d000105cebd XiaomiSmartHome_Device 158d000105cebd magnet XiaomiBase
attr XMI_158d000105cebd IODev XiaomiBase
attr XMI_158d000105cebd alias Kontakt.Kühlschrank
attr XMI_158d000105cebd devStateIcon open:fts_door_open@red close:fts_door@green
attr XMI_158d000105cebd group Fenster und Türen

define XMI_158d0001116b69 XiaomiSmartHome_Device 158d0001116b69 sensor_ht XiaomiBase
attr XMI_158d0001116b69 IODev XiaomiBase
attr XMI_158d0001116b69 alias Temperatur Gäste WC
attr XMI_158d0001116b69 group Heizung und Thermostate
attr XMI_158d0001116b69 stateFormat temperature °C

define XMI_158d0001231947 XiaomiSmartHome_Device 158d0001231947 motion XiaomiBase
attr XMI_158d0001231947 IODev XiaomiBase
attr XMI_158d0001231947 alias Bewegungserkennung kl. Flur EG
attr XMI_158d0001231947 devStateIcon motion:motion_detector@red off:motion_detector@green no_motion:motion_detector@green
attr XMI_158d0001231947 group Bewegungsscanner

define XMI_158d000149b71f XiaomiSmartHome_Device 158d000149b71f switch XiaomiBase
attr XMI_158d000149b71f IODev XiaomiBase
attr XMI_158d000149b71f alias kleiner runder Taster
attr XMI_158d000149b71f group Taster

define XMI_158d00016d9a85 XiaomiSmartHome_Device 158d00016d9a85 weather.v1 XiaomiBase
attr XMI_158d00016d9a85 IODev XiaomiBase
attr XMI_158d00016d9a85 alias Temperatur Kühlschrank
attr XMI_158d00016d9a85 group Heizung und Thermostate
attr XMI_158d00016d9a85 stateFormat temperature °C


Das hat einwandfrei funktioniert.

Wenn ich die Zeilen in der fhem.cfg auskommentiere läuft FHEM ohne Fehler hoch.

Module scheinen alle aktuell zu sein:

» libjson-perl« ist bereits die neuste Version (2.90-1).
» libcrypt-cbc-perl« ist bereits die neuste Version (2.33-1).
» libio-socket-multicast-perl« ist bereits die neuste Version (1.12-2build2).
» libmath-round-perl« ist bereits die neuste Version (0.07-1).
» Crypt::Cipher::AES is up to date (0.055).


Hast du eine Idee?

Danke!

Gruß
Hajo

torte

Hi Hajo,

mit welchem define versuchst du das nun genau?

Grüße
Torte



Sequenzial

Hi torte,

Zitat von: torte am 21 Dezember 2017, 09:08:27
mit welchem define versuchst du das nun genau?

hmm, dem Standard define von FHEM ... 5.8 ?!? :-[
https://fhem.de/commandref_DE.html#define

So legt man doch devices an, dachte ich.

Bin von der Frage etwas irritiert. Gibt es verschiedene define Versionen?


Gruß
Hajo

torte

Zitat von: Sequenzial am 21 Dezember 2017, 09:41:14
Hi torte,

hmm, dem Standard define von FHEM ... 5.8 ?!? :-[
https://fhem.de/commandref_DE.html#define

So legt man doch devices an, dachte ich.

Bin von der Frage etwas irritiert. Gibt es verschiedene define Versionen?


Gruß
Hajo

wollte nur sehen wie genau dein Define aussieht....
Die Zeile Copy & Paste

Hast du zwei Gateways?


Sequenzial

Hi,

achso ...


define XiaomiBase XiaomiSmartHome 192.168.1.170


Und die Clients (an der Base angemeldet)

define XMI_158d000105cebd XiaomiSmartHome_Device 158d000105cebd magnet XiaomiBase
define XMI_158d0001116b69 XiaomiSmartHome_Device 158d0001116b69 sensor_ht XiaomiBase
define XMI_158d0001231947 XiaomiSmartHome_Device 158d0001231947 motion XiaomiBase
define XMI_158d000149b71f XiaomiSmartHome_Device 158d000149b71f switch XiaomiBase
define XMI_158d00016d9a85 XiaomiSmartHome_Device 158d00016d9a85 weather.v1 XiaomiBase


Ich hab nur einen.

Gruß
Hajo

torte

und jetzte noch ein Verbose LOG 5 kannst du beim GW einstellen, oder falls es das noch nicht gibt das globale verbose.
(nachher natürlich wieder zurückstellen!).


Sequenzial

das sieht dann wie folgt aus:


2017-12-21 14:23:30 XiaomiSmartHome XiaomiBase RGB: 0
2017-12-21 14:23:30 XiaomiSmartHome XiaomiBase illumination: 495
2017-12-21 14:23:50 XiaomiSmartHome XiaomiBase heartbeat: 286c0785e8f4
2017-12-21 14:23:50 XiaomiSmartHome XiaomiBase token: qmZzM8O2FfnZ9OUc
2017-12-21 14:24:00 XiaomiSmartHome XiaomiBase heartbeat: 286c0785e8f4
2017-12-21 14:24:00 XiaomiSmartHome XiaomiBase token: 0YhwthLOlqA9AtPW
2017-12-21 14:24:04 XiaomiSmartHome_Device XMI_158d000105cebd close
2017-12-21 14:24:04 XiaomiSmartHome_Device XMI_158d000105cebd no_close: 0
2017-12-21 14:24:04 XiaomiSmartHome_Device XMI_158d000105cebd battery: ok
2017-12-21 14:24:04 XiaomiSmartHome_Device XMI_158d000105cebd battery_level: 2.9
2017-12-21 14:24:10 XiaomiSmartHome XiaomiBase heartbeat: 286c0785e8f4
2017-12-21 14:24:10 XiaomiSmartHome XiaomiBase token: csckp7OEdjt9WnfS
2017-12-21 14:24:20 XiaomiSmartHome XiaomiBase heartbeat: 286c0785e8f4
2017-12-21 14:24:20 XiaomiSmartHome XiaomiBase token: frbaNjQRip0VXWAH
2017.12.21 14:24:22 4: XMI_158d0001116b69: DEV_updateSReading> for 158d0001116b69
2017.12.21 14:24:22 4: XiaomiBase: Write> {"cmd":"read","sid":"158d0001116b69"} 192.168.1.170
send: Invalid argument at ./FHEM/71_XiaomiSmartHome.pm line 498.


Gruß
Hajo

Sequenzial

158d0001116b69  ist ein Temperatursensor.