Xiaomi Smart Home Komponenten

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

Vorheriges Thema - Nächstes Thema

ahlermi

So, ich bin jetzt mit dem Einkreisen des Problems weiter.

Das Modul scheint die Verbindung abzulehnen solange noch eine Kommunikation aktiv ist.
Getestet habe ich das indem ich das GW einfach mal 60 sekunden lang jede Sekunde blinken lassen habe und einen zweiten Befehl abgeschickt habe. Fazit Fhem stürzt ab.

Nach der Anpassung in Zeile 548 oder um den dreh


    Log3 $name, 4, "$name: Write> $msg " . $GATEWAY;
        my $sock = $hash->{CD};
        my $MAXLEN  = 1024;
#       $sock->mcast_send($msg,$GATEWAY .':9898') or die "send: $!";
        if (!$sock->mcast_send($msg,$GATEWAY .':9898')){
          Log3 $name, 1, "Error: " . $! . " " . $msg . " " . $GATEWAY . ":9898";
        }


treten die Probleme jetzt nicht mehr auf.

Gruß Michael

Zitat von: ahlermi am 14 Januar 2019, 12:30:30
HTTPMOD rauswerfen hat keine Lösung gebracht. Problem besteht noch

Jetzt habe ich gerade die HTTPMOD Sachen ganz ans Ende der Datei aufgenommen und sehe zufällig im Log:


2019.01.14 12:31:39 0: lumi_gateway_v3_sm: getGatewaySID> OK!
2019.01.14 12:31:39 3: lumi_gateway_v3_sm: getGatewaySID> Find SID for Gateway: 7c49eb8xxxxx
2019.01.14 12:31:39 3: lumi_gateway_v3_sm: connect> Connected


:o

und ein Shutdown Reboot macht dann wieder:


2019.01.14 12:37:39 1: lumi_gateway_v3_sm: getGatewaySID> ERROR Invalid argument
2019.01.14 12:37:39 3: lumi_gateway_v3_sm: connect> Connected


irgendwie scheint das genau einmal zu klappen
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

Typ1er

Meine Motion Sensoren machen nach der Erkennung immer eine Minute Pause bis zur nächsten Auslösung, lässt sich dieses verhalten noch einstellen?

torte

Zitat von: Typ1er am 17 Februar 2019, 21:36:00
Meine Motion Sensoren machen nach der Erkennung immer eine Minute Pause bis zur nächsten Auslösung, lässt sich dieses verhalten noch einstellen?
Hi,

Ne, kann man nicht einstellen ist schon immer so.

Grüße
Torte

Gesendet mit Tapatalk


BerndMiles

Hallo,
ich habe zwei Wassermelder von Xiaomi. Es klappt auch alles bestens, aber was bedeutet der Status iam. Zuvor stand da mal no_leak. Kann mir da vielleicht jemand helfen?

ofno

Zitat von: BerndMiles am 08 März 2019, 20:10:43
Hallo,
ich habe zwei Wassermelder von Xiaomi. Es klappt auch alles bestens, aber was bedeutet der Status iam. Zuvor stand da mal no_leak. Kann mir da vielleicht jemand helfen?
Ich glaube das ist der init status

Typ1er

die Meldung kommt wenn du den Sensor drückst, iam (hier bin ich)

BerndMiles

Danke für die Antworten. Nun muss man, um den Status auf no_leak zu bekommen, ihn unter Wasser setzen und dann wieder abtrocknen oder dies eben manuell mit Befehl an der Konsole übermitteln. Weil eine Statusänderung erfolgt nach dem Drücken des Knopfes wahrscheinlich erst dann, wenn sich wirklich was ändert und das ist bei diesem Sensor eben, dass er unter Wasser steht.

Maxi348

Moin, hat jemand das Problem, dass sich die Sensoren nicht selbstständig updaten?
Nur wenn ich get UpdateAll mache kommt der aktuelle Status rein.
FHEM läuft bei mir über ein Docker Container, könnte es daran liegen?

torte

Guten Morgen,

@Maxi
Ja gibt ein paar mit diesem Problem unter Docker, ich hab aber selbst kein Docker. Die Kommunikation zwischen Modul und GW geht über UDP Multicast
Port 4321 & 9898 Das Modul bindet sich an die NIC der FHEM Instanz.
Warum die Antworten des Gateways nach dem Push UpdateALL durchkommen kann ich mir nicht erklären da eigentlich das schon der eigentlich Kommunikationsweg ist.
Was sein könnte: In dem Fall wenn Du UpdateALL machst und es dann geht, hört sich nach so einer Firewall an, der Port wird erst geöffnet von "innen" und wenn er auf ist geht die Kommunikation dann.
In dem Fall dass das GW ohne UpdateALL was sendet lässt die Firewall die Pakete nicht durch weil die Anfrage nicht von "innen" kam. Ich weiß aber nicht ob das so ist, ich kenne Docker nicht.

@BerndMiles
Ja, aber eigentlich sollte dich doch nur interessieren wenn der Sensor "leak" meldet und dann sollte dein Alarm losgehen. Oder?

