{"_id":"@emdzej/bimmerz-rpc-uart","_rev":"2-6558fe37bd2a7a8d4bb7788fe67717fd","name":"@emdzej/bimmerz-rpc-uart","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"@emdzej/bimmerz-rpc-uart","version":"0.1.0","_id":"@emdzej/bimmerz-rpc-uart@0.1.0","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"homepage":"https://github.com/emdzej/bimmerz#readme","bugs":{"url":"https://github.com/emdzej/bimmerz/issues"},"dist":{"shasum":"012629ce1a13f526061b09fa5bc0cb1e9142cc42","tarball":"https://registry.npmjs.org/@emdzej/bimmerz-rpc-uart/-/bimmerz-rpc-uart-0.1.0.tgz","fileCount":15,"integrity":"sha512-+eRD8HZG67e+AtAq7K/9yH2/BidfkzOPDNe4592G3+J765/sRAPzQzGtk2HD6n1rgjmFmYx1bARCDJTReZTi9A==","signatures":[{"sig":"MEQCIHSDNQJRbdAqMxu7izYUDhL0IBdBC3YAQGdpPzmD5IvAAiB3IRTWrw2nOIoerKRkyqAoVXLzfEOUDpQekmuIkuO6ag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20021},"main":"dist/index.js","type":"module","_from":"file:emdzej-bimmerz-rpc-uart-0.1.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"dev":"tsc --watch","lint":"eslint .","build":"tsc","clean":"rm -rf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"emdzej","email":"michal@jaskolski.pro"},"_resolved":"/private/var/folders/7h/x_w_580x4s9dq3sq11tpvzkwy3nbj8/T/28a6ae6542d7e9c30e07ed176f77bb55/emdzej-bimmerz-rpc-uart-0.1.0.tgz","_integrity":"sha512-+eRD8HZG67e+AtAq7K/9yH2/BidfkzOPDNe4592G3+J765/sRAPzQzGtk2HD6n1rgjmFmYx1bARCDJTReZTi9A==","repository":{"url":"git+https://github.com/emdzej/bimmerz.git","type":"git","directory":"packages/rpc-uart"},"_npmVersion":"11.16.0","description":"Typed client for the bimmerz-box dongle's /rpc/uart/<n> endpoint. Built on @emdzej/bimmerz-rpc-core.","directories":{},"_nodeVersion":"22.22.1","dependencies":{"@emdzej/bimmerz-rpc-core":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.7.3","@types/node":"^22.13.1"},"_npmOperationalInternal":{"tmp":"tmp/bimmerz-rpc-uart_0.1.0_1781257944715_0.3340855844173529","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"_id":"@emdzej/bimmerz-rpc-uart@0.3.0","bugs":{"url":"https://github.com/emdzej/bimmerz-core/issues"},"dist":{"shasum":"949a675a344729be2402758c3e7e9c7166766777","tarball":"https://registry.npmjs.org/@emdzej/bimmerz-rpc-uart/-/bimmerz-rpc-uart-0.3.0.tgz","fileCount":15,"integrity":"sha512-WWkM+H9SewU5Gg/Tfv1Oz5pHYNW6jvPXWm05YsHekvu7jo6EvyB8JvdFkKVyhbkml+dbylEEEUbAE+7oMdOZnQ==","signatures":[{"sig":"MEQCICuVzcDvcPcR5MiGvzj/oPghlo02QhBEXdTFl/Ic6qhzAiAmCy/pB2Bss0YwgKtuqGVrz0nNgVNLjCGRbVMUx0phLQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICFSWsjYgW6UmEAmreFlQq66VJedUKe/cXXorBRGMhAwAiARM/2cc7madwtkQDaQ9s3YzK6yZjorKfYEfROh0POU+A=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@emdzej%2fbimmerz-rpc-uart@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":20897},"main":"dist/index.js","name":"@emdzej/bimmerz-rpc-uart","type":"module","_from":"file:emdzej-bimmerz-rpc-uart-0.3.0.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"license":"PolyForm-Noncommercial-1.0.0","scripts":{"dev":"tsc --watch","lint":"eslint .","test":"vitest run","build":"tsc","clean":"rm -rf dist .turbo *.tsbuildinfo","typecheck":"tsc --noEmit"},"version":"0.3.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:30b74b67-1068-4332-958e-10bf8ba1ba64"}},"homepage":"https://github.com/emdzej/bimmerz-core#readme","_resolved":"/tmp/9dd1d798ccb468edf4eccb75c6577123/emdzej-bimmerz-rpc-uart-0.3.0.tgz","_integrity":"sha512-WWkM+H9SewU5Gg/Tfv1Oz5pHYNW6jvPXWm05YsHekvu7jo6EvyB8JvdFkKVyhbkml+dbylEEEUbAE+7oMdOZnQ==","repository":{"url":"git+https://github.com/emdzej/bimmerz-core.git","type":"git","directory":"packages/rpc-uart"},"_npmVersion":"12.1.0","description":"Typed client for the bimmerz-box dongle's /rpc/uart/<n> endpoint. Built on @emdzej/bimmerz-rpc-core.","directories":{},"maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"_nodeVersion":"22.23.2","dependencies":{"@emdzej/bimmerz-rpc-core":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^5.0.1","typescript":"^5.7.3","@types/node":"^22.13.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bimmerz-rpc-uart_0.3.0_1790327445815_0.004472667371601569"}}},"time":{"created":"2026-06-12T09:52:24.551Z","modified":"2026-09-25T09:10:47.518Z","0.1.0":"2026-06-12T09:52:24.847Z","0.3.0":"2026-09-25T09:10:45.898Z"},"bugs":{"url":"https://github.com/emdzej/bimmerz-core/issues"},"homepage":"https://github.com/emdzej/bimmerz-core#readme","repository":{"url":"git+https://github.com/emdzej/bimmerz-core.git","type":"git","directory":"packages/rpc-uart"},"description":"Typed client for the bimmerz-box dongle's /rpc/uart/<n> endpoint. Built on @emdzej/bimmerz-rpc-core.","maintainers":[{"name":"emdzej","email":"michal@jaskolski.pro"}],"readme":"# @emdzej/bimmerz-rpc-uart\n\nTyped client for the bimmerz-box dongle's `/rpc/uart/<n>` endpoint\n(`n = 0` is the K-line UART). Built on `@emdzej/bimmerz-rpc-core`.\n\n## Install\n\n```sh\npnpm add @emdzej/bimmerz-rpc-uart\n```\n\n## Use\n\n```ts\nimport { connectUart } from \"@emdzej/bimmerz-rpc-uart\";\n\nconst { uart } = await connectUart(\"ws://172.16.7.1/rpc/uart/0\", {\n  autoReconnect: true,\n});\n\nawait uart.open({ baud: 9600, parity: \"even\", consumeEcho: true });\n\nuart.onRx(({ data }) => {\n  console.log(\"RX:\", Array.from(data, (b) => b.toString(16).padStart(2, \"0\")).join(\" \"));\n});\n\n// DS2 ident telegram: [ECU, LEN, CMD, XOR-by-server]\nconst resp = await uart.transact(new Uint8Array([0x12, 0x04, 0x00, 0x16]), {\n  readMs: 1_000,\n});\n\nawait uart.close();\n```\n\n## API mirror\n\nMethod → server call:\n\n| Method                          | Server endpoint  |\n|---------------------------------|------------------|\n| `uart.open(opts)`               | `uart.open`      |\n| `uart.configure(opts)`          | `uart.configure` |\n| `uart.write(bytes)`             | `uart.write`     |\n| `uart.transact(bytes, opts)`    | `uart.transact`  |\n| `uart.slowInit(opts)`           | `uart.slowInit`  |\n| `uart.fastInit(opts)`           | `uart.fastInit`  |\n| `uart.close()`                  | `uart.close`     |\n| `uart.onRx(handler)`            | subscribes to `uart.rx` |\n| `uart.onRevoked(handler)`       | subscribes to `uart.revoked` |\n\nBase64 wrapping of binary payloads is handled internally — both `write`\nand `onRx` deal in `Uint8Array`.\n\n## See also\n\n- [bimmerz-box API reference](https://github.com/emdzej/bimmerz-box/blob/main/docs/api.md#rpcuartn)\n- `@emdzej/bimmerz-rpc-core` — the JSON-RPC transport this builds on\n- `@emdzej/bimmerz-rpc-can` — sibling client for the CAN endpoint\n","readmeFilename":"README.md","license":"PolyForm-Noncommercial-1.0.0"}