Xiaomi Smart Home Komponenten

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

Vorheriges Thema - Nächstes Thema

rippi46

Hallo,

habe auch schon längere Zeit einen XiaomiGateway mit diversen Sensoren im Betrieb.
Leider ist mein fhem dadurch sehr instabil geworden. Manchmal kommt es vor, das fhem nach einem Neustart des Raspi erst gar nicht startet (mit top sehe ich den fhem-prozess, der sich dann aber beendet) oder fhem startet und beendet sich im laufe des Tages bei irgendeiner Aktion (keine Bestimmte).

Der Gateway ist ganz normal definiert, nichts außergewöhnliches.
Habe sowohl den Master-Branch als auch den Devel-Branch ausprobiert, leider gleiches Ergebnis.

Alle Module deinstalliert und noch einmal neu installiert, fhem auf den neusten Stand gebracht, Module wieder installiert.
Das Ergebnis ist immer das Gleiche - fhem läuft sehr instabil. Ohne die Definition des Gateways läuft alles sehr stabil.

Auf einem zweiten System (ist nicht ganz so umfangreich wie das erste) läuft es ohne Probleme.

Ich muss zugeben mein Hauptsystem ist vermutlich mit zu vielen Modulen überladen, aber es ist sehr mühsam festzustellen, welches Modul diese Probleme verursacht.

Gib es Unverträglichkeiten mit anderen Modulen?

Hat vielleicht jemand ähnliche Probleme und eine Idee woran es liegt?

Hier die Definition des Gateways:
defmod GW_Xiaomi XiaomiSmartHome 192.168.178.132
attr GW_Xiaomi devStateIcon {Color_devStateIcon(ReadingsVal($name,"rgb","000000"))}
attr GW_Xiaomi room MiSmartHome
attr GW_Xiaomi webCmd pct:rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:on:off

setstate GW_Xiaomi off
setstate GW_Xiaomi 2019-01-04 01:31:41 RGB 0
setstate GW_Xiaomi 2019-01-04 01:59:22 heartbeat 34ce00854560
setstate GW_Xiaomi 2019-01-04 01:31:41 illumination 347
setstate GW_Xiaomi 2019-01-03 19:26:48 password xxxxxxxxxxxxx
setstate GW_Xiaomi 2019-01-03 19:20:13 pct 100
setstate GW_Xiaomi 2019-01-04 01:31:41 proto_version 1.1.2
setstate GW_Xiaomi 2019-01-04 01:31:41 rgb 000000
setstate GW_Xiaomi 2019-01-03 19:20:13 ringtone 21
setstate GW_Xiaomi 2019-01-04 01:31:41 state off
setstate GW_Xiaomi 2019-01-04 01:59:22 token xxxxxxxxxxxxxx
setstate GW_Xiaomi 2019-01-03 19:20:13 volume 10


Gruß rippi
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

ahlermi

Hi pbel,

hast du das Problem lösen können? ich habe das auch.
Nutze aber einige HTTPMOD auf die ich nicht verzichten will.

Gruß Michael

Zitat von: pbel am 27 November 2018, 00:45:00
Hallo zusammen

Also ich habe ein Update bezüglich meines Fehlers: nachdem ich das Perl Modul, welches den Fehler wirft auseinander genommen habe und es auch mit älteren Versionen nicht ging, habe ich mal meine FHEM.conf rausgeputzt und alles ging => also stück für Stück wieder reingetan und das "verursacht" den Fehler: Logdb und / oder  HTTPMOD (also beide Module sind schon einzeln ein Problem)


define logdb DbLog ./db.conf .*:.*
attr logdb DbLogType Current/History

define weather HTTPMOD http://api.wunderground.com/weatherstation/WXCurrentObXML.asp?ID=IZRICHZR4 600



