[Neues Modul] Xiaomi Smart Home ohne Gateway direkt an FHEM

Begonnen von neumann, 22 Februar 2018, 18:00:22

Vorheriges Thema - Nächstes Thema

essera

Hat jemand schon mal den Erschütterungssensor von Xiaomi  ( DJT11LM ) erfolgreich pairen können ?
Laut "supported Device list" von zigbee2mqtt Wiki wird er unterstützt.
Temperatursensoren und HUE Color Bulb funktionieren.

Bei mir wird der Erschütterungssensor nicht erkannt obwohl ich mit dem Gehäuse schon im Stick hänge...:-)

neumann

Ja, klappt bei mir. Einfach weiter probieren und alle 2-3 Sekunden den Knopf beim Pairen drücken.
Hast du eventuell schon das Device Limit schon erreicht (je nach Firmware des Sticks 15-48)?
Modulentwickler
- Spotify #72490
- Nello #75127

matthias soll

Hi Oskar gibt es eine 48devices Firmware???
Kannst du hier Mal Info's verteilen?
Gruß
Matthias

essera

Zitat
Hast du eventuell schon das Device Limit schon erreicht (je nach Firmware des Sticks 15-48)?

Ich habe erst 7 Devices angelernt. Es zählen doch die aktiven Devices und nicht die Anzahl der Devices die er in der yaml hinterlegt hat , oder ?

mthome

Hallo zusammen,

ich habe seit ein paar Tagen auch Tür- und Temperatursensoren von Xiaomi mit zigbee2mqtt und MQTT2_DEVICE am laufen. 

Jetzt habe ich versucht noch eine Tradfri Birne einzubinden. Ich bekomme sie auch gepaired und kann sie per MQTT2 Device an und ausschalten. Allerdings sehe ich weder im zigbee2mqtt logfile noch im MQTT2_Device Status-Nachrichten der Tradfri. Für die Xiaomi Devices bekomme ich die Status-Meldungen

