[Xiaomi Smart Home] Das Modul

Begonnen von torte, 24 Oktober 2017, 10:08:47

Vorheriges Thema - Nächstes Thema

till24

Gerne:

1. List vom Switch

Internals:
   DEF        158d000213247c sensor_switch.aq2 XioaomiGateway
   FUUID      5c4cdd07-f33f-3e35-a133-12a6e0ddf4a2b615
   IODev      XioaomiGateway
   LASTInputDev XioaomiGateway
   MODEL      sensor_switch.aq2
   MSGCNT     437
   NAME       XMI_1111111111111c
   NR         188
   SID        158d000213247c
   STATE      iam
   TYPE       XiaomiSmartHome_Device
   VERSION    1.40
   XioaomiGateway_MSGCNT 437
   XioaomiGateway_TIME 2019-05-30 18:09:33
   Helper:
     DBLOG:
       batteryState:
         logdb:
           TIME       1559232573.85654
           VALUE      ok
       batteryVoltage:
         logdb:
           TIME       1559232573.85654
           VALUE      3.0
       heartbeat:
         logdb:
           TIME       1559230487.4385
           VALUE      158d000213247c
       state:
         logdb:
           TIME       1559215438.17065
           VALUE      iam
   READINGS:
     2019-05-30 18:09:33   batteryState    ok
     2019-05-30 18:09:33   batteryVoltage  3.0
     2019-05-30 17:34:47   heartbeat       158d000213247c
     2019-05-30 13:23:58   state           iam
Attributes:
   room       MiSmartHome
   timestamp-on-change-reading state
   verbose    5


2. List vom notify

Internals:
   CFGFN     
   DEF        XMI_1111111111111c:iam IF ([echoSTATE:state] eq "Normal") (set echoSTATE Morgen) ELSE (set echoSTATE Normal)
   FUUID      5cefba32-f33f-3e35-d558-e96fe704ea1286a9
   NAME       XMI_1111111111111c_notify_1
   NOTIFYDEV  XMI_1111111111111c
   NR         406
   NTFY_ORDER 50-XMI_1111111111111c_notify_1
   REGEXP     XMI_1111111111111c:iam
   STATE      2019-05-30 13:23:58
   TRIGGERTIME 1559215438.03753
   TYPE       notify
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1559215353.46185
           VALUE      active
   READINGS:
     2019-05-30 13:22:33   state           active
Attributes:


Was genau meinst du mit Template? Der Switch wurde automatisch angelegt.. Liegt hier der Fehler?

rischbiter123

Moin,

ich habe leider zigbee2mqtt am Laufen. Aber wenn ich das richtig sehe, zeigt iam als state nur an, das der Taster da ist. Versuch mal, den Eventmonitor zu öffnen, dann den Taster betätigen. Dann müsste 'heartbeat' als Event kommen. Die Zeile komplett markieren und auf die Schaltfläche 'Create/Modify Device klicken, dann Notify mit 'with any number matching' erstellen und anschließend Deine Bedingung in den Ausführungsteil einsetzen.

LG

Andreas
4*Raspi, Max Thermostate und Fensterkontakte, FB7590, Mysensors und NanoCUL, IT und Sonoff, zigbee2mqtt2

FHEM-Wohnung

Hallo ich habe mein FHEM auf einen Intel NUC umgezogen. Leider blockiert mir das Modul den start. Wenn ich die .pm entferne startet FHEM.

Edit: habe es geschafft das jetzt FHEM mit dem Modul startet. Leider bekomme ich, sobald ich zum Beispiel das Gateway (Licht) einschaltet möchte den Fehler ins Log und FHEM startet neu:

Couldn't load Crypt::Cipher::AES: Can't locate Crypt/Cipher/AES.pm in @INC (you may need to install the Crypt::Cipher::AES module) (@INC contains: ./FHEM/lib ./lib . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base ./FHEM) at (eval 2068) line 1.
at ./FHEM/71_XiaomiSmartHome.pm line 537.


Wenn ich cpan Crypt::Cipher::AES ausführe bekomme ich den Fehler

