NEWS
Test Adapter Samsung Smartthings v.0.0.x
-
Dann schau in die Issues des Adapters und leg entsprechend eins an, falls es noch nichts passendes gibt.
@Thomas-Braun Leider muss ich sagen das mir dazu die Kenntnisse fehlen. Ich hab auch kein Github Konto.
Ich bin ein User der sich da so durchkämpft. Wenn der Adapter nicht mehr weiterentwickelt wird ist das zu akzeptieren. Danke trotzdem Danke! -
Das sagt KI:
Was genau schiefgeht (technisch korrekt)Node 20+ / 22 nutzt OpenSSL 3.x
Der SmartThings-Adapter:
verschlüsselt Tokens legacy-kompatibel
entschlüsselt sie mit createDecipheriv
OpenSSL 3 ist strenger bei:
Padding
Blocklängen
Ergebnis:
wrong final block length
KI schlägt downgrade nodejs auf 18 vor - mach ich natürlich nicht
Alternative:
Node 22 behalten (nicht empfohlen, aber möglich)Nur mit Legacy-Provider:
export NODE_OPTIONS=--openssl-legacy-provider
iobroker restartIst das zu empfehlen?
@smarteppi ich habe das problem mit node 22.21.1 auf MacOS nicht. welches OS verwendest du
=== Node.js and OpenSSL Version Information === Node.js version: v22.21.1 Node.js platform: darwin Node.js arch: arm64 OpenSSL version: 3.6.0 === All Process Versions === node: 22.21.1 acorn: 8.15.0 ada: 2.9.2 amaro: 1.1.4 ares: 1.34.5 brotli: 1.2.0 cjs_module_lexer: 2.1.0 cldr: 48.0 icu: 78.1 llhttp: 9.3.0 modules: 127 napi: 10 nbytes: 0.1.1 ncrypto: 0.0.1 nghttp2: 1.68.0 openssl: 3.6.0 simdjson: 4.2.2 simdutf: 7.7.0 sqlite: 3.51.0 tz: 2025b undici: 6.22.0 unicode: 17.0 uv: 1.51.0 uvwasi: 0.0.23 v8: 12.4.254.21-node.33 zlib: 1.2.12 zstd: 1.5.7 === Crypto Capabilities === Available ciphers: 130 Has aes-128-cbc: YES === OpenSSL Constants Available === Crypto constants defined: YESDu kannst es auch selber überprüfen einfach in test.js speichern und dann ausführen
node test.jsconst crypto = require('crypto'); console.log('=== Node.js and OpenSSL Version Information ===\n'); console.log('Node.js version:', process.version); console.log('Node.js platform:', process.platform); console.log('Node.js arch:', process.arch); console.log(''); // Check OpenSSL version console.log('OpenSSL version:', process.versions.openssl); console.log(''); // Get all crypto-related versions console.log('=== All Process Versions ==='); Object.keys(process.versions).forEach(key => { console.log(`${key}: ${process.versions[key]}`); }); console.log(''); // Check available crypto features console.log('=== Crypto Capabilities ==='); console.log('Available ciphers:', crypto.getCiphers().length); console.log('Has aes-128-cbc:', crypto.getCiphers().includes('aes-128-cbc') ? 'YES' : 'NO'); console.log(''); // Try to get more detailed OpenSSL info try { const { constants } = crypto; console.log('=== OpenSSL Constants Available ==='); console.log('Crypto constants defined:', Object.keys(constants).length > 0 ? 'YES' : 'NO'); } catch (e) { console.log('Could not access crypto constants:', e.message); } -
@smarteppi ich habe das problem mit node 22.21.1 auf MacOS nicht. welches OS verwendest du
=== Node.js and OpenSSL Version Information === Node.js version: v22.21.1 Node.js platform: darwin Node.js arch: arm64 OpenSSL version: 3.6.0 === All Process Versions === node: 22.21.1 acorn: 8.15.0 ada: 2.9.2 amaro: 1.1.4 ares: 1.34.5 brotli: 1.2.0 cjs_module_lexer: 2.1.0 cldr: 48.0 icu: 78.1 llhttp: 9.3.0 modules: 127 napi: 10 nbytes: 0.1.1 ncrypto: 0.0.1 nghttp2: 1.68.0 openssl: 3.6.0 simdjson: 4.2.2 simdutf: 7.7.0 sqlite: 3.51.0 tz: 2025b undici: 6.22.0 unicode: 17.0 uv: 1.51.0 uvwasi: 0.0.23 v8: 12.4.254.21-node.33 zlib: 1.2.12 zstd: 1.5.7 === Crypto Capabilities === Available ciphers: 130 Has aes-128-cbc: YES === OpenSSL Constants Available === Crypto constants defined: YESDu kannst es auch selber überprüfen einfach in test.js speichern und dann ausführen
node test.jsconst crypto = require('crypto'); console.log('=== Node.js and OpenSSL Version Information ===\n'); console.log('Node.js version:', process.version); console.log('Node.js platform:', process.platform); console.log('Node.js arch:', process.arch); console.log(''); // Check OpenSSL version console.log('OpenSSL version:', process.versions.openssl); console.log(''); // Get all crypto-related versions console.log('=== All Process Versions ==='); Object.keys(process.versions).forEach(key => { console.log(`${key}: ${process.versions[key]}`); }); console.log(''); // Check available crypto features console.log('=== Crypto Capabilities ==='); console.log('Available ciphers:', crypto.getCiphers().length); console.log('Has aes-128-cbc:', crypto.getCiphers().includes('aes-128-cbc') ? 'YES' : 'NO'); console.log(''); // Try to get more detailed OpenSSL info try { const { constants } = crypto; console.log('=== OpenSSL Constants Available ==='); console.log('Crypto constants defined:', Object.keys(constants).length > 0 ? 'YES' : 'NO'); } catch (e) { console.log('Could not access crypto constants:', e.message); } -
@tombox Debian 12 blockworm in einem LXC Container in Proxmox
Das Script läuft bei mir nicht.
@smarteppi Bitte immer mit dem konkreten Fehler antworten
-
Das ist der Log des Fehlers:
javascript.0 14:14:00.667 info
Stopping script
javascript.0 14:14:01.957 info
start JavaScript (Javascript/js)
javascript.0 14:14:01.964 info
=== Node.js and OpenSSL Version Information ===
javascript.0 14:14:01.965 error
Error: ReferenceError: process is not defined
javascript.0 14:14:01.965 error
at script.js.Test:5:33javascript.0 14:14:01.965 error
at script.js.Test:40:3javascript.0 14:14:01.965 error
at Script.runInContext (node:vm:149:12) -
Das ist der Log des Fehlers:
javascript.0 14:14:00.667 info
Stopping script
javascript.0 14:14:01.957 info
start JavaScript (Javascript/js)
javascript.0 14:14:01.964 info
=== Node.js and OpenSSL Version Information ===
javascript.0 14:14:01.965 error
Error: ReferenceError: process is not defined
javascript.0 14:14:01.965 error
at script.js.Test:5:33javascript.0 14:14:01.965 error
at script.js.Test:40:3javascript.0 14:14:01.965 error
at Script.runInContext (node:vm:149:12)@smarteppi Achso das ist ein script was du im container shell ausführen sollst
-
Okay verstehe.
Ergebnis:// Try to get more detailed OpenSSL info
try {
console.log('Could not access crypto constants:', e.message);s).length > 0 ? 'YES' : 'NO');
-bash: syntax error near unexpected token(' -bash: syntax error near unexpected token'=== Node.js and OpenSSL Version Information ===\n''
-bash: syntax error near unexpected token'Node.js version:',' -bash: syntax error near unexpected token'Node.js platform:','
-bash: syntax error near unexpected token'Node.js arch:',' -bash: syntax error near unexpected token'''
-bash: //: Is a directory
-bash: syntax error near unexpected token'OpenSSL version:',' -bash: syntax error near unexpected token'''
-bash: //: Is a directory
-bash: syntax error near unexpected token'=== All Process Versions ==='' -bash: syntax error near unexpected tokenprocess.versions'
-bash: syntax error near unexpected token ``${key}: ${process.versions[key]}' -bash: syntax error near unexpected token}'
-bash: syntax error near unexpected token''' -bash: //: Is a directory -bash: syntax error near unexpected token'=== Crypto Capabilities ===''
-bash: syntax error near unexpected token'Available ciphers:',' -bash: syntax error near unexpected token'Has aes-128-cbc:','
-bash: syntax error near unexpected token''' -bash: //: Is a directory -bash: try: command not found -bash: const: command not found -bash: syntax error near unexpected token'=== OpenSSL Constants Available ===''
-bash: syntax error near unexpected token'Crypto constants defined:',' -bash: syntax error near unexpected token}'
-bash: syntax error near unexpected token'Could not access crypto constants:',' -bash: syntax error near unexpected token}' -
@tombox: Seit circa zwei Wochen kann sich mein Adapter nicht mehr bei Samsung anmelden. Ich habe mehrmals über die Console F12 den String kopiert und eingefügt, aber ich bekomme immer nur die folgenden Fehlermeldungen:

smartthings.0 2026-01-07 20:36:34.992 error Refresh Token failed please delete authInformation.session and enter a new code Url smartthings.0 2026-01-07 20:36:34.992 error {"error":"invalid_grant","error_code":"AUT_1803","error_description":"The value of refresh_token parameter is incorrect."} smartthings.0 2026-01-07 20:36:34.991 error AxiosError: Request failed with status code 400MOD-EDIT: Code in code-tags gesetzt!
Mit der Bitte um Support, lg Paul
-
@tombox: Seit circa zwei Wochen kann sich mein Adapter nicht mehr bei Samsung anmelden. Ich habe mehrmals über die Console F12 den String kopiert und eingefügt, aber ich bekomme immer nur die folgenden Fehlermeldungen:

smartthings.0 2026-01-07 20:36:34.992 error Refresh Token failed please delete authInformation.session and enter a new code Url smartthings.0 2026-01-07 20:36:34.992 error {"error":"invalid_grant","error_code":"AUT_1803","error_description":"The value of refresh_token parameter is incorrect."} smartthings.0 2026-01-07 20:36:34.991 error AxiosError: Request failed with status code 400MOD-EDIT: Code in code-tags gesetzt!
Mit der Bitte um Support, lg Paul
@pfried sagte in Test Adapter Samsung Smartthings v.0.0.x:
Seit circa zwei Wochen kann sich mein Adapter nicht mehr bei Samsung anmelden.
Ich hab exakt das gleiche das Problem auch, aber schon seit Monaten. :(
-
@pfried sagte in Test Adapter Samsung Smartthings v.0.0.x:
Seit circa zwei Wochen kann sich mein Adapter nicht mehr bei Samsung anmelden.
Ich hab exakt das gleiche das Problem auch, aber schon seit Monaten. :(
@SmartStuffCoyote schon mal smartthings.0.authInformation.session gelöscht?
-
@SmartStuffCoyote schon mal smartthings.0.authInformation.session gelöscht?
@tombox sagte in Test Adapter Samsung Smartthings v.0.0.x:
@SmartStuffCoyote schon mal smartthings.0.authInformation.session gelöscht?
Nö... klasse Tipp, vielen Dank! Hat gewirkt.
-
@tombox sagte in Test Adapter Samsung Smartthings v.0.0.x:
@SmartStuffCoyote schon mal smartthings.0.authInformation.session gelöscht?
Nö... klasse Tipp, vielen Dank! Hat gewirkt.
@SmartStuffCoyote Steht auch explizit so in der Fehlermeldung
-
@SmartStuffCoyote Steht auch explizit so in der Fehlermeldung
@tombox sagte in Test Adapter Samsung Smartthings v.0.0.x:
@SmartStuffCoyote Steht auch explizit so in der Fehlermeldung
Ich hatte das nicht als Datenpunkt aufgefasst sondern als die Authentifizierungsangaben (jene URL oder das Token). Im Nachhinein ist es natürlich offensichlich.