Xiaomi Smart Home Gateway

Hallo zusammen,

zunächst danke für eure super Arbeit, ich habe hier mehrere Taster und zwei Wassersensoren erfolgreich eingebunden.
Zwei Fragen habe ich leider:

  1. Wie kann ich das Licht am Gateway komplett ausschalten? Über die App kommt im Splitter glaube ich
{"cmd":"report","model":"gateway","sid":"286c07898c97","short_id":0,"data":"{\"rgb\":0,\"illumination\":1094}"}

an. Leider klappt

XISMD_WriteValueInteger(34410 /*[Xiaomi Gateway Modul\Xiaomi Device]*/, 'rgb', 0);

nicht :confused:

  1. Wenn ein Wassersensor Wasser meldet, geht der Alarm an (Ton und Lichtsignale), wie mache ich diesen Alarm über Symcon wieder aus (am Gateway kann man die obere Taste zwei mal drücken)? Die Frage gilt auch für das abspielen der integrierten Töne über zb.
XISMD_WriteValueInteger(34410 /*[Xiaomi Gateway Modul\Xiaomi Device]*/, 'mid', 0);

, wie kann ich den Ton (im Betrieb) stoppen?

Danke für eure Hilfe und lieben Gruß

Adam

Du musst brightness auf 0 senden.

Die Werte sind ja auch:

// 0 - 8, 10 - 13, 20 - 29 – ringtones that come with the system)

// > 10001 – user-defined ringtones

// 10000 off
Ob das wirklich reicht um den Alarm zu stoppen, keine Ahnung :wink:
Michael

Du musst brightness auf 0 senden.
Das funktioniert. (Kleiner Schönheitsfehler: in der App wird weiterhin „Licht an“ angezeigt)

// 10000 off
Das habe ich gebraucht, damit kann ich die Sound deaktivieren (Sounds und den Alarm). Merci!

