Xiaomi Smart Home Komponenten

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

Vorheriges Thema - Nächstes Thema

ofno

#630
Bitte mal prüfen ob die ports oder multicast geblockt werden

"4321 ist nur der Port um das Gateway im Lan mit CMD:Whois zu finden das Funktioniert auch  :D

1. Gateway-Herzschlag

Gateway-Herzschlag Multicasts (ip: 224.0.0.50, Port: 9898). "

Ansonsten verbose 5 setzen und log posten

blueberry63

#631
@ofno: die Meldung "getGatewaySID> Error no response from whois!! STOP!!" sehe ich im LOG, wenn ich FHEM neu starte.

Meine Konfiguration:
- Router Fritzbox 7390 mit WLAN
- (2. Fritzbox 7390 als AP, aber z.Zt. ist das Gateway am Router angemeldet)
- FHEM läuft auf einem Cubian mit Debian Wheezy (LAN)

Über FHEM kann ich keine Aktion auf dem Gateway ausführen (z.Bsp: Licht AN).

Soll ich Verbose5 während des Neustarts aktivieren oder reicht das im "laufenden Betrieb"?

Hier noch mein LIST DEVICE:

Internals:
   DEF        192.168.99.129
   FD         22
   FHEMIP     192.168.99.80
   GATEWAY    192.168.99.129
   GATEWAY_IP 192.168.99.129
   NAME       XiaomiGW
   NOTIFYDEV  global
   NR         1052
   NTFY_ORDER 50-XiaomiGW
   STATE      Connected
   TYPE       XiaomiSmartHome
   VERSION    1.12
   Helper:
     DBLOG:
       state:
         myDB:
           TIME       1509466298.74872
           VALUE      Connected
   READINGS:
     2017-10-30 19:35:57   password        xxxxxxxxxxxx
     2017-10-30 19:31:57   pct             100
     2017-10-31 17:03:58   rgb             000000
     2017-10-30 19:31:57   ringtone        21
     2017-10-31 17:11:38   state           Connected
     2017-10-30 19:39:59   token           0
     2017-10-30 19:42:26   volume          2
   helper:
     ConnectionState Connected
     host       192.168.99.129
Attributes:
   devStateIcon motion:motion_detector@red off:motion_detector@green open:fts_door_open@red close:fts_door@green
   event-on-change-reading .*
   room       MiSmartHome
   timestamp-on-change-reading state
   webCmd     pct:rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:on:off


(Password ist ausgeblendet)

Gruß
Blueberry63

P.S.: folgendes Warning taucht ab und zu ebenfalls im LOG auf:
PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/71_XiaomiSmartHome.pm line 426, <GEN11> line 29

FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

ofno

#632
grundsätzlich kann torte hier mehr dazu sagen.

Bei einem verbose 5 (save der config) und einem neustart könnte man ggf. etwas sehen, ob es im laufenden Betrieb auch so sichtbar wird kann ich nicht sagen.

sehe es ist die Version 1.12 das neue benötigte Modul (Math::Round) ist installiert (https://forum.fhem.de/index.php/topic,78418)

und ich habe bei den internals zwischen

NTFY_ORDER noch die SID dann STATE
   
schau mal unter https://forum.fhem.de/index.php/topic,63212.msg677516/topicseen.html#msg677516

im Verlauf steht dann folgende Lösung
Zitathabe ich im AccessPoint (Software DD-WRT) in den Einstellungen "Filter Multicast" disabled



torte

moin  :)


getGatewaySID> Error no response from whois!! STOP!!


deutet daraufhin das der Server auf dem FHEM ( das Modul läuft ) nicht das Gateway erreichen kann und zwar versucht das Modul eine
WHOIS Anfrage auf die IP abzusetzen an den PORT 4321 das scheint nicht zu gehen.
In dem Gateway device fehlt dann ein Wert SID ohne das geht nicht viel.


Developermode gesetzt? Firewall, verschiedene Netzwerke Gateway / FHEM da liegt meistens die Ursache bei dem Problem

Grüße
Torte


blueberry63

Kann man das Whois-Kommando von der Konsole ausführen? Dann  könnte ich leichter testen.

Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

basty2

#635
Zitat von: tterrafan am 30 Juli 2017, 18:05:40

- MotionOffTimer sollte standardmäßig am besten auf 5 gesetzt werden, da der neue und auch der alte Sensor seit dem FW Update alle 5 Sekunden nach der letzten Bewegung eine erneute Bewegung registriert.

Hallo,

bei mir funktionieren mehrere Sender mit dem Gateway sehr gut. Aber meine Motion Sensoren (1x Body Sensor, 1x Aqara Body Sensor) aktualisieren nur 1x pro Minute. Wie habt Ihr es geschafft das auf 5 Sekunden zu ändern?

Grüße

Update: Im Gateway löschen und neu hinzufügen hat geholfen.

blueberry63

