Xiaomi Smart Home Komponenten

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

Vorheriges Thema - Nächstes Thema

torte

komisch ist auch das hier
Bareword found where operator expected at ./FHEM/71_XiaomiSmartHome.pm line 23, near "<title>fhem"

<title>fhem gibt es garnicht im im Code, irgendwie strange...


gerdshi

Abruptes abschalten des Geräts => Datei Querverlinkungen zwischen der Xiaomi- und die Perl-Dateien von FHEM?!

Coyoute, mach mal ein forcefsck im /
Danach spiele die Xiaomi-Dateien erneut ein.
FHEM: Orange Pi One, Orangepi PC2, RPi 4, RPi2,
Xiaomi Gateway, Intertechno, Sonoff Bridge Wifi-433MHz, Amazon * & Google Home mini, mini- & nanoCUL 433MHz, MapleCUL 868MHz, Enocean rpi, CC2530/1 zigbee2mqtt, Mysensors

coyote-x

Zitat von: torte am 06 April 2017, 16:37:21
Hi coyote,

ich hab so die Vermutung das die Datei bei dir kaputt ist !? line23 steht bei mir nix drin

Ich hänge Dir mal die beiden Dateien hier rein kannst Du ja mal vergleichen.

Grüße
Torte

Vieeeeelen Dank. Es geht. Ich hatte die Dateien (per ziel speichern) von deiner github seite runtergeladen. Da waren sie um die 182kb groß. Irgendetwas ist da wohl schief gelaufen. Mit den angehängten (um die 15kb) funktioniert alles !!!


torte

cool das es nun geht.  8)

Update kannste auch ganz bequem über das hier
Zitatupdate all https://raw.githubusercontent.com/T0RST3N/fhem-XiaomiSmartHome/master/controls_mish.txt
in der FHEM command Zeile (oben) durchführen.
(Braucht aber dann Internetzugriff der FHEM Server)

thaliondrambor

Erstmal super vielen Dank für das Modul. Ich wollte mich auch mal dran setzen, aber momentan habe ich nicht mal Zeit um mich um das YeeLight-Modul zu kümmern. Zum Glück läuft es wohl ohne große Probleme.

Bei mir gibt es einen "Fehler" mit dem Modul. Es spamt nach jedem Heartbeat mein Log mit folgender Meldung zu:
2017.04.06 19:59:57 5: XiaomiGateway> Read:{"cmd":"heartbeat","model":"gateway","sid":"a0123456789b","short_id":"0","token":"gsPhojTSyL5WkCm9","data":"{\"ip\":\"192.168.xxx.xxx\"}"}
Illegal hexadecimal digit 'o' ignored at FHEM/Color.pm line 73.
Illegal hexadecimal digit 'o' ignored at FHEM/Color.pm line 73.


Dies passiert allerdings nur, wenn das Licht des Gateways aus ist. Ich habe mich ein bisschen auf die Suche gemacht und vermute folgendes Problem: Die Color.pm holt den RGB-Wert aus dem devStateIcon, welches von deinem Modul aus dem Reading "rgb" (klein geschrieben) geholt wird. Das Reading ist aber "off" wenn das Licht aus ist und Color.pm erwartet einen Hexwert und kein "o" für den ersten Farbwert.

Meine temporäre Lösung ist, dass ich das Attribut "devStateIcon" mit dem Reading "RGB" befülle. Das ist zwar keine sinnvolle Lösung, da das Icon so eine Signalstärke-Anzeige hinzubekommt, wenn das Licht an ist, aber besser als ein zugmüllter Log. Das Attribut "devStateIcon" löschen löst das Problem auch erstmal.

Haben auch andere diese Meldung im Log?

torte

@thaliondrambor
Danke für den Hinweis, schaue ich mir an. Bin eh gerade an der Helligkeit der LED, da passt das gut rein.



thaliondrambor

{my $color=ReadingsVal($name,"rgb","000000");if($color eq "off"){Color_devStateIcon("000000");}else{Color_devStateIcon($color);}}

Funktioniert bei mir.

Ist vielleicht auch eine Option. Ist das Reading "rgb" ausschließlich fürs devStateIcon oder macht das auch noch was anderes? Sonst könnte man das Reading grundsätzlich auf "000000" setzen, wenn das Licht aus ist.

torte

Zitat von: thaliondrambor am 06 April 2017, 20:27:14
{my $color=ReadingsVal($name,"rgb","000000");if($color eq "off"){Color_devStateIcon("000000");}else{Color_devStateIcon($color);}}

Funktioniert bei mir.

Ist vielleicht auch eine Option. Ist das Reading "rgb" ausschließlich fürs devStateIcon oder macht das auch noch was anderes? Sonst könnte man das Reading grundsätzlich auf "000000" setzen, wenn das Licht aus ist.
[emoji2] [emoji2] genau das baue ich gerade ein

Gesendet von meinem Pixel XL mit Tapatalk


torte

@thaliondrambor
Zeile 302 71_XiaomiSmartHome.pm
readingsSingleUpdate( $hash, 'rgb', '000000', 1 );