Nach einem Alarm (ich habe den Wassersensor geflutet) schaltet er auch die LED`s im Wechsel aus/rot.

{„cmd“:„report“,„model“:„gateway“,„sid“:„286c07898c97“,„short_id“:0,„data“:"{„rgb“:0,„illumination“:1060}"}{„cmd“:„report“,„model“:„gateway“,„sid“:„286c07898c97“,„short_id“:0,„data“:"{„rgb“:1694433280,„illumination“:1063}"}]{„cmd“:„report“,„model“:„gateway“,„sid“:„286c07898c97“,„short_id“:0,„data“:"{„rgb“:0,„illumination“:1060}"}
{„cmd“:„report“,„model“:„gateway“,„sid“:„286c07898c97“,„short_id“:0,„data“:"{„rgb“:1694433280,„illumination“:1063}"}

Hast du auch einen Tipp,wie ich aus diesem LED Modus rauskomme oder auch so einen Modus aktivieren kann (z.b. als Anrufmeldung interessant)?

Nochmals Danke und lieben Gruß

Adam

Hallo liebe Gemeinde,
habe auch den Bewegungsmelder in Betrieb. Dieser meldet, wenn Bewegung erkannt wird. Der Status bleibt jedoch immer auf Bewegung erkannt. Es wird nur der Zeitstempel erneuert. Normalerweise sollte doch der Status nach einer Zeit sich auch auf „keine Bewegung“ ändern? Im Debug des Splitters wird auch „no motion“ erkannt.
Was laüft da falsch?

Gruß,
Jürgen

Das war bewusst so implementiert, weil man das auch selbst realisieren kann. Und dann nicht an die vorgegebenen Zeiträume gebunden ist ab wann es als „keine Bewegung“ zählt. Das schickt der Bewegungsmelder nur für dumme Systeme die nicht wie IPS selbst diese Logik abbilden können.

Aber wer weiß vielleicht hast du ja gute Gründe und willst es doch noch einmal zur Diskussion stellen.

Ich persönlich finde es aber unnötig ausgelöste Events. Wenn man Timeouts will würde ich das immer selbst und flexibel programmieren. Wer wirklich nur ganz rudimentär was braucht dem reicht vielleicht das was der Melder schickt aber wer selber was programmiert den „stört“ dann das unnötig Skriptaufrufe stattfinden.

Gesendet von meinem MI 5s Plus mit Tapatalk

Eigentlich soll der Melder auch als Report den Status mit no_motion senden.
Dann wird die Variable wieder auf false gesetzt.
So hier gemeldet und geschrieben:
Xiaomi Smart Home Gateway - Seite 9
Nur diese Zeit wurde bei einigen Melder nicht berücksichtigt.
Habe da eben etwas ergänzt.
Jetzt sollte auch der Wert wie lange keine Auslösung war auftauchen.
Michael

Hallo zusammen,
also erst mal danke an alle die sich die Mühe gemacht haben das Modul zu proggen.

Ich habe ein Problem mit mehreren Gateways.

Ich habe 3 Stockwerke und habe mir deshalb 3 Gateways geholt.

Wenn ich Gateway 1 entsprechend der Anleitung einbinde, Konfigurator Instanz erstelle, Passwort angebe, Devices suche, geht alles super. Gateway 1 wird erkannt, und alle daran angelernten Geräte.

Mache ich nun das gleiche mit Gateway 2 wird am 2. Gateway (ja, hat richtige IP, eigenes Passwort, Developer Mode gesetzt, nimmt die richtige Instanz von Socket und Splitter) weder das Gateway selbst noch irgendwelche Devices an diesem gefunden.

Lösche ich alle mit Xiaomi Einträge aus ISP (Devices, Splitter, Gateway, Socket …) und fange ganz von vorne an

Mache das gleiche aber diesmal zuerst mit Gateway 2. Funktioniert Gateway 2 und alle Devices daran, einwandfrei.
Versuche ich nun danach Gateway1 einzubinden, geht es genau so wenig wie Gateways2 im ersten Versuch.

Ich hoffe ihr versteht worauf ich raus will.

Ich kann immer nur 1 Gateway, egal welches, integrieren, alle weiteren werden nicht erkannt und auch die daran angeschlossene Devices nicht.

Ich habe natürlich darauf geachtet, dass jeder Konfigurator den richtigen Splitter und jeder Splitter den richtigen Socket verwendet.

Alle 3 Gateways übertragen Daten und funktionieren ansonsten einwandfrei. Das welches ich als erstes einbinde geht auch immer problemlos, nur eben alle weiteren nicht.

Hat irgendjemand nen Tipp für mich?

Gruß Mirko

PS: In der Anleitung steht :

  1. Installation
    Die Installation in IP-Symcon ist relativ einfach. Das Modul muss IP-Symcon als Modul zu Verfügung stehen. Dazu bitte den folgenden Link in IP-Symcon unter Core->Modules eintragen.

Da ist jedoch kein Link, habs extra mit zwei verschiedenen Browsern getestet?

Hi,
da ich mit o.g. Problem nicht weiter kam, bin ich nun hin gegangen und habe ein komplett neues Testsystem auf einem RaspberryPi aufgesetzt und dort alle 3 XIAOMI Gateways angelert.

Hat seltsamer weise auf Anhieb funktioniert. Sowohl meine reguläre als auch meine Testversion von IPS sind auf dem aktuellen, also gleichen, Software Stand.

Seltsam ist nur, dass wenn ich auf dem Raspi-System Commandos an die Gateways sende (z.B. Helligkeitsänderung über die Weboberfläche oder per Script) die Befehle zwar ausgeführt werden (also Helligkeit ändert sich am Gateway)
ich jedoch die Fehlermeldung

Error send command in …XiaomiSHDevice/module.php on line 546

erhalte.

Socket debug zeigt an:


{"cmd":"write","sid":"7811dcb07667","model":"gateway","data":"{\"rgb\":436181248,\"key\":\"5A4641FFD88E237DEC0C965D36AEA012\"}"}
{"cmd":"report","model":"gateway","sid":"7811dcb07667","short_id":0,"data":"{\"rgb\":436181248,\"illumination\":779}"}
{"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"5C5NM8k03buTibRz","data":"{\"ip\":\"192.168.178.157\"}"}
{"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"PVhGTyhWkRIjxBDV","data":"{\"ip\":\"192.168.178.159\"}"}
{"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"2GQTbiZ1zrgqe2RZ","data":"{\"ip\":\"192.168.178.158\"}"}

Wie man sieht haben die Gateway die ip’s 157 bis 159

Hat jeder Splitter seinen eigenen Multicast-IO mit den jeweiligen IPS der Gateways?
Dann schau beim Schaltvorgang im Debug des dazugehörigen Splitters.
Eventuell erkennt man dann warum es einen Fehler gibt.
Passwort ist richtig eingetragen in jedem Splitter?
Michael

Hi Michael,
Danke für die Rückmeldung.

Also nehmen wir mal meine Raspi-Testinstallation
Splitter1 -> MultiCast1
Splitter2 -> MultiCast2
Splitter3 -> MultiCast3

habs gerade nochmals geprüft.

Passwörter per cut and past eingefüllt. Stimmen sicherlich auch.

Btw, ich kann ja auch alles ansteuern.

Beispiel:

Über das Webfrontend setze ich die Helligkeit von Gateway 1 (ip … 159) auf 15%.
Die Hardware tut dies auch (lampe wird heller).

Dennoch Fehlermeldung im Webfrontend

>> Error send command in …XiaomiSHDevice/module.php on line 546

und hier die Log von Splitter1


           Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"D1ZFmIDnXe6eYwHK","data":"{\"ip\":\"192.168.178.159\"}"}
           Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"1137cNjPBocA4ELe","data":"{\"ip\":\"192.168.178.158\"}"}
           Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"iHstR7rtP36rCF0U","data":"{\"ip\":\"192.168.178.157\"}"}
       Forward:cmd | write
       Forward:sid | 7811dcb07667
  Forward:data:rgb | 251658240
     Forward:model | gateway
          Send:cmd | write
          Send:sid | 7811dcb07667
        Send:model | gateway
         Send:data | {"rgb":251658240,"key":"9DAD4AF98792B6C350A4F3256C549634"}
           Receive | {"cmd":"report","model":"gateway","sid":"7811dcb07667","short_id":0,"data":"{\"rgb\":251658240,\"illumination\":792}"}
           Receive | {"cmd":"report","model":"gateway","sid":"7811dcb07667","short_id":0,"data":"{\"rgb\":251658240,\"illumination\":795}"}
           Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"UmuXklXaYexggFpM","data":"{\"ip\":\"192.168.178.159\"}"}
           Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"K986wKK9HGZSY1aB","data":"{\"ip\":\"192.168.178.158\"}"}
           Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"NynsSMm0QtzHe3ms","data":"{\"ip\":\"192.168.178.157\"}"}
            Result | FALSE
           Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"6KtCILbhRLZsxAbC","data":"{\"ip\":\"192.168.178.159\"}"}
           Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"DdlhaiKYauIjpa9R","data":"{\"ip\":\"192.168.178.158\"}"}
           Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"VXk6CTteMpOIJzaY","data":"{\"ip\":\"192.168.178.157\"}"}


ist das


Receive | {"cmd":"report","model":"gateway","sid":"7811dcb07667","short_id":0,"data":"{\"rgb\":251658240,\"illumination\":792}"}

nicht eigentlich die korrekte Antwort?

Irgend eine Idee?

Gruß Mirko

Da kommt vom Gateway kein cmd mit write_ack, darum der Fehler.
Sprich das Gateway sendet keine Bestätigung an IPS.
Warum… Keine Idee.
Michael

Hab mal die Debugger Logs der 3 Splitter angeschaut, und mir fiel auf, dass alle write_ack beim Splitter2 ankommen
Beim Splitter1 und 3 kommen nie irgendwelche write_ack an.


{"cmd":"write_ack","model":"gateway","sid":"7811dcb07667","short_id":0,"data":"{\"rgb\":167772160,\"illumination\":472,\"proto_version\":\"1.0.9\"}"}
{"cmd":"write_ack","model":"gateway","sid":"7811dcb25215","short_id":0,"data":"{\"rgb\":201303296,\"illumination\":372,\"proto_version\":\"1.0.9\"}"}
{"cmd":"write_ack","model":"gateway","sid":"7811dcb208da","short_id":0,"data":"{\"rgb\":134194432,\"illumination\":340,\"proto_version\":\"1.0.9\"}"}

Alle anderen Meldungen treffen aber bei allen dreien ein? Nur das nicht?
Michael

Hab mal bei allen 3 Gateways über das WebInterface die Helligkeit geändert.

Debug Log von Splitter1


TXT: 26.02.2018 21:25:12.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"K8OJ7NlWs6m2xJld","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:16.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"TyBUVUxkoYIyd5gj","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:16.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"eEr99PwdadlCnGVE","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:22.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"kPEY0h2hoPRimacR","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:26.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"rnAKNkQrBRyjqIRq","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:26.00 |          Forward:cmd | write
TXT: 26.02.2018 21:25:26.00 |          Forward:sid | 7811dcb07667
TXT: 26.02.2018 21:25:26.00 |     Forward:data:rgb | 67108864
TXT: 26.02.2018 21:25:26.00 |        Forward:model | gateway
TXT: 26.02.2018 21:25:26.00 |             Send:cmd | write
TXT: 26.02.2018 21:25:26.00 |             Send:sid | 7811dcb07667
TXT: 26.02.2018 21:25:26.00 |           Send:model | gateway
TXT: 26.02.2018 21:25:26.00 |            Send:data | {"rgb":67108864,"key":"24D4D13FD5D3EADCA9D418DFB42496C5"}
TXT: 26.02.2018 21:25:26.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"NqGCPdlNX5HGMvDS","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:31.00 |               Result | FALSE
TXT: 26.02.2018 21:25:32.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"PcNTyhxp1KHDtYrt","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:32.00 |              Receive | {"cmd":"report","model":"gateway","sid":"7811dcb25215","short_id":0,"data":"{\"rgb\":167748864,\"illumination\":369}"}
TXT: 26.02.2018 21:25:36.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"zsXdwkrsyKBsVihJ","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:36.00 |              Receive | {"cmd":"report","model":"gateway","sid":"7811dcb208da","short_id":0,"data":"{\"rgb\":134194432,\"illumination\":341}"}
TXT: 26.02.2018 21:25:37.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"ccON8Qp0GSXti0xQ","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:42.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"wRLhQRW1SOf3KFUj","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:46.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"YNBwoFusZzc4tzgQ","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:46.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"mfQeU6K5LXBcDu3G","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:52.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"IXzTGwfuLOs3DGfx","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:56.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"zZ9l8794ktoMDW7G","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:56.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"Fkl29Ip0cbwEvvBE","data":"{\"ip\":\"192.168.178.158\"}"}

Debug Log von Splitter2


TXT: 26.02.2018 21:25:12.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"K8OJ7NlWs6m2xJld","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:16.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"TyBUVUxkoYIyd5gj","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:16.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"eEr99PwdadlCnGVE","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:22.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"kPEY0h2hoPRimacR","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:26.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"rnAKNkQrBRyjqIRq","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:26.00 |              Receive | {"cmd":"write_ack","model":"gateway","sid":"7811dcb07667","short_id":0,"data":"{\"rgb\":67108864,\"illumination\":432,\"proto_version\":\"1.0.9\"}"}
TXT: 26.02.2018 21:25:26.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"NqGCPdlNX5HGMvDS","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:32.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"PcNTyhxp1KHDtYrt","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:32.00 |          Forward:cmd | write
TXT: 26.02.2018 21:25:32.00 |          Forward:sid | 7811dcb25215
TXT: 26.02.2018 21:25:32.00 |     Forward:data:rgb | 167748864
TXT: 26.02.2018 21:25:32.00 |        Forward:model | gateway
TXT: 26.02.2018 21:25:32.00 |             Send:cmd | write
TXT: 26.02.2018 21:25:32.00 |             Send:sid | 7811dcb25215
TXT: 26.02.2018 21:25:32.00 |           Send:model | gateway
TXT: 26.02.2018 21:25:32.00 |            Send:data | {"rgb":167748864,"key":"BAC8966A3170F448B25936F3D658E027"}
TXT: 26.02.2018 21:25:32.00 |              Receive | {"cmd":"write_ack","model":"gateway","sid":"7811dcb25215","short_id":0,"data":"{\"rgb\":167748864,\"illumination\":369,\"proto_version\":\"1.0.9\"}"}
TXT: 26.02.2018 21:25:32.00 |           Result:rgb | 167748864
TXT: 26.02.2018 21:25:32.00 |  Result:illumination | 369
TXT: 26.02.2018 21:25:32.00 | Result:proto_version | 1.0.9
TXT: 26.02.2018 21:25:32.00 |         Result:model | gateway
TXT: 26.02.2018 21:25:32.00 |              Receive | {"cmd":"report","model":"gateway","sid":"7811dcb25215","short_id":0,"data":"{\"rgb\":167748864,\"illumination\":369}"}
TXT: 26.02.2018 21:25:36.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"zsXdwkrsyKBsVihJ","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:36.00 |              Receive | {"cmd":"write_ack","model":"gateway","sid":"7811dcb208da","short_id":0,"data":"{\"rgb\":134194432,\"illumination\":341,\"proto_version\":\"1.0.9\"}"}
TXT: 26.02.2018 21:25:37.00 |              Receive | {"cmd":"report","model":"gateway","sid":"7811dcb208da","short_id":0,"data":"{\"rgb\":134194432,\"illumination\":341}"}
TXT: 26.02.2018 21:25:37.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"ccON8Qp0GSXti0xQ","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:42.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"wRLhQRW1SOf3KFUj","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:46.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"YNBwoFusZzc4tzgQ","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:46.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"mfQeU6K5LXBcDu3G","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:52.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"IXzTGwfuLOs3DGfx","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:56.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"zZ9l8794ktoMDW7G","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:56.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"Fkl29Ip0cbwEvvBE","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:26:02.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"IYcZ9zVavIsB4tM4","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:26:06.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"dLXgcrGOeMlfJ04C","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:26:06.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"Oa8jQYsD3VvLznId","data":"{\"ip\":\"192.168.178.158\"}"}

Debug Log von Splitter3


TXT: 26.02.2018 21:25:16.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"TyBUVUxkoYIyd5gj","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:16.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"eEr99PwdadlCnGVE","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:22.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"kPEY0h2hoPRimacR","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:26.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"rnAKNkQrBRyjqIRq","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:26.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"NqGCPdlNX5HGMvDS","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:32.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"PcNTyhxp1KHDtYrt","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:32.00 |              Receive | {"cmd":"report","model":"gateway","sid":"7811dcb25215","short_id":0,"data":"{\"rgb\":167748864,\"illumination\":369}"}
TXT: 26.02.2018 21:25:36.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"zsXdwkrsyKBsVihJ","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:36.00 |          Forward:cmd | write
TXT: 26.02.2018 21:25:36.00 |          Forward:sid | 7811dcb208da
TXT: 26.02.2018 21:25:36.00 |     Forward:data:rgb | 134194432
TXT: 26.02.2018 21:25:36.00 |        Forward:model | gateway
TXT: 26.02.2018 21:25:36.00 |             Send:cmd | write
TXT: 26.02.2018 21:25:36.00 |             Send:sid | 7811dcb208da
TXT: 26.02.2018 21:25:36.00 |           Send:model | gateway
TXT: 26.02.2018 21:25:36.00 |            Send:data | {"rgb":134194432,"key":"30038440992DC4E7E562686F679BA878"}
TXT: 26.02.2018 21:25:36.00 |              Receive | {"cmd":"report","model":"gateway","sid":"7811dcb208da","short_id":0,"data":"{\"rgb\":134194432,\"illumination\":341}"}
TXT: 26.02.2018 21:25:37.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"ccON8Qp0GSXti0xQ","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:41.00 |               Result | FALSE
TXT: 26.02.2018 21:25:42.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"wRLhQRW1SOf3KFUj","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:46.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"YNBwoFusZzc4tzgQ","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:46.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"mfQeU6K5LXBcDu3G","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:25:52.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"IXzTGwfuLOs3DGfx","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:25:56.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"zZ9l8794ktoMDW7G","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:25:56.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"Fkl29Ip0cbwEvvBE","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:26:02.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"IYcZ9zVavIsB4tM4","data":"{\"ip\":\"192.168.178.159\"}"}
TXT: 26.02.2018 21:26:06.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb208da","short_id":"0","token":"dLXgcrGOeMlfJ04C","data":"{\"ip\":\"192.168.178.157\"}"}
TXT: 26.02.2018 21:26:06.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb25215","short_id":"0","token":"Oa8jQYsD3VvLznId","data":"{\"ip\":\"192.168.178.158\"}"}
TXT: 26.02.2018 21:26:12.00 |              Receive | {"cmd":"heartbeat","model":"gateway","sid":"7811dcb07667","short_id":"0","token":"WD3ND1xTQDYDT3zo","data":"{\"ip\":\"192.168.178.159\"}"}

Verstehe ich nicht wirklich… Sorry kein Plan aktuell.
Ohne da jetzt detailliert das ganze nachstellen und einen tcpdump zu machen, ist das für mich nicht nachvollziehbar.
Michael

Also ich versteh es auch nicht. Hab mir jetzt mal die sources angeschaut und alle arten von Debugger-Logs erstellt.
Wenn ich das richtig verstehe, kommen die Daten doch beim Socket an, werden an den Splitter gegeben und der sendet weiter an die devices, oder?

Wenn ich nun die sockets im debug laufen lasse, so stelle ich fest, dass alle heartbeats von den gateways immer auf allen geöffneten sockets ankommen. Das scheint mir so völlig ok zu sein.

Nachrichten die an ein gateway versendet werden, tauchen nur im log des jeweiligen socket auf, soweit alles ok.

Antworten die von den gateways kommen, tauchen aber immer NUR in einem, immer dem gleichen, socket auf.
Das scheint der socket zu sein, welchen ich als letzten angelegt habe.

Filtert der socket irgendwie? Sollte da nicht immer alles ankommen?

Ich finde keinerlei Erklärung dafür dass jeder heartbeat bei jedem socket ankommt, jede antwort aber immer nur bei einem einzigen, immer gleichen socket und nicht unbedingt bei dem, welcher die frage verschickt hat.

Wie lässt sich das erklären? :banghead: :confused:

Hat außer mir niemand mehrere Gateways in Betrieb?

So, hab noch ein Stück weiter geforscht :wink:
Nachrichten alle mal mit Wireshark aufgezeichnet und angeschaut. Sieht alles ganz normal aus.

Der Unterschied ist, dass alle Nachrichten die vom Gateway kommen und an 224.0.0.50 gerichtet sind, also die heartbeats, bei allen sockets landen.

Die Antwort auf Kommandos geht aber an die IP meines IPS Systems, und diese werden dann nicht den einzelnen sockets zugeordnet, sondern einfach irgendeinem der sockets.

Muss also was mit der Registrierung der Nachrichten, also der Absender IP’s, zu tun haben, vermute ich …

Hab noch nie ein Modul für IPS programmiert und auch noch nie den Multicast Socket verwendet, daher muss ich mich da langsam vorarbeiten … :wink:

Werd mal weiter forschen :slight_smile:

Könnte ein Fehler im Multicast-Socket sein.
Michael

Hi,
im Moment sieht es für mich auch so aus, als wäre das ein Fehler/Problem im Multicast Socket.
Bin da aber zu wenig in der Materie drinne um hier ne verlässliche Aussage zu treffen.

Mich wundert dass sonst niemand das Problem, bzw. mehrere Gateways am laufen hat?

Die Dinger haben mich 17 Euro das Stück beim Chinesen gekostet, haben einen Lichtsensor, steuerbare RGB Leds, abspielbare Sounds und können jeweils 30 Sensoren verwalten.
Die Dinger sind doch super Nachtlichter in jedem Flur :smiley:

So, hab nun ein funktionierendes Workaround gebastelt.

Alle Nachrichten der Sensoren und Statusmeldungen der Gateways kommen ja bei allen Sockets an, daher hab ich da kein Problem gehabt.

Gibt man einem Gateway jedoch einen Befehl, z.B. Licht einschalten, kommt das Ergebnis bei irgendeinem Socket an, und der Befehl gibt deshalb eine Fehlermeldung aus (weil er ja nicht weis, dass es geklappt hat).

Workaround:
Eine Routine geschrieben, die immer bevor ich eine Nachricht an ein Gateway sende, alle anderen Sockets abschaltet.
Dann die Nachricht versendet, die Antwort empfängt und danach alle Sockets wieder einschaltet.

Geht soweit ich das bisher beurteilen kann einwandfrei.

Da ich nur selten mal ne Nachricht an das Gateway schicke (Nachtlicht), fällt es auch nicht weiter ins Gewicht, dass die Sockets mal für ne Sekunde keine Statusmitteilungen empfangen können.

Gruß
Mirko