NEWS
Fragen zum Matrix-Adapter
-
Hallo Leute
Kann mir BITTE jemand beim Matrix-org Adapter helfen.
Was muss/soll ich da einstellen ???
Hintergrund:
Verwende Matrix [Element] schon lange zufrieden in der Familie.
Hab auch schon länger einen Raum den ich per Node-Red mit ioBroker Statusmeldungen füttere.Durch ein vorhandenes blockly-Script würde ich jetzt gerne direkt mit dem Matrix-Adapter Nachrichten verschicken.
Dazu meine Fragen: Muss der Raum öffentlich sein ???
Wenn ich den Raum mit "!" und ":matrix.org" angebe kommt:
Server or room not found. Check port (443/8448), room name and server. {"errcode":"M_INVALID_PARAM","data":{"errcode":"M_INVALID_PARAM","error":"Room alias invalid"},"httpStatus":400,"name":"M_INVALID_PARAM"}
Mit "#" und ":matrix.org" kommt:
{"errcode":"M_NOT_FOUND","data":{"errcode":"M_NOT_FOUND","error":"Room alias #*****:matrix.org not found"},"httpStatus":404,"name":"M_NOT_FOUND"}
Ist der Username im Format „@****:matrix.org“ oder ohne „@“ und „:matrix.org“.
Was mich wundert, in Node-Red geht ohne Access-Token nichts. Braucht der Adapter das nicht ???
DANKE für eure hilfe.
MondieuX
-
@mondieux Entschuldige die späte Antwort.
Der Matrix-Adapter holt sich selber einen access token. Daher braucht der das nicht. In der Beschreibung (english) ist ein Testraum angegeben. Da kannst Du Deine Einstellungen ausprobieren. Wenn das auch nicht geht, dann könnte das die Adapterversion sein. Die Version 0.1.4 funktionier nur mit Node 18. Daher gibt es die Version 0.1.5. Die geht mit Node 16 wieder. Wenn Node 16 aus dem support raus genommen wird, stelle ich wieder auf Node 18 um. (Das Fehlerbild passt) -
Vielen Dank für die Antwort.
Zuerst:
Kann der Adapter sich nur mit einem ÖFENTLICHEN-Raum verbinden ???
Mein Zielraum ist Privat !!!Mit deinem Testraum kann ich mich verbinden - Adapter wird und bleibt Grün.
Sende ich jedoch mittels Blockly eine Nachricht kommen folgende Fehlermeldungen:
2023-03-25 15:36:26.980 - [31merror[39m: matrix-org.0 (2224377) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2023-03-25 15:36:26.982 - [31merror[39m: matrix-org.0 (2224377) unhandled promise rejection: User @*****:matrix.org not in room !gapLtrCXsCQJDMauOT:matrix.org 2023-03-25 15:36:26.983 - [31merror[39m: matrix-org.0 (2224377) M_FORBIDDEN: User @*****:matrix.org not in room !gapLtrCXsCQJDMauOT:matrix.org at parseErrorResponse (/opt/iobroker/node_modules/matrix-js-sdk/lib/http-api.js:889:13) at /opt/iobroker/node_modules/matrix-js-sdk/lib/http-api.js:839:17 at Request._callback (/opt/iobroker/node_modules/matrix-js-sdk/lib/http-api.js:763:9) at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) at Request.emit (node:events:513:28) at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10) at Request.emit (node:events:513:28) at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12) at Object.onceWrapper (node:events:627:28) at IncomingMessage.emit (node:events:525:35) 2023-03-25 15:36:26.984 - [31merror[39m: matrix-org.0 (2224377) User @*****:matrix.org not in room !gapLtrCXsCQJDMauOT:matrix.org 2023-03-25 15:36:26.990 - [32minfo[39m: matrix-org.0 (2224377) terminating 2023-03-25 15:36:26.992 - [33mwarn[39m: matrix-org.0 (2224377) Terminated (UNCAUGHT_EXCEPTION): Without reason 2023-03-25 15:36:27.640 - [31merror[39m: host.iobroker Caught by controller[1]: Error sending event M_FORBIDDEN: User @*****:matrix.org not in room !gapLtrCXsCQJDMauOT:matrix.org 2023-03-25 15:36:27.640 - [31merror[39m: host.iobroker Caught by controller[1]: at parseErrorResponse (/opt/iobroker/node_modules/matrix-js-sdk/lib/http-api.js:889:13) 2023-03-25 15:36:27.640 - [31merror[39m: host.iobroker Caught by controller[1]: at /opt/iobroker/node_modules/matrix-js-sdk/lib/http-api.js:839:17 2023-03-25 15:36:27.640 - [31merror[39m: host.iobroker Caught by controller[1]: at Request._callback (/opt/iobroker/node_modules/matrix-js-sdk/lib/http-api.js:763:9) 2023-03-25 15:36:27.641 - [31merror[39m: host.iobroker Caught by controller[1]: at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22) 2023-03-25 15:36:27.641 - [31merror[39m: host.iobroker Caught by controller[1]: at Request.emit (node:events:513:28) 2023-03-25 15:36:27.641 - [31merror[39m: host.iobroker Caught by controller[1]: at Request.<anonymous> (/opt/iobroker/node_modules/request/request.js:1154:10) 2023-03-25 15:36:27.641 - [31merror[39m: host.iobroker Caught by controller[1]: at Request.emit (node:events:513:28) 2023-03-25 15:36:27.641 - [31merror[39m: host.iobroker Caught by controller[1]: at IncomingMessage.<anonymous> (/opt/iobroker/node_modules/request/request.js:1076:12) 2023-03-25 15:36:27.641 - [31merror[39m: host.iobroker Caught by controller[1]: at Object.onceWrapper (node:events:627:28) 2023-03-25 15:36:27.641 - [31merror[39m: host.iobroker Caught by controller[1]: at IncomingMessage.emit (node:events:525:35) 2023-03-25 15:36:27.641 - [31merror[39m: host.iobroker instance system.adapter.matrix-org.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2023-03-25 15:36:27.641 - [32minfo[39m: host.iobroker Restart adapter system.adapter.matrix-org.0 because enabled 2023-03-25 15:36:57.774 - [32minfo[39m: host.iobroker instance system.adapter.matrix-org.0 started with pid 2224575 2023-03-25 15:37:01.189 - [32minfo[39m: matrix-org.0 (2224575) starting. Version 0.1.5 in /opt/iobroker/node_modules/iobroker.matrix-org, node: v16.19.0, js-controller: 4.0.23
Username und Passwort sind die gleichen wie am Handy/Desktop und NodeRed.
ioBroker läuft im Docker.
-
@mondieux Also er sollte auch mit privaten Räumen funktionieren.
Dem Raum musst Du natürlich mit dem User, der für den Adapter genutzt werden soll erst beitreten. -
@mondieux Der User wird ohne @ und ohne :matrix.org angegeben. Der Server wird ja separat eingestellt.
Der Raum wird immer als raumname erwartet.#raumname:server.de
. Der Adapter holt sich dann den Raumalias. Das ist bei dem testraum !gapLtrCX.....:matirx.org
-
VIELEN DANK.
Problem gelöst.
War mein Fehler … Keine Ahnung wie oft kontrolliert, hatte aber einen Tipp Fehler bei „Lokale Adressen“. Daher konnte der Raum nicht gefunden werden.
Zur Info:
Einstellungen im Adapter:
- Server: matrix.org
- Port: 443 <---- 8448 hat bei mir nicht funktioniert.
- Raumname: #*****:matrix.org <----- Wenn nicht direkt an einen User gesendet wird, muss der Raumname bei „Lokale-" oder "Öffentliche-Adressen“ eingetragen werden.
- Bot-Name: ***** <----- Username OHNE „@“ und „:matrix.org“. [Wie in APP]
- Bot-Passwort: ••••••••••• <----- Passwort wie in [APP]
WICHTIG:
This room is configured to use encryption, but your client does not support encryption.Bei der Erstellung des Raumes NICHT die Verschlüsselung aktivieren. Kann man später nicht mehr Rückgängig machen.
Als APP verwende ich „ELEMENT“. Desktop APP ist auch in Ordnung.
Gibt’s eine bessere ??? Empfehlungen ???