Grüße
Torte




ofno

Zitat von: BerndMiles am 10 März 2019, 19:49:59
Danke für die Antworten. Nun muss man, um den Status auf no_leak zu bekommen, ihn unter Wasser setzen und dann wieder abtrocknen oder dies eben manuell mit Befehl an der Konsole übermitteln. Weil eine Statusänderung erfolgt nach dem Drücken des Knopfes wahrscheinlich erst dann, wenn sich wirklich was ändert und das ist bei diesem Sensor eben, dass er unter Wasser steht.
Ich habe bei mir einen schwimmschalter dran gebastelt der überwacht mir einen pumpensumpf und meldet mit leak und no_leak den Wasserstand

ahlermi

Zitat von: BerndMiles am 10 März 2019, 19:49:59
Danke für die Antworten. Nun muss man, um den Status auf no_leak zu bekommen, ihn unter Wasser setzen und dann wieder abtrocknen oder dies eben manuell mit Befehl an der Konsole übermitteln. Weil eine Statusänderung erfolgt nach dem Drücken des Knopfes wahrscheinlich erst dann, wenn sich wirklich was ändert und das ist bei diesem Sensor eben, dass er unter Wasser steht.

du kannst mit


setreading XMI_xxxxxxxxxxxxxxxxxx state leak


den Status "setzen", es gibt auch noch den befehl setstate oder so
PI4 FHEM, PI3 FHEM, 6 x Echo mit talk2fhem, Siri, SNIPS auf PI3 mit Samson UB1, YeeLight, Homematic, MAX!, 433Mhz, LaCross, Xiaomi Vacuum V1, ESPEasy, Gardena, Telegram, FLOORPLAN, HEOS, Xiaomi Aqara, Sonoff, SolvisMax, SolvisClient, HUE, ESPEasy für Bayernlüfter, Harmony, Tasmota, JKBMS, EASUN

burgi400

Hallo zusammen,

wenn ich ein Gateway anlege, zeigt fhem das Gateway schön an, stürtzt aber gleichzeitig ab. Also kann ich z. B. nicht das Paswort setzen oder ein andres Gerät anwählen. Das gehtr so schnell, dass es kaum möglich ist irgendetwas anzuklicken bevor der Absturz erfolgt.
Selbst für einen Log-Eintrag habe ich fast 10 Versuche benötigt, da fhem auch dafür anscheinend keine Zeit hatte.
Hier der Log-Eintrag:
MiGateway: connect> ConnectStart
2019.03.31 16:47:07 5: MiGateway: getGatewaySID> Answer {"cmd":"iam","port":"9898","sid":"xxxxxxxx","model":"gateway","proto_version":"1.1.2","ip":"192.168.xxx.29"}
2019.03.31 16:47:07 3: MiGateway: getGatewaySID> Find SID for Gateway: xxxxxxxx
Creating socket: Protocol not available

Jemand eine Idee, was für ein Protokoll-Problem vorliegen kann?

System: BananaPi mit Lubuntu, libs nach Wiki fehlerfrei installiert, Gateway mit und ohne eingerichtete Sensoren versucht, Developer-Modus etc. aktiviert
Steuerung per Xiaomi-App ohne Probleme möglich.

Viele Grüße
Ralf


chrisnitt

Hallo zusammen,
ich habe bisher zigbee2mqtt verwendet. Leider hat da ab und zu der Stick nicht reagiert und die Frau kam an ihre Toleranzgrenze. Ich bin dann auf das Gateway umgestiegen und schwer begeistert von der Zuverlässigkeit. Allerdings raucht mir unregelmäßig fhem ab mit der Fehlermeldung

malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "<param><code value="...") at ./FHEM/71_XiaomiSmartHome.pm line 135.

In Zeile 135 steht

  my $json = $hash->{helper}{JSON}->incr_parse($buf);

Sobald es an Code geht, bin ich leider komplett raus. Könnt ihr damit was anfangen?
Aktuell habe ich nur zwei Geräte am Gateway. Einen Bewegungssensor und einen Schalter (den ich noch nicht verwende). Heute ist fhem nachts irgendwann zwischen 4:50 Uhr (sync der Unwetterzentrale) und 5:40 Uhr (da bin ich aufgestanden und habe bemerkt, dass fhem nicht mehr läuft) abgeraucht. Ich kann nicht ausschließen, dass ich den Bewegungssensor kurz vorher ausgelöst habe. Wobei ich manchmal auch das Haus verlasse und wenn ich wieder komme ist in der Zwischenzeit fhem gestoppt. Da sollte eigentlich nichts am Modul passiert sein.  ???
Ein sudo /etc/init.d/fhem stop und ein sudo /etc/init.d/fhem start später läuft wieder alles.
Schonmal herzlichen Dank vorab!


torte

Hi chrisnitt,

schon komisch die Stelle wo er im Script aussteigt.
Hast Du die 1.41 Version? Ist zwar schwer bei sowas aber ein Verbose 5 Log wäre schon mal was.

Grüße
Torte