Läuft!
:)

thaliondrambor

Zitat von: torte am 06 April 2017, 20:35:37
@thaliondrambor
Zeile 302 71_XiaomiSmartHome.pm
readingsSingleUpdate( $hash, 'rgb', '000000', 1 );

Läuft!
:)

Japp, funktioniert^^
Aber die Meldung tauchte bei dir auch im Log auf?

torte

Zitat von: thaliondrambor am 06 April 2017, 20:41:37
Japp, funktioniert^^
Aber die Meldung tauchte bei dir auch im Log auf?
Nur nach fhem restart ist mir die mal aufgefallen aber nicht weiter drüber nachgedacht. [emoji52]

Morrino

Zitat von: torte am 06 April 2017, 08:30:07
@Morrino
Wenn Du das Problem hast stelle mal das Gateway auf Verbose 5 mache dann ein UpdateALL und schicke mir das LOG mit dem Sensor namen der den Fehler hat.
Habe das bei mir auch so noch nicht beobachtet.

Grüße
Torte

Hi,

anbei mein Log:
2017.04.06 20:30:06 5: Xiaomi_Gateway> {"cmd":"read_ack","model":"magnet","sid":"158d0001585103","short_id":28110,"data":"{\"voltage\":3065,\"status\":\"open\"}"}
2017.04.06 20:30:06 5: Xiaomi_Gateway: dispatch {"cmd":"read_ack","model":"magnet","sid":"158d0001585103","short_id":28110,"data":"{\\"voltage\\":3065,\\"status\\":\\"open\\"}"}
2017.04.06 20:30:06 4: Xiaomi_Gateway>  IS DEFINED magnet : 158d0001585103
2017.04.06 20:30:06 5: Xiaomi_Gateway: SID: 158d0001585103 XiaomiSmartHome_Device
2017.04.06 20:30:06 3: Xiaomi_Gateway> SID: 158d0001585103 Type: magnet Status: open
2017.04.06 20:30:06 3: Xiaomi_Gateway> SID: 158d0001585103 Type: magnet Voltage: 3065


Zitat von: torte am 06 April 2017, 09:02:07
Gerade gab es eine Firmware für das Gateway 1.4.1_145.0141

Habe dann nach dem Firmwareupdate ein UpdateALL gemacht alle Magnet Sensoren waren Open. Das Gateway hat aber auch Open gemeldet obwohl alle zu waren.
Ich musste dann alle Sensoren auslösen damit der Status stimmte. Könnte das Problem von Morrino sein. Vielleicht ist das auch so wenn die Sensoren
ihre Verbindung verloren haben.

Könnte es sein, dass die Sensoren teilweise außerhalb der Gateway Reichweite sind? Bei Xiaomi spannen die Sensoren ja leider kein Zigbee Netz auf wie bei den HUE-Komponenten.
Aber holt er sich den Status nicht immer neu vom Gateway?
Wenn ich das Gateway vom Netz (Steckdose) nehme und in direkter Nähe der Sensoren setze sind im Anschluss alle TürSensoren auf open. Obwohl alle geschlossen sind, in Realität und App.
Da hilft auch kein Update All mehr.

Gruß

MothersFinest

Merkwürdig ...

Ich bekomme keinen Plug mehr geschaltet, mittlerweile bin ich mir auch nicht mehr sicher, ob ich mich beim ersten Test nicht selbst ausgetrickst habe (mit einem Notify bei Statusmeldungen, welches Schaltvorgänge der App nachziehen soll).

Muss hier nicht ein Key geschickt werden?


2017.04.07 07:46:24 4: MIgateway> {"cmd":"write","model":"plug","sid":"158d00010ac93a","data":"{\"status\":\"off\",\"key\":\"\"}" } 10.1.1.80
2017.04.07 07:46:24 5: MIgateway> Read:{"cmd":"write_ack","sid":"158d00010ac93a","data":"{\"error\":\"Invalid key len\"}"}
2017.04.07 07:46:24 4: MIgateway> Dispatch! {"cmd":"write_ack","sid":"158d00010ac93a","data":"{\"error\":\"Invalid key len\"}"}
2017.04.07 07:46:24 5: MIgateway: dispatch {"cmd":"write_ack","sid":"158d00010ac93a","data":"{\\"error\\":\\"Invalid key len\\"}"}
2017.04.07 07:46:24 3: MIgateway: Unknown code {"cmd":"write_ack","sid":"158d00010ac93a","data":"{\"error\":\"Invalid key len\"}"}, help me!
2


torte

Moin,

geht das normale schalten der LED? ansonsten ist das Passwort vom GW richtig.

Grüße
Torte

torte

@Morrino
Deckt sich also das Verhalten wie bei mir, durch das Firmwareupdate verursachte verhalten. Mit UpdateAll wird immer nur
das Gateway angefragt wie ist der Status der Sensoren. Wenn das Gateway FHEM meldet das die Sensoren open sind dann zeigt das Modul das auch so an.
UpdateAll triggert nicht die Sensoren direkt an, das geht auch nicht.

Grüße
Torte