.....
/bin/tar: CryptX-0.063/t/sshkey.t: Cannot change ownership to uid 1049793, gid 1049089: Invalid argument
/bin/tar: CryptX-0.063/t: Cannot change ownership to uid 1049793, gid 1049089: Invalid argument
/bin/tar: CryptX-0.063/typemap: Cannot change ownership to uid 1049793, gid 1049089: Invalid argument
/bin/tar: CryptX-0.063: Cannot change ownership to uid 1049793, gid 1049089: Invalid argument
/bin/tar: Exiting with failure status due to previous errors
Couldn't untar CryptX-0.063.tar: child exited with value 2
'YAML' not installed, will not store persistent state
  MIK/CryptX-0.063.tar.gz
  Had problems unarchiving. Please build manually


ich habe es jetzt mit apt-get install libcrypt-cbc-perl installiert

Leide klappt es immer noch nicht

mele

Hallo,

ich habe das gleiche Problem wie FHEM-Wohnung.

Wäre doch schade, wenn ich die XIAOMI-Geschichte nicht auf dem NUC hinbekäme.

Ich bin hoffnungsvoll und sehr dankbar für jede Hilfe!

Manuel
FHEM auf NUC/Proxmox (Rpi 2 / Rpi Zero W mit FHEM2FHEM, RFHEM)
Homematic/LaCrosse/PCA301/Shelly, Rollladen, Batterieaktor + Relais zur Schaltung Garagentor (Promatic 2), Xiaomi FlowerSens, Bewässerungssteuerung Garten und Gewächshaus, Weatherman und Landroid

FHEM-Wohnung

#169
Heute konnte ich den Befehl cpan Crypt::Cipher::AES ohne Probleme ausführen. Nun klappt alles :)

@mele Auch nochmal versuchen :) vielleicht war irgendwas am Paket oder Server falsch..? Keine Ahnung - Drücke die Daumen!

eisenhauer1987

Hi,

ich habe ein seltsames Problem mit dem Modul. Zur Vorgeschichte, ich habe mein fhem auf einen docker container umgestellt. Wenn ich nun versuche das Modul zu nutzten passiert folgendes:
send: Invalid argument at ./FHEM/71_XiaomiSmartHome.pm line 336.
Dies bringt fhem zum Absturz, bei jeden Neustart passiert das gleiche. Dies passiert nur im Docker, und auch nur in einem Fhem mit vielen anderen Geräten.

Wenn ich nun einen anderen Docker mit Fhem erstelle und das Modul als einziges (naja fast) Gerät verwende funktioniert es. Es liegt also die Vermutung nahe das hier 2 Module stören. Es wird in Zeile 336 ja auch ein Port an eine Adresse gemapt. Wie kann ich dem auf die Schliche kommen? Was für infos braucht ihr von mir?

Grüße

Sky

Zitat von: tyrolean am 28 Mai 2019, 20:57:32
Hallo,

nachdem ich mich ein wenig mit der neuen Version des Aqara Gateways beschäftigt habe, habe ich eine Möglichkeit gefunden den Key über ein IOS Backup auszulesen. Dieser wird mehr oder weniger verschlüsselt in einem 96 Zeichen HEX Key gespeichert. Ich habe auch eine Anleitung gefunden diesen in einen 32 Zeichen Key zu decodieren jedoch habe ich keine Ahnung wie ich von dem 32 Zeichen Key zu den geforderten 16 Zeichen HEX Key komme.
Kann mir da jemand weiterhelfen?
Gehe ich richtig in der Annahme dass das Modul über eine Art Autocreate verfügt und die einzelnen Unterdevices automatisch erstellt werden. (Z.Bsp. Fensterkontakte?)

Gruß und Dank für eure Hilfe

Hallo ,
könntest Du mir ein paar Infos geben wie Du das auslesen gemacht hast ?
Brauche auch den Key ,nach Stunden im Internet habe ich lediglich als Resultat das bei dem Aqara Hub es noch nicht möglich ist .

Danke für die Hilfe

slowfinger

@Eisenhauer

Ich habe genau das gleiche Problem ...

XiaomiGateway: connect> ConnectStart
send: Invalid argument at ./FHEM/71_XiaomiSmartHome.pm line 336.

