Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS 19001435 / 19001436 Homematic / Homematic IP Einbindung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ladnermi
    antwortet
    Zitat von Nanosonde Beitrag anzeigen

    Es gibt quasi eine globale Message Queue für Events. Die bleibt gleich, solange der Event Receiver nicht neu gestartet wird.
    Dann hat jede Instanz eines Device LBS jeweils noch eine eigene Message zur internen Kommunikation zwischen LBS-Teil und EXE-Teil.

    Welche meinst Du?
    bei Homematic Event Receiver v0.1 msg queue id A1 Ausgang diese nummer

    Einen Kommentar schreiben:


  • ladnermi
    antwortet
    hab noch log gefunden

    >>XMLRPC server script START<<
    array(23) {
    ["HTTP_USER_AGENT"]=>
    string(12) "XMLRPC++ 0.7"
    ["HTTP_HOST"]=>
    string(11) "10.2.1.3:80"
    ["CONTENT_TYPE"]=>
    string(8) "text/xml"
    ["CONTENT_LENGTH"]=>
    string(3) "748"
    ["PATH"]=>
    string(29) "/sbin:/usr/sbin:/bin:/usr/bin"
    ["SERVER_SIGNATURE"]=>
    string(0) ""
    ["SERVER_SOFTWARE"]=>
    string(32) "Apache/2.2.15 (CentOS) PHP/5.3.3"
    ["SERVER_NAME"]=>
    string(8) "10.2.1.3"
    ["SERVER_ADDR"]=>
    string(8) "10.2.1.3"
    ["SERVER_PORT"]=>
    string(2) "80"
    ["REMOTE_ADDR"]=>
    string(10) "10.2.1.111"
    ["DOCUMENT_ROOT"]=>
    string(20) "/usr/local/edomi/www"
    ["SERVER_ADMIN"]=>
    string(14) "root@localhost"
    ["SCRIPT_FILENAME"]=>
    string(57) "/usr/local/edomi/www/data/liveproject/lbs/EXE19001435.php"
    ["REMOTE_PORT"]=>
    string(5) "52178"
    ["GATEWAY_INTERFACE"]=>
    string(7) "CGI/1.1"
    ["SERVER_PROTOCOL"]=>
    string(8) "HTTP/1.1"
    ["REQUEST_METHOD"]=>
    string(4) "POST"
    ["QUERY_STRING"]=>
    string(0) ""
    ["REQUEST_URI"]=>
    string(37) "/data/liveproject/lbs/EXE19001435.php"
    ["SCRIPT_NAME"]=>
    string(37) "/data/liveproject/lbs/EXE19001435.php"
    ["PHP_SELF"]=>
    string(37) "/data/liveproject/lbs/EXE19001435.php"
    ["REQUEST_TIME"]=>
    int(1516473765)
    }
    ">>REQUEST<< :<?xml version="1.0"?>\r\n<methodCall><methodName>system. multicall<\/methodName>\r\n<params><param><value><array><data> <value><struct><member><name>methodName<\/name><value>event<\/value><\/member><member><name>params<\/name><value><array><data><value>edomi_hm-1047202504<\/value><value>OEQ0699032:1<\/value><value>TEMPERATURE<\/value><value><double>23.100000<\/double><\/value><\/data><\/array><\/value><\/member><\/struct><\/value><value><struct><member><name>methodName<\/name><value>event<\/value><\/member><member><name>params<\/name><value><array><data><value>edomi_hm-1047202504<\/value><value>OEQ0699032:1<\/value><value>HUMIDITY<\/value><value><i4>40<\/i4><\/value><\/data><\/array><\/value><\/member><\/struct><\/value><\/data><\/array><\/value><\/param><\/params><\/methodCall>\r\n"
    RPC method system.multicall()
    array(2) {
    [0]=>
    array(2) {
    ["methodName"]=>
    string(5) "event"
    ["params"]=>
    array(4) {
    [0]=>
    string(19) "edomi_hm-1047202504"
    [1]=>
    string(12) "OEQ0699032:1"
    [2]=>
    string(11) "TEMPERATURE"
    [3]=>
    float(23.1)
    }
    }
    [1]=>
    array(2) {
    ["methodName"]=>
    string(5) "event"
    ["params"]=>
    array(4) {
    [0]=>
    string(19) "edomi_hm-1047202504"
    [1]=>
    string(12) "OEQ0699032:1"
    [2]=>
    string(8) "HUMIDITY"
    [3]=>
    int(40)
    }
    }
    }
    event(edomi_hm-1047202504, OEQ0699032:1, TEMPERATURE, 23.1)


    da steht der richtige wert da
    Temperatur 23.1

    [COLOR=inherit !important]


    [/COLOR]
    Zuletzt geändert von ladnermi; 20.01.2018, 19:48. Grund: da steht der richtige wert da Temperatur 23.1

    Einen Kommentar schreiben:


  • Nanosonde
    antwortet
    Zitat von ladnermi Beitrag anzeigen

    die gleiche msg queue id
    Es gibt quasi eine globale Message Queue für Events. Die bleibt gleich, solange der Event Receiver nicht neu gestartet wird.
    Dann hat jede Instanz eines Device LBS jeweils noch eine eigene Message zur internen Kommunikation zwischen LBS-Teil und EXE-Teil.

    Welche meinst Du?

    Einen Kommentar schreiben:


  • ladnermi
    antwortet
    Zitat von Nanosonde Beitrag anzeigen

    Bitte etwas genauer. Was meinst Du mit "gleiche Nummer wieder"`?

    Ich habe die Version 0.5 online gestellt, die den Fehler mit msg_send behebt.
    Die Event Message Queue ID kann jetzt auch ohne diesen Fehler über interne KOs gemacht werden.
    die gleiche msg queue id

    Einen Kommentar schreiben:


  • Nanosonde
    antwortet
    Zitat von ladnermi Beitrag anzeigen
    ich werde es morgen genauer testen

    wenn ich den Wert der klemme E1 ändere
    und dann E1 auf 2 STOP und wieder 1 Starte
    bekomme ich die gleiche nummer wieder
    Bitte etwas genauer. Was meinst Du mit "gleiche Nummer wieder"`?

    Ich habe die Version 0.5 online gestellt, die den Fehler mit msg_send behebt.
    Die Event Message Queue ID kann jetzt auch ohne diesen Fehler über interne KOs gemacht werden.

    Einen Kommentar schreiben:


  • ladnermi
    antwortet
    ich werde es morgen genauer testen

    wenn ich den Wert der klemme E1 ändere
    und dann E1 auf 2 STOP und wieder 1 Starte
    bekomme ich die gleiche nummer wieder

    Einen Kommentar schreiben:


  • Nanosonde
    antwortet
    Zitat von ladnermi Beitrag anzeigen
    habb es jetzt nocheinmal genau wie bei dir nachgebaut
    2018-01-20 18_52_05-EDOMI · Administration.png

    nach dem starten
    wenn ich jetzt bei E10 1 eingeben bekomme ich die daten

    nuss ich noch was auf der CCU2 einstellen oder bei Edomi??
    Wenn Du selbst einen aktives GetValue ausführst, sollte das immer gehen. Das hat aber nichts mit dem Event Receiver zu tun.
    Starte Edomi mal neu oder setze den Eingang der Klemme nochmal auf "leer" in der Edomi Liveansicht1, damit Du siehst, wann neue Werte reinkommen. (Vielleicht sollte ich noch einen Ausgang mit letztem Zeitstempel hinzufügen.)

    Dann solltest Du mal 10-20 Minuten oder so warten, um zu gucken, ob neue Werte per Event reinkommen.

    Alternativ kannst Du auch einfach mal einen anderen Parameter nehmen, den Du in der CCU2 selbst ändern kannst.
    Im Augenblick der Änderung sollte der Edomi-LBS aktualisiert werden. (Zum Beispiel SOLL-Temperatur SET_POINT_TEMPERATURE)

    Du musst auf der CCU2 und Edomi sonst nichts weiter machen.

    Ich kann Deinen Fehler mit "msg_snd failed" übrigens nachstellen. Das Problem tritt wohl auf, weil die Message Queue ID über ein internes KO erst später verfügbar ist, und beim Start des Device LBS noch nicht da ist. Dachte eigentlich, dass ich das Problem abgefangen hätte, aber wohl doch nicht....

    Einen Kommentar schreiben:


  • ladnermi
    antwortet
    ccu2 2018-01-20 18_58_50-HomeMatic WebUI.png

    Einen Kommentar schreiben:


  • ladnermi
    antwortet
    Zitat von Nanosonde Beitrag anzeigen
    Genau.
    Hast Du immer noch den Fehler im Log bzgl. msgsnd failed?
    anbei das log

    Fehler Log gibt es jetzt keines mehr
    anbei die anderen log
    {EDOMI,CUSTOMLOG_HM_Event_Receiver-LBS19001435.htm,20.01.2018,18:56:02,027837,42151}
    Zeitstempel ms PID LogLevel Meldung
    2018-01-20 18:56:02 027755 42151 info EXE19001435 [v0.1]: Homematic Event Receiver daemon stopped (1278)
    2018-01-20 18:56:32 065479 42492 info EXE19001435 [v0.1]: Starting Homematic Event Receiver daemon (1278)
    2018-01-20 18:56:32 466626 42492 info EXE19001435 [v0.1]: HM Device LBS register: (1278)
    2018-01-20 18:56:32 466746 42492 info EXE19001435 [v0.1]: ================ ARRAY/OBJECT START ================
    2018-01-20 18:56:32 466824 42492 info EXE19001435 [v0.1]: {"system":"edomi_hm","lbsid":"1379","address":"OEQ 0699032","outparams":{"2.LOWBAT_REPORTING":1,"2.AC TUAL_TEMPERATURE":2,"2.CONTROL_MODE":3,"2.SET_TEMP ERATURE":4}}
    2018-01-20 18:56:32 466888 42492 info EXE19001435 [v0.1]: ================ ARRAY/OBJECT END ================
    {EDOMI,CUSTOMLOG_HM_Gen_Device-LBS19001436.htm,20.01.2018,18:56:32,283188,42469}
    Zeitstempel ms PID LogLevel Meldung
    2018-01-20 18:56:32 283099 42469 debug LBS19001436 [v0.4]: LBS Homematic Generic Device started (1379)
    2018-01-20 18:56:32 285342 42469 debug LBS19001436 [v0.4]: MSGQID generated: 1943244092 (1379)
    2018-01-20 18:56:32 287009 42469 debug LBS19001436 [v0.4]: Message: (1379)
    2018-01-20 18:56:32 287118 42469 debug LBS19001436 [v0.4]: ================ ARRAY/OBJECT START ================
    2018-01-20 18:56:32 287200 42469 debug LBS19001436 [v0.4]: {"start":1,"evrxqueueupdated":"1973797971"}
    2018-01-20 18:56:32 287264 42469 debug LBS19001436 [v0.4]: ================ ARRAY/OBJECT END ================
    2018-01-20 18:56:32 287960 42469 debug LBS19001436 [v0.4]: MSGQID used: 1943244092 (1379)
    2018-01-20 18:56:32 291939 42469 debug LBS19001436 [v0.4]: LBS Homematic Generic Device ended (1379)
    2018-01-20 18:56:32 394814 42508 debug EXE19001436 [v0.4]: MSGQID: 1943244092 (1379)
    2018-01-20 18:56:32 397897 42508 debug EXE19001436 [v0.4]: API is HM using port 2001 (1379)
    2018-01-20 18:56:32 402831 42508 debug EXE19001436 [v0.4]: Command received by daemon: start (1379)
    2018-01-20 18:56:32 403984 42508 debug EXE19001436 [v0.4]: Starting Homematic Generic Device daemon (1379)
    2018-01-20 18:56:32 406018 42508 debug EXE19001436 [v0.4]: LBS registered at event receiver LBS (1379)
    2018-01-20 18:56:32 406136 42508 debug EXE19001436 [v0.4]: ================ ARRAY/OBJECT START ================
    2018-01-20 18:56:32 406214 42508 debug EXE19001436 [v0.4]: {"register":{"system":"edomi_hm","lbsid":"1379","a ddress":"OEQ0699032","outparams":{"2.LOWBAT_REPORT ING":1,"2.ACTUAL_TEMPERATURE":2,"2.CONTROL_MODE":3 ,"2.SET_TEMPERATURE":4}}}
    2018-01-20 18:56:32 406277 42508 debug EXE19001436 [v0.4]: ================ ARRAY/OBJECT END ================
    2018-01-20 18:56:32 409343 42508 debug EXE19001436 [v0.4]: Command received by daemon: evrxqueueupdated (1379)
    2018-01-20 18:56:32 411112 42508 debug EXE19001436 [v0.4]: Msg Queue to event receiver updated: (1379)
    2018-01-20 18:56:32 411201 42508 debug EXE19001436 [v0.4]: ================ ARRAY/OBJECT START ================
    2018-01-20 18:56:32 411258 42508 debug EXE19001436 [v0.4]: "1973797971"
    2018-01-20 18:56:32 411308 42508 debug EXE19001436 [v0.4]: ================ ARRAY/OBJECT END ================
    2018-01-20 18:56:32 413373 42508 debug EXE19001436 [v0.4]: Homematic Generic Device daemon stopped (1379)

    Einen Kommentar schreiben:


  • ladnermi
    antwortet
    habb es jetzt nocheinmal genau wie bei dir nachgebaut
    2018-01-20 18_52_05-EDOMI · Administration.png

    nach dem starten
    wenn ich jetzt bei E10 1 eingeben bekomme ich die daten

    nuss ich noch was auf der CCU2 einstellen oder bei Edomi??

    Einen Kommentar schreiben:


  • Nanosonde
    antwortet
    Genau.
    Hast Du immer noch den Fehler im Log bzgl. msgsnd failed?

    Einen Kommentar schreiben:


  • ladnermi
    antwortet
    Zitat von Nanosonde Beitrag anzeigen

    Oh, das ist merkwürdig.
    Könntest Du bitte mal den Ausgang des Event Receiver DIREKT mit den Eingängen E4 der Device LBS verbinden zum Testen?

    Unbenannt7.PNG
    2018-01-20 18_48_45-EDOMI · Administration.png
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Nanosonde
    antwortet
    Zitat von ladnermi Beitrag anzeigen
    ok hab es jetzt getest beim schein es aber nicht zu funktionieren
    Oh, das ist merkwürdig.
    Könntest Du bitte mal den Ausgang des Event Receiver DIREKT mit den Eingängen E4 der Device LBS verbinden zum Testen?

    Unbenannt7.PNG

    Einen Kommentar schreiben:


  • ladnermi
    antwortet
    Zitat von Nanosonde Beitrag anzeigen

    Aber genau dafür ist ja der Homematic Event Receiver LB 19001435 da.
    Du kannst den Homematic Generic Device LBS 19001436 zwar ohne den Event Receiver LBS benutzen, dann verzichtest Du aber auf die Echtzeitbenachrichtigungen (Events) der CCU2, wenn sich Werte ändern.

    Ich denke, dass der die Verwendung von beiden LBS eher der Standardfall ist. Auch gerade dann, wenn nicht nur EDOMI irgendwelche Homemati-Geräte steuert, sondern die CCU2 durch interne Programme auch. Oder auch, wenn externe Apps wie Pocket Home Control verwendet werden.

    Die Verbindung zwischen beiden LBS läuft über sog. Messages Queues ab, die von Linux zur Verfügung gestellt werden. Das nennt sich Interprozesskommunikation (IPC).
    Über diese Message Queue, die ich einfach Event Queue genannt habe, registrieren sich alle Generic Device LBS bei dem Event Receiver. Das hat aber nichts mit der CCU2 oder so selbst zu tun.

    ok hab es jetzt getest beim schein es aber nicht zu funktionieren
    2018-01-20 17_04_03-EDOMI · Administration.png

    log vom hm_xml path?? mit :
    string(29) "/sbin:/usr/sbin:/bin:/usr/bin"


    ["HTTP_USER_AGENT"]=>
    string(12) "XMLRPC++ 0.7"
    ["HTTP_HOST"]=>
    string(11) "10.2.x.x:80"
    ["CONTENT_TYPE"]=>
    string(8) "text/xml"
    ["CONTENT_LENGTH"]=>
    string(4) "5137"
    ["PATH"]=>
    string(29) "/sbin:/usr/sbin:/bin:/usr/bin"
    ["SERVER_SIGNATURE"]=>
    string(0) ""
    ["SERVER_SOFTWARE"]=>
    string(32) "Apache/2.2.15 (CentOS) PHP/5.3.3"
    ["SERVER_NAME"]=>
    string(8) "10.2.x.x"
    ["SERVER_ADDR"]=>
    string(8) "10.2.x.x"
    ["SERVER_PORT"]=>
    string(2) "80"
    ["REMOTE_ADDR"]=>
    string(10) "10.2.x.xxx"
    ["DOCUMENT_ROOT"]=>
    string(20) "/usr/local/edomi/www"
    ["SERVER_ADMIN"]=>
    string(14) "root@localhost"
    ["SCRIPT_FILENAME"]=>
    string(57) "/usr/local/edomi/www/data/liveproject/lbs/EXE19001435.php"
    ["REMOTE_PORT"]=>
    string(5) "41539"
    ["GATEWAY_INTERFACE"]=>
    string(7) "CGI/1.1"
    ["SERVER_PROTOCOL"]=>
    string(8) "HTTP/1.1"
    ["REQUEST_METHOD"]=>
    string(4) "POST"
    ["QUERY_STRING"]=>
    string(0) ""
    ["REQUEST_URI"]=>
    string(37) "/data/liveproject/lbs/EXE19001435.php"
    ["SCRIPT_NAME"]=>
    string(37) "/data/liveproject/lbs/EXE19001435.php"
    ["PHP_SELF"]=>
    string(37) "/data/liveproject/lbs/EXE19001435.php"
    ["REQUEST_TIME"]=>
    int(1516464456)


    im log steht
    File: /usr/local/edomi/www/data/liveproject/lbs/EXE19001436.php | Error: 2 | Line: 187 | msg_send(): msgsnd failed: Invalid argument (1279)


    2018-01-20 17:33:12 568423 37454 debug EXE19001436 [v0.4]: Starting Homematic Generic Device daemon (1279)
    2018-01-20 17:33:12 569055 37454 debug EXE19001436 [v0.4]: File: /usr/local/edomi/www/data/liveproject/lbs/EXE19001436.php | Error: 2 | Line: 187 | msg_send(): msgsnd failed: Invalid argument (1279)
    2018-01-20 17:33:12 569588 37454 debug EXE19001436 [v0.4]: LBS registered at event receiver LBS (1279)
    2018-01-20 17:33:12 569670 37454 debug EXE19001436 [v0.4]: ================ ARRAY/OBJECT START ================
    2018-01-20 17:33:12 569761 37454 debug EXE19001436 [v0.4]: {"register":{"system":"edomi_hm","lbsid":"1279","a ddress":"OEQ0699032","outparams":{"2.LOWBAT_REPORT ING":1,"2.ACTUAL_TEMPERATURE":2,"2.CONTROL_MODE":3 ,"2.SET_TEMPERATURE":4}}}
    2018-01-20 17:33:12 569825 37454 debug EXE19001436 [v0.4]: ================ ARRAY/OBJECT END ================
    2018-01-20 17:33:12 577786 37454 debug EXE19001436 [v0.4]: Command received by daemon: getvalue1 (1279)
    2018-01-20 17:33:12 579382 37454 debug EXE19001436 [v0.4]: GetValue for param 1 (1279)
    2018-01-20 17:33:12 592480 37458 debug EXE19001436 [v0.4]: MSGQID: 1222271881 (1280)
    2018-01-20 17:33:12 596349 37458 debug EXE19001436 [v0.4]: API is HM using port 2001 (1280)
    2018-01-20 17:33:12 598891 37458 debug EXE19001436 [v0.4]: Command received by daemon: start (1280)
    2018-01-20 17:33:12 599667 37458 debug EXE19001436 [v0.4]: Starting Homematic Generic Device daemon (1280)
    2018-01-20 17:33:12 600697 37458 debug EXE19001436 [v0.4]: File: /usr/local/edomi/www/data/liveproject/lbs/EXE19001436.php | Error: 2 | Line: 187 | msg_send(): msgsnd failed: Invalid argument (1280)
    2018-01-20 17:33:12 604074 37458 debug EXE19001436 [v0.4]: LBS registered at event receiver LBS (1280)
    2018-01-20 17:33:12 604170 37458 debug EXE19001436 [v0.4]: ================ ARRAY/OBJECT START ================
    2018-01-20 17:33:12 604244 37458 debug EXE19001436 [v0.4]: {"register":{"system":"edomi_hm","lbsid":"1280","a ddress":"OEQ0699032","outparams":{"2.ACTUAL_HUMIDI TY":1,"2.AUTO_MODE":2,"2.MANU_MODE":3,"2.BOOST_MOD E":4}}}
    2018-01-20 17:33:12 604309 37458 debug EXE19001436 [v0.4]: ================ ARRAY/OBJECT END ================
    Zuletzt geändert von ladnermi; 20.01.2018, 17:47.

    Einen Kommentar schreiben:


  • Nanosonde
    antwortet
    Achso:

    Weiß jemand, ob es eine maschinenlesbare Form aller Homematic bzw. Homematic-IP Geräte gibt, die alle Parameter, Werte, Wertetypen, etc. definieren?
    Ich kenne nur die beiden PDF-Dateien von EQ-3 und, dass man über XMLRPC die ParamSetDescription für die VALUES bekommen kann.

    Mir geht es darum, dass es doch evtl. auch praktisch wäre, ein Generatorskript für spezifische Homematic Device LBS zu bauen, mit dem dann automatisch diese LBS generiert werden.

    So könnte man auf Knopfdruck für alle Homematic-Geräte einen LBS bauen lassen.

    Einen Kommentar schreiben:

Lädt...
X