Problem ist, wenn ich die Birne per Controller anschalte bekomme ich das so natürlich in fhem nicht mit :-(.

Ist das normal oder habe ich noch einen Fehler?

Danke,
mthome

Beta-User

So wie ich die Diskussion auf zigbee2mqtt@github verstanden habe, senden die Tradfri-Bulbs (wenigstens die GU10-dimable) eben gar keine Statusmeldungen. Damit bekommt schon zigbee2mqtt nichts davon mit, wenn man die z.B. mit einer Fernbedienung schaltet. Ergo auch nicht FHEM...

Ärgerlich >:( >:( >:(
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

mthome

Danke Beta-User! Na dann ist das wirklich ärgerlich und in Tradfri wird nix mehr investiert.

Es gibt auch keine Möglichkeit den Status zu "pollen" nehme ich an - sonst hättest Du das sicher erwähnt.


Beta-User

Zitat von: mthome am 13 Dezember 2018, 11:14:15
Danke Beta-User! Na dann ist das wirklich ärgerlich und in Tradfri wird nix mehr investiert.

Es gibt auch keine Möglichkeit den Status zu "pollen" nehme ich an - sonst hättest Du das sicher erwähnt.
Ob das ein generelles Problem aller Tratfri ist oder nur die GU10-dimmable betrifft: keine Ahnung. Ich war jedenfalls erst mal auch enttäuscht, ich hatte gehofft, dass die Technik um Längen besser ist als MiLight... Aber wenn man herstellerseitig dann die eigentlich vorhandenen Optionen nicht ausschöpft?!?

Was das Pollen angeht: auch keine Ahnung, ich bin erst am WE überhaupt darauf gekommen. Da habe ich die FB in Betrieb genommen, war erst mal irritiert und habe alle möglichen Schwachstellen in meiner Konfig durchgesehen, bis ich schließlich auf diese "simple" Sache gekommen bin >:( . Bisher habe ich dazu aber nicht intensiv gesucht, vielleicht wäre das ein Weg. Das würde mich sehr freuen, da mit einer Art regelmäßigem Ping auch das Problem des "Leuchtmittels hinter einem Schalter" gelöst wäre. Meine hängen nämlich - jedenfalls im Moment noch - hinter einem normalen Schalter, was zwar ein On bei Stromzufuhr bringt (denke ich jedenfalls), aber eben nichts weiter bei Abschaltung....

Kann auch sein, dass man da was in zigbee2mqtt anpassen müßte (so eine Art internes Ping-Verfahren). Das müßte dann aber jemand aktiv da nachfragen ;) .

Viel Erfolg,

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Meck

Vielleicht gibt es bald etwas mehr wenn man hoffen darf, da Ikea mit xiaomi mehr zusammen arbeiten möchte.
https://t3n.de/news/smarthome-ikea-xiaomi-strategische-partnerschaft-1128712/

chrisnitt

Kaum vier Monate später habe ich das gleiche Problem. Hast Du es hinbekommen? Ich bin leider planlos...

Zitat von: Spaltenputzer am 07 August 2018, 19:29:23
Nabend,
hab da komische Einträge im log.
Kann mir da jemand weiterhelfen?

Log:
2018.08.07 18:04:03 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/72_XiaomiMQTTDevice.pm line 259.
2018.08.07 18:04:03 1: PERL WARNING: Use of uninitialized value in regexp compilation at ./FHEM/10_MQTT_DEVICE.pm line 250.
2018.08.07 18:04:03 1: PERL WARNING: Use of uninitialized value $1 in concatenation (.) or string at ./FHEM/10_MQTT_DEVICE.pm line 251.
2018.08.07 18:04:03 1: PERL WARNING: Use of uninitialized value $1 in concatenation (.) or string at ./FHEM/10_MQTT_DEVICE.pm line 252.
2018.08.07 18:04:03 3: xBridge: unknown attribute subscribeReading_. Type 'attr xBridge ?' for a detailed list.
2018.08.07 18:04:03 3: xBridge: unknown attribute subscribeReading_. Type 'attr xBridge ?' for a detailed list.


line 259.
    if($parts[-1] eq $hash->{SID} || $parts[-1] eq $hash->{FRIENDLYNAME}) {


72_XiaomiMQTTDevice.pm

                    fhem('modify '. $defined->{NAME} . ' '. $model . ' '. $sid . ($sid ne $friendlyName ? " ". $friendlyName : ""));
                    }
                  }
                }

                main::CommandSave(undef, undef);
            } elsif($json->{type} eq "device_connected") {
                updateDevices($hash);
            } elsif($json->{type} eq "device_removed") {
                my $sid = $json->{message};
                my $defined = $main::modules{XiaomiMQTTDevice}{defptr}{$sid};
                if(defined $defined) {
                    fhem('delete '. $defined->{NAME});
                    main::CommandSave(undef, undef);
                }
            }
        }

        readingsSingleUpdate($hash, $path, $message, 1);
    }

    if($parts[-1] eq $hash->{SID} || $parts[-1] eq $hash->{FRIENDLYNAME}) {
        XiaomiMQTT::DEVICE::Decode($hash, $message);
    } elsif($parts[-2] eq $hash->{SID} && $parts[0] eq "xiaomi") { #backward compatibility, not needed with new fork
        my $path = $parts[-1];

        if($path eq 'devices') {
            my $name = $hash->{NAME};
            my $json = eval { JSON->new->utf8(0)->decode($message) };
            foreach my $device (@{$json}) {
              my $sid = $device->{sid};
              my $model = $device->{model};
              $model = 'unknown' if(!defined $model);
              if (!defined $main::modules{XiaomiMQTTDevice}{defptr}{$sid}) {
                Log3 $name, 4, "$name: DEV_Parse> UNDEFINED " . $model . " : " .$sid;
                main::DoTrigger("global", "UNDEFINED XMI_$sid XiaomiMQTTDevice $model $sid");
              }
            }




könnt ihr damit was anfangen?

Gruß

Beta-User

Zitat von: mthome am 13 Dezember 2018, 11:14:15
Es gibt auch keine Möglichkeit den Status zu "pollen" nehme ich an - sonst hättest Du das sicher erwähnt.
Habe eben festgestellt, dass es so eine Option zum Pollen gibt, ist aber noch sehr ... - nennen wir es "steinig"....

Auf eine network-map-raw-Anfrage erhalte ich ein JSON-Array, in dem Geräte auch als "offline" gemarkert sind. Soweit scheint es mit der Wiklichkeit übereinzustimmen.

ABER:
- Die Anfrage holpert im Moment noch (MQTT2-Variante, der set-Befehl will nicht am MQTT2_DEVICE, ich muß das derzeit direkt über den Server als publish-Anweisung rausschieben)- Die Antwort ist "anders", die raw-Geräteadressen passen nicht zu meinen; könnte invertiert sein (f=>0).
- Dazu wird der Inhalt nicht "ausgepackt"
=> Baustelle (im Moment aber bitte nicht meine.... :P )
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

sparkiie

Ich habe seit heute 2 Osram Plugs im Einsatz. Diese lassen sich auch per WebCmd schalten aber beim set Dropdown kann ich  nur remove wählen?
Ich nutze MQTT1, have ich etwas vergessen?

trfr3ak

#642
Gibt es eigentlich eine Möglichkeit auch andere Geräte, die von zigbee2mqtt unterstützt werden in FHem durch dieses Modul vernünftig zu implementieren?
In meinem speziellen Fall ist es die neue Aqara Lampe von Xiaomi. Ich kann sie zwar an und aus machen, aber weiß nicht genau wie ich in FHEM dem Device neue readings wie Temperatur und Helligkeit zuordnen kann. Müsste man da das Modul anpassen, oder kann ich das auch aus FHEM heraus?
Vielen Dank =)
**Edit:
Hat sich erledigt, habe nun MQTT2 für das Gerät genutzt, dann funktionierts =)

trfr3ak

Zitat von: sparkiie am 15 Dezember 2018, 15:45:13
Ich habe seit heute 2 Osram Plugs im Einsatz. Diese lassen sich auch per WebCmd schalten aber beim set Dropdown kann ich  nur remove wählen?
Ich nutze MQTT1, have ich etwas vergessen?
ich habe noch als Attribut eventMap ON:on OFF:off
hinzugefügt, seitdem verhalten sich die Osrams wie jede andere Funksteckdose bei mir  :)

sparkiie

#644
Zitat von: trfr3ak am 15 Dezember 2018, 17:15:48
ich habe noch als Attribut eventMap ON:on OFF:off
hinzugefügt, seitdem verhalten sich die Osrams wie jede andere Funksteckdose bei mir  :)

Schalten klappt jetztvauch per set prima, vielen Dank! Aber jetzt wird der Status der Steckdose nicht mehr erfasst?

defmod 0x7cb03eaa00ad5ab0 XiaomiMQTTDevice AB3257001NJ 0x7cb03eaa00ad5ab0
attr 0x7cb03eaa00ad5ab0 IODev MQTT
attr 0x7cb03eaa00ad5ab0 alias Weihnachtsbaum
attr 0x7cb03eaa00ad5ab0 devStateIcon on:general_an@green:off off:general_aus@red:on
attr 0x7cb03eaa00ad5ab0 eventMap /ON:on/OFF:off/
attr 0x7cb03eaa00ad5ab0 room XiaomiMQTTDevice
attr 0x7cb03eaa00ad5ab0 webCmd on:off