pfandfrei / Homegear-Xiaomi-Smarthome

please use https://github.com/pfandfrei/MiSmartHome for Homegear 0.7.45 and newer
GNU General Public License v3.0
11 stars 3 forks source link

Mehrere Gateways sind nicht möglich #3

Closed pfandfrei closed 5 years ago

pfandfrei commented 5 years ago

Der Betrieb mit mehreren Gateways führt zu vollgespammten Logs und permanenten Neustarts der Scripts.

ibcsim commented 5 years ago

Hallo Frank,

vielen Dank für dein Engagement! Bitte melde dich, wenn ich etwas tun kann um deine Entwicklung zu unterstützen.

bis dahin viele Grüße, Simon

pfandfrei commented 5 years ago

OK, noch ein schneller Versuch (mehr Zeit habe ich gerade nicht): Nimm bitte den Stand von hier und ändere in der MiGateway.xml Zeile 13 von <startType>permanent</startType> in <startType>once</startType> Mit dem aktuellen Stand gibt es dann genau einen Eintrag "unable to bind ..." und es sollte hoffentlich laufen.

ibcsim commented 5 years ago

Sodele, eben wieder dazu gekommen zu testen. Es schaut ganz gut aus ;-) Die reports vom zweiten Gateway kommen noch über Zeile 241 $this->error_log($json); im MiCentral.php und damit wird der Gerätestatus nicht upgedated. Ansonsten kann man das Script nun wieder dauerhaft laufen lassen :-)

20181028_archiv.tar.gz

[edit1]: Falls das relevant wäre: die unknown Nachrichten kommen nicht immer vom selben Gateway. Ich vermute, dass nach dem Scriptstart einfach das Gateway, welches als zweites seinen Heartbeat sendet in die Ungunst des Scripts fällt.?

[edit2]: Nach dem einmaligen Listen aller Geräte im mihome.log beim Startvorgang kommen gerade weder heartbeats noch reports. Ich kann nicht mehr reproduzieren, wie vorhin noch reports kamen. Jetzt kommt jedenfalls mit once gar nichts mehr.

pfandfrei commented 5 years ago

Bitte checke noch mal den aktuellen Stand 0.6.3 aus. Es sieht so aus, als ob irgendwas das Script zum Abbruch bringt. Dadurch, dass das Script mit "once" und nicht mehr mit "permanent" gestartet wurde, hat es sich wohl beendet, wodurch Du keine Updates mehr bekommst. Das liegt vermutlich am "MiMagnet", weil ich da noch einen Fehler in der Kanalliste hatte. Der letzte Eintrag in der mihome.log bezog sich übrigens auch auf den MiMagnet. Wundert mich nur, dass sonst nirgendwo ein Fehler gelistet ist.

ibcsim commented 5 years ago

Es ist wie gehabt: nach dem erstmaligen Durchlauf kommen keine Einträge mehr im Log.

20181018_1255_archiv.tar.gz

pfandfrei commented 5 years ago

Das Script wird mit Fehlercode -32500 beendet. Laut Homegear Dokumentation gibt es diesen Fehlercode nur für setData( ), updateFirmware( ) und setSystemVariable( ). Die verwende ich aber nicht. Ich habe noch ein paar Stellen mit Fehlerbehandlung versehen. Probier mal ob wir damit einen aussagekräftigen Hinweis bekommen. Bitte master auschecken, hab keinen Tag vergeben.

ibcsim commented 5 years ago

Die Logs scheinen gar nicht mehr Informationen zu enthalten.?

20181018_1503_archiv.tar.gz

pfandfrei commented 5 years ago

Langsam wird's komisch. Bist Du sicher, dass auch die XML Dateien auf Stand sind? Kommentiere mal die Zeile 387 ($hg->setValue($this->_peerId, 0, 'HEARTBEAT', time());) in der MiGateway.php aus

ibcsim commented 5 years ago

So, habe nochmal /etc/homegear/devices/254/ und /var/lib/homegear/scripts/DeviceScripts/Xiaomi/ geleert und mit den aktuellen Dateien befüllt. Schaut für mich gleich aus.?

20181028_1553_archiv.tar.gz

und hier mit Zeile 387 auskommentiert: 20181028_1558_archiv.tar.gz

pfandfrei commented 5 years ago

Sorry, ist gerade ein Stochern im Dunkeln. Bei mir läuft es aber auch mit Homegear 0.7, aber das wird es wohl nicht sein. Kann Du mal auf Debuglevel 5 erhöhen und den Log schicken? Es scheint immer beim ersten Heartbeat vom Gateway auszusteigen.

ibcsim commented 5 years ago

tadaaa:

20181028_1618_archiv.tar.gz

pfandfrei commented 5 years ago

Hat mir leider nichts gebracht. Ich hab noch einen ErrorHandler eingefügt. Kannst Du wieder die aktuelle Version auschecken? Der Fehler isr damit nicht weg, aber evtl gibt es jetzt einen Hinweis

ibcsim commented 5 years ago

viel Erfolg :-)

20181028_1754_archiv.tar.gz

pfandfrei commented 5 years ago

Das verwirrt mich noch mehr weil hier Geräte als UNKNOWN auftauchen und das Script nicht mit Fehlercode beendet wurde. Ich muss noch ein wenig mehr Logging drumherum bauen. Heute und morgen wird das aber definitiv nichts mehr, aber ich bleibe dran ...

ibcsim commented 5 years ago

Alles klar, immer mit der Ruhe ;-) vielen Dank nochmal für dein Engagement!

pfandfrei commented 5 years ago

Hallo Simon,

wenn Du noch mal testen magst ... bitte Version 0.6.4 auschecken. Ich konnte mir ein Szenario erstellen, das wie bei Dir abstürzt. Nach den Änderungen ist das behoben. Außerdem habe ich das Logging verbessert.

Gruß, Frank

ibcsim commented 5 years ago

moin Frank,

danke für das Update! Das schaut in der Tat nach einer maßgeblichen Verbesserung aus :-) Was mir noch auffällt: Nachrichten von den Tochtergeräten (egal welches Gateway) stehen im Log als UNKNOWN, obwohl deren Status korrekt interpretiert wird.

Noch eine andere Frage: der Variablenstatus beim Start (read & read_ack) wird an Homegear übergeben, richtig? Sonst müsste nämlich gewartet werden, bis alle Fensterkontakte ihren Heartbeat abgesetzt haben um sicher sagen zu können, dass alle Fenster geschlossen sind.?

20181101_0708_archiv.tar.gz

pfandfrei commented 5 years ago

Beim Logging der Tochtergeräte ist mir da tatsächlich was durchgerutscht. Wird voraussichtlich heute Abend gefixt. Bei Starten werden alle Geräte aus den Gateways gelesen und die Werte entsprechend gesetzt. Das soll heißen: So lange der Gateway weiß, welchen Status der Fensterkontakt hat, wird er auch bei Start übermittelt und im Gerät gesetzt. Edit: Da ist noch ein weiterer Fehler, wodurch vermutlich keine Parameter von außen gesetzt werden können => Auch heute Abend ...

pfandfrei commented 5 years ago

nächster Versuch: 0.6.5

ibcsim commented 5 years ago

Danke Frank, es scheint gefixed zu sein :-) Konnte zumindest keinen Fehler mehr feststellen. Vielen Dank für deinen super Support!!

20181101_2246_archiv.tar.gz

pfandfrei commented 5 years ago

Ja, sieht gut aus. Ebenfalls danke für Deine gute Unterstützung.