Da ich darauf einmal verzichten kann lasse ich die Analyse für heute aber ich nehme an, dass es evtl. irgend eine Kollision zwischen den Modulen gibt. Lustig ist: Logdb  und HTTPMOD nutze ich bereits seit über einem Jahr und das Xiaomi Modul seit rund 3 Monaten => sollte nicht grundsätzlich ein Problem sein => werde aber prüfen, ob evtl. die DB irgend ein Problem hat, oder ob das nach dem Update von FHEM zum Problem gekommen ist.
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

ahlermi

Meine Lösung ist jetzt erst mal pragmatisch, damit läuft alles:

für xxxxxxxxxxxx deine SID eintragen, bei mir ging es mal, deshalb steht die ID im Log

71_XiaomiSmartHome.pm ab 313


#               $sidsock->mcast_send($msg,$ip . ':4321') or die "send: $! $msg $ip";
                if (!$sidsock->mcast_send($msg,$ip . ':4321')){
                  $hash->{SID} = "xxxxxxxxxxxx";
                  $modules{XiaomiSmartHome}{defptr}{"xxxxxxxxxxxx"} = $hash;
                  return "xxxxxxxxxxxx";
                }
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

torte

Moin,

falls Ihr Probleme habt brauch ich ein Log.
Am Gateway Device Vebose auf 5.

Wenn die SID nicht am GW angezeigt wird nützt es eigentlich auch nix das dann Hardcoded ins Modul einzutragen.  ;D
In diesem Fall ist es so das dann die UDP Antwort vom GW nicht ankommt und somit das Modul die Werte auch nicht
auslesen kann. Häufigste Ursache ist eine Firewall oder irgendeine Netzwerkkonfiguration.
Für das MiGateway müssen die Ports 9898 & 4321 offen sein(steht auch in der Wiki)

Grüße
Torte

ahlermi


2019.01.12 16:55:33 3: Opening myBroker device 127.0.0.1:1883
2019.01.12 16:55:33 3: myBroker device opened
2019.01.12 16:55:33 3: GardenaSmartBridge (myGardenaBridge) - send credentials to fetch Token and locationId
2019.01.12 16:55:33 3: NTFY return:  WhatsApp:HASH(0x366caa0)
2019.01.12 16:55:33 0: Featurelevel: 5.9
2019.01.12 16:55:33 0: Server started with 665 defined entities (fhem.pl:18111/2019-01-01 perl:5.024001 os:linux user:fhem pid:31544)
send: Invalid argument at ./FHEM/71_XiaomiSmartHome.pm line 313.
2019.01.12 16:55:34 3: UWZ Unwetterzentrale: Run.1219 Done fetching data


Nach anpassen von Zeile 313 auf

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


send: Invalid argument {"cmd":"whois"} 192.168.69.127 at ./FHEM/71_XiaomiSmartHome.pm line 313.


Sieht also alles gut aus, knallt halt nur  ???

Nach dem harten kodieren der SID startet FHEM wieder und der GW Arbeitet normal.
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

torte


mach ma "list device"
oder schick mir dein define

Grüße
Torte

ahlermi


Internals:
   DEF        192.168.69.127
   FD         139
   FHEMIP     192.168.69.16
   GATEWAY    192.168.69.127
   GATEWAY_IP 192.168.69.127
   NAME       lumi_gateway_v3_sm
   NOTIFYDEV  global
   NR         720
   NTFY_ORDER 50-lumi_gateway_v3_sm
   SID        7c49eb88ea9a
   STATE      off
   TYPE       XiaomiSmartHome
   VERSION    1.30
   READINGS:
     2019-01-14 10:02:49   RGB             0
     2019-01-14 10:36:43   heartbeat       7c49eb88ea9a
     2019-01-14 10:02:49   illumination    1292
     2019-01-12 17:58:46   password        xxxxxxxxxxxxxxxxxx
     2019-01-12 17:56:47   pct             100
     2019-01-13 14:46:13   proto_version   1.1.2
     2019-01-13 14:46:13   rgb             000000
     2019-01-12 17:56:47   ringtone        21
     2019-01-13 14:46:13   state           off
     2019-01-14 10:36:43   token           JiYCgbRZpmXXXXXX
     2019-01-12 17:56:47   volume          10
   helper:
     ConnectionState Connected
     host       192.168.69.127
     prevrgbvalue 00ff00
     sensors    158d00024016af,158d0002e2dff9,