#636
Mein Problem mit dem UDP-Port hat sich erledigt: ich hatte vergessen "localarea network protocol" für den Developer Mode zu aktivieren - mea culpa   :-[

Bevor ich nun das GW und die Sensoren in FHEM integrieren kann, möchte ich hier ein GROSSES DANKE loswerden! Tolle Arbeit!!! 

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

blueberry63

#637
Beim Einbinden der Sensoren ist mir aufgefallen, dass die Readings für die Batterie anders belegt sind, als das z.Bsp. bei den Homematic-Komponenten der Fall ist. Keine Ahnung, ob es hier übergreifend einen Standard gibt, aber ich zeige mal den Unterschied:

HM:
battery ok
battery_level 2.9

Xiaomi:
battery 2.995
batterystate ok

Wenn man sich z.Bsp. den Batterie-Status bzw. -Level aller Geräte mit Batterie anzeigen lassen möchte, dann führt dieser Mix zu Problemen.

Das bekannte Notify zur Warnung bei "Batterie=low" funktioniert z.Bsp. bei den Xiaomi-Komponenten nicht:


.*:[Bb]attery:.* {
if("$EVENT" !~ m/ok/) {

  {fhem ("set Telegram message Batteriewarnung $NAME $EVENT")};
  Log 3, "$NAME: $EVENT";
  }
}



Gruß
Blueberry63

FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

torte

 :D

ja, können die doch im homematic ändern,  warum ich  8)

batterystate gibt es erst seit der letzten Version war ein Wunsch, damit man nicht ein userreading basteln muss

mir ist das persönlich egal, wenn ich das aber jetzt ändere müssen alle andere die das jetzt so nutzen ihre Sachen anpassen.


Grüße
Torte

ofno

Kompromiss: ein flag im Gateway über den das gesteuert wird?

devil77

Warum wollen das das Modul geändert wird und nicht selber überlegen wie man ans Ziel kommt?
Das "bekannte" Notify ist ja nur ein Beispiel und nichts was in Stein gemeiselt ist.
Erweitere doch das Notify einfach und frage das Batterie Reading gezielt nach TYP ab z.Bsp.
TYPE=XiaomiSmartHome_Device:battery
Damit hast Du dann alles abgedeckt ohne das jemand anders etwas ändern muss.


Zitat von: blueberry63 am 01 November 2017, 21:11:05
Beim Einbinden der Sensoren ist mir aufgefallen, dass die Readings für die Batterie anders belegt sind, als das z.Bsp. bei den Homematic-Komponenten der Fall ist. Keine Ahnung, ob es hier übergreifend einen Standard gibt, aber ich zeige mal den Unterschied:

HM:
battery ok
battery_level 2.9

Xiaomi:
battery 2.995
batterystate ok

Wenn man sich z.Bsp. den Batterie-Status bzw. -Level aller Geräte mit Batterie anzeigen lassen möchte, dann führt dieser Mix zu Problemen.

Das bekannte Notify zur Warnung bei "Batterie=low" funktioniert z.Bsp. bei den Xiaomi-Komponenten nicht:


.*:[Bb]attery:.* {
if("$EVENT" !~ m/ok/) {

  {fhem ("set Telegram message Batteriewarnung $NAME $EVENT")};
  Log 3, "$NAME: $EVENT";
  }
}



Gruß
Blueberry63

hanswerner1

Zitat von: blueberry63
HM:
battery ok
battery_level

Ich fände es auch gut wenn der Batteriestatus wie bei HM ist.

blueberry63

#642
ZitatWarum wollen das das Modul geändert wird und nicht selber überlegen wie man ans Ziel kommt?

Das Ändern des Notifys ist kein Problem. Ich wollte nur darauf hinweisen, dass die Readings nicht dem "Standard" entsprechen. Meines Wissens ist das Reading "Battery" auch bei Nicht-HM-Komponenten mit "OK" oder "Low" belegt. Bevor ihr dieses tolle Modul (ist ernst gemeint) in FHEM eingecheckt wird, könntet ihr Euch ja bei anderen Entwicklern erkundigen.

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

basty2

Zitat von: basty2 am 01 November 2017, 13:22:08
Hallo,

bei mir funktionieren mehrere Sender mit dem Gateway sehr gut. Aber meine Motion Sensoren (1x Body Sensor, 1x Aqara Body Sensor) aktualisieren nur 1x pro Minute. Wie habt Ihr es geschafft das auf 5 Sekunden zu ändern?

Grüße

Update: Im Gateway löschen und neu hinzufügen hat geholfen.

Hallo noch einmal,

also bei mir kommt der Fehler immer wieder. Wenn ich den Reset Knopf drücke geht es für einige Zeit (ca. 1 Stunde) mit der Auslösung aller 5 Sekunden und ab einem Zeitpunkt löst er nur noch einmal pro Stunde aus.
Habt Ihr das gleiche Problem oder ist das ein Probkem was nur ich habe?

Grüße


torte

Hi,

meine Motions lösen nur bei Bewegung aus. Zwischen den motions müssen bei mir 60 Sekunden sein, vorher wird eine erneute Bewegung nicht signalisiert.

Grüße
Torte