Das trat erst auf nachdem ich meinen Pi wegen Upgrade auf PI4 und Buster neu aufgesetzt habe. Auch ich habe viele Module am laufen und habe vor 2 Tagen dummerweise ein FHEM upgrade & shutdown/restart getriggert => nun geht bei mir nix mehr (Rolläden/Gartenbewässerung/e_auto_Wallbox/...). Das letzte mal habe ich alle Xiaomi-Anteile aus der cfg gelöscht und mich dann step by step in stundenlanger Arbeit dem Sollzustand genähert. Das will ich eigentlich diesmal nicht wieder auf mich nehmen :-(

Hatt jemad eine Lösung für das Problem ?
Ich kann gerne Teile meiner cgf posten wenn  das denn hilft.

Mfg

torte

Guten Tag,

Eisenhauer betreibt das wohl im Docker, da hab ich keine Ahnung denke ist was Netzwerktechnisches.
Wenn Du nun also ein Problem unter Docker hast kann ich Dir nicht helfen, ich hab kein Docker.

In Zeile 336 wir eine Mutlicast Send gemacht auf Port 4321. Stell mal am Xiaomi Gateway auf Verbose 5 und provoziere den Fehler danach schickste das Fhem Log.

Grüße
Torte

slowfinger

Hallo Torte

super kurze Reaktionszeit => Danke !

auch im Verbose 5 (des Gateways) sehe ich nicht mehr Xiaomi-relevante Informationen

2019.09.06 08:08:19 5: XiaomiGateway: connect> ConnectStart
send: Invalid argument at ./FHEM/71_XiaomiSmartHome.pm line 336.


komisch ist : wenn ich das Gateway stromlos mache, startet Fhem
2019.09.06 08:11:00 5: XiaomiGateway: connect> ConnectStart
2019.09.06 08:11:03 1: XiaomiGateway: connect> Ping to 192.168.178.193 failed

wenn ich dann das Gateway wieder einsteckeund etwas warte, im Gateway ein get XiaomiGateway Updateall mache, dann werden alle readings wieder gelesen und Fhem arbeitet normal

2019.09.06 08:18:27 5: XiaomiGateway: updateAllReadings> Starting UpdateALLReadings
2019.09.06 08:18:27 1: XiaomiGateway: updateAllReadings> Gateway is Disconnected trying to reconnect to 192.168.178.193
2019.09.06 08:18:27 5: XiaomiGateway: connect> ConnectStart
2019.09.06 08:18:27 5: XiaomiGateway: getGatewaySID> Answer {"cmd":"iam","port":"9898","sid":"286c07887d85","model":"gateway","proto_version":"1.1.2","ip":"192.168.178.193"}
2019.09.06 08:18:27 3: XiaomiGateway: getGatewaySID> Find SID for Gateway: 286c07887d85
2019.09.06 08:18:27 3: XiaomiGateway: connect> Connected
2019.09.06 08:18:27 3: XiaomiGateway: Get> UpdateALLReadings Started

torte

HI

das ist ja was komisch,

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

Das ist die Zeile die da gesendet wird.

Es wird also sowas zusammengebaut und dann abgesendet.

$sidsock->mcast_send('{"cmd":"whois"}', '192.168.178.193:4321') or die "send: $!";


Wie sieht Dein "define" vom Modul aus mit ip adresse oder hostname?

grüße
Torte

slowfinger

Hallo

ganz normal mit IP-Adresse

define XiaomiGateway XiaomiSmartHome 192.168.178.193

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


und das list sieht so aus

Internals:
   DEF        192.168.178.193
   FD         77
   FHEMIP     192.168.178.111
   FUUID      5d4c81c9-f33f-318c-93e0-96ec2b741bb45ce3
   GATEWAY    192.168.178.193
   GATEWAY_IP 192.168.178.193
   NAME       XiaomiGateway
   NOTIFYDEV  global
   NR         660
   NTFY_ORDER 50-XiaomiGateway
   SID        286c07887d85
   STATE      Connected
   TYPE       XiaomiSmartHome
   VERSION    1.41
   READINGS:
     2019-09-04 07:35:20   RGB             0
     2019-09-04 08:30:26   heartbeat       286c07887d85
     2019-09-04 07:35:20   illumination    332
     2019-08-08 22:10:55   password        giveaPassword!
     2019-08-08 22:10:49   pct             100
     2019-08-08 22:10:49   ringtone        21
     2019-09-06 08:18:27   state           Connected
     2019-09-04 08:30:26   token           8YD5puIltwQeM7Zx
     2019-08-08 22:10:49   volume          10
   helper:
     ConnectionState Connected
     host       192.168.178.193
     sensors    158d0001561c0b,158d0001573a00,158d0001025050,158d00015e903d,158d00015db849,158d00022882e6,158d000121899c,158d00012326a5,158d0001fa6c2e,158d00020262e9,158d0002157d28,158d0001c1e735,158d0002791fca,158d0002392051,158d000233ffe8,158d0001a2e854,
Attributes:
   devStateIcon {Color_devStateIcon(ReadingsVal($name,"rgb","000000"))}
   room       MiSmartHome
   verbose    5
   webCmd     pct:rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:on:off

eisenhauer1987

#177
Hi,

ich konnte das problem auch noch nicht lösen. Das einzige was sicher ist, das es eine Wechselwirkung mit einem anderen Modul geben muss. Ich nutze momentan einen zweiten fhem docker mit fhem2fhem um das problem zu umgehen (nutze das gateway nur als Licht und Speaker).

Wie kann ich eine liste aller benutzen Module posten? Dann könnten wir die ja mal vergleichen.

List des Gateways (funktioniert so in der leeren Instanz, nicht jedoch in der vollen)

Internals:
   DEF        192.168.1.243
   FD         4
   FHEMIP     192.168.1.51
   FUUID      5d393d35-f33f-fdda-9221-2266eb5d921b8457
   GATEWAY    192.168.1.243
   GATEWAY_IP 192.168.1.243
   NAME       FL.XiaomiHub
   NOTIFYDEV  global
   NR         18
   NTFY_ORDER 50-FL.XiaomiHub
   SID        7c49eb88e903
   STATE      off
   TYPE       XiaomiSmartHome
   VERSION    1.41
   READINGS:
     2019-09-06 19:01:38   RGB             0
     2019-09-06 19:36:28   heartbeat       7c49eb88e903
     2019-09-06 19:01:38   illumination    440
     2019-07-26 12:02:25   password        xxxxxxxx
     2019-07-25 07:25:09   pct             100
     2019-09-06 17:24:12   proto_version   1.0.9
     2019-09-06 17:24:12   rgb             000000
     2019-08-20 05:45:46   ringtone        2
     2019-09-06 17:24:12   state           off
     2019-09-06 19:36:28   token           xxxxxxx
     2019-07-26 12:24:57   volume          100
   helper:
     ConnectionState Connected
     host       192.168.1.243
     prevrgbvalue 00ff00
     sensors    158d00025d9074,
Attributes:
   devStateIcon {Color_devStateIcon(ReadingsVal($name,"rgb","000000"))}
   room       Funktion - Gateway,Funktion - Licht,Gerät - XiaomiHub,Raum - Flur
   webCmd     pct:rgb:rgb ff0000:rgb 00ff00:rgb 0000ff:on:off

ofno

Hi,
Ich habe keine Erfahrung mit docker, habe aber mit den Stichworten docker und multicast einige Treffer bei Google gelandet. Scheinbar ist dies nicht immer "aktiv" oder möglich,  ggf. muss man hierzu etwas einstellen oder bei der Erstellung definieren.

Kurz nachgefragt, du schreibst du verwendest ihn als Speaker, sind das die  Standard Töne oder mehr? Ich würde diesem gerne mehr entlocken.

Gruß ofno

ofno

Könnt ihr mal die config zeigen wie aus der Doku

https://docs.docker.com/v17.09/engine/userguide/networking/#default-networks

You can attach to a running container to see how the network looks from inside the container. You are connected as root, so your command prompt is a # character.

$ docker attach container1 root@3386a527aa08:/# ip -4 addr

Schaut mal auf
https://www.google.com/amp/s/amp.reddit.com/r/docker/comments/asidv5/multicast_applications_wiyhin_docker_containers/

"multicast will only work between containers that are all part of the same docker network or containers that use host networking. multicast traffic can't enter or leave a docker network"