Attributes:
   alias      MI Gateway
   devStateIcon {Color_devStateIcon(ReadingsVal($name,"rgb","000000"))}
   room       CUL,MiSmartHome
   webCmd     pct:rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:on:off
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

torte

Ja sieht eigentlich gut aus.
Hast Du mal die Perl Module geprüft?

apt-get install libio-socket-multicast-perl


Grüße
Torte

ahlermi


root@fhem:~# apt-get install libio-socket-multicast-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
libio-socket-multicast-perl ist schon die neueste Version (1.12-2+b3).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 1 nicht aktualisiert.
root@fhem:~#


Das komische ist ja das es 1-2 Stunden lief.
Dann ein Fhem neustart und es ging nicht mehr.
Fhem ist nicht mal mehr gestartet.
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

torte

ja ist komisch,
hattest Du testweise mal die httpmod module auskommentiert, ob es wirklich damit zusammenhängt?
pbel hatte ja das selbe problem. dblog würde ich ausschließen das setze ich auch ein.

was Du mal zusätzlich probieren könntest.

Zeile 309

my $sidsock = IO::Socket::Multicast->new( Proto     => 'udp',LocalAddr => $hash->{FHEMIP}, LocalPort =>'4321', ReuseAddr => 1, Timeout => $timeout) or die "Creating socket: $!\n";

in

my $sidsock = IO::Socket::Multicast->new( Proto     => 'udp',LocalAddr => $hash->{FHEMIP}, LocalPort =>'4321', Timeout => $timeout) or die "Creating socket: $!\n";


ändern, also ohne ReuseAddr, irgendeiner hier im Forum brauchte das mal :-)

Grüße
Torte

ahlermi

Stirbt leider in der selben Zeile, 313, ist wegen Kommentar nach 215 gerutscht

2019.01.14 12:12:04 0: Featurelevel: 5.9
2019.01.14 12:12:04 0: Server started with 666 defined entities (fhem.pl:18111/2019-01-01 perl:5.024001 os:linux user:fhem pid:10898)
send: Invalid argument {"cmd":"whois"} 192.168.69.127 at ./FHEM/71_XiaomiSmartHome.pm line 315.


mit der harten SID gehts dann aber.

httpmod  habe ich noch nicht getestet
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

ahlermi

#956
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

torte

mmmhhh, immer noch komisch,
Du fragst doch mit den HTTPMOD Dinger nicht den selben Port an,verstehe die FM da überhaupt nicht.

Kannst Du rausfinden bei welchem HTTPMOD es Probleme  macht oder reicht schon ein HTTPMOD Device, egal welches?

ahlermi

HTTPMOD ist:

define wetter_nottuln HTTPMOD http://api.wunderground.com/weatherstation/WXCurrentObXML.asp?ID=INOTTULN29 600


Ich glaube nicht das es mit dem HTTPMOD zusammen hängt, nachdem ich HTTPMOD rausgeworfen habe und er die fhem.cfg neu geladen hat lief es nicht.
Dann habe ich die HTTPMOD wieder aufgenommen, alles über den WEB-Editor, dann sehe ich im Log das das auslesen der SID klappt.
Dann mache ich einen "shutdown restart" und es geht wieder nicht mehr

Ich denke es hat was damit zutun wenn die Verbindung einmal aufgebaut war.
Was für meine Vermutung spricht ist auch das ich das Zeug am Samstag eingerichtet habe, alles lief super, ich habe schon Screenshots an Kollegen verschickt und aufeinmal lief nix mehr, 2 Stunden später, nix gravierendes mehr geändert. vlt aber einen neustart vom Fhem.
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

torte

mh ja komisch, keine Ahnung warum das passiert, sorry. hab auch gerade keine Idee warum

Was ist das für ein Linux, Debian? Version?

BTW:
https://fhem.de/commandref.html#Wunderground