{"_id":"@bitfocusas/klvr-charger","_rev":"5-46c04e971b66becd258f877e62df12e9","name":"@bitfocusas/klvr-charger","dist-tags":{"latest":"2.0.1"},"versions":{"1.0.2":{"name":"@bitfocusas/klvr-charger","version":"1.0.2","author":{"name":"Bitfocus AS","email":"william@bitfocus.io"},"license":"MIT","_id":"@bitfocusas/klvr-charger@1.0.2","maintainers":[{"name":"willosof","email":"william.viker@gmail.com"},{"name":"haakon","email":"haakon.nessjoen@gmail.com"}],"dist":{"shasum":"0a75e4c6b1f2bc18e5c3c9843dcf37b3215d9d49","tarball":"https://registry.npmjs.org/@bitfocusas/klvr-charger/-/klvr-charger-1.0.2.tgz","fileCount":45,"integrity":"sha512-TnGxy5hl+dx4pP+8JrnbSGr3CXq/rBXYrqQvJ2BTPxUufqgOQUM/dtVhebcvBlB8e3vxCVzroXKEPaBViQvtBQ==","signatures":[{"sig":"MEQCIHF3ysllccMWQ65IW1dVR+djIuLaCzAZXDr3JOUVTZKqAiBKJD8gOmZvz/ISIURX18SsZ2+MWDWodQEcpbI8FN3ZGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87922},"main":"dist/src/index.js","types":"./dist/src/index.d.ts","module":"dist/src/index.js","gitHead":"3961677cd7fb4d3324439fcadc101531b8aa3c66","private":false,"scripts":{"dev":"bun --watch ./src/index.ts","test":"jest","build":"tsc"},"_npmUser":{"name":"willosof","email":"william.viker@gmail.com"},"_npmVersion":"10.7.0","description":"KLVR Charger Client Library (and test mockup server)","directories":{},"_nodeVersion":"18.20.3","dependencies":{"zod":"^3.23.8","axios":"^1.7.7","supertest":"^7.0.0","@types/supertest":"^6.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsc":"^2.0.4","jest":"^29.7.0","biome":"^0.3.3","express":"^4.20.0","ts-jest":"^29.2.5","typescript":"^5.6.2","@types/node":"^22.5.4","@jest/globals":"^29.7.0","@biomejs/biome":"^1.8.3","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/klvr-charger_1.0.2_1737567055283_0.027152625107609962","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@bitfocusas/klvr-charger","version":"2.0.0","author":{"name":"Bitfocus AS","email":"william@bitfocus.io"},"license":"MIT","_id":"@bitfocusas/klvr-charger@2.0.0","maintainers":[{"name":"willosof","email":"william.viker@gmail.com"},{"name":"haakon","email":"haakon.nessjoen@gmail.com"}],"dist":{"shasum":"5a138dc697b288657dd2f67500d82495494be664","tarball":"https://registry.npmjs.org/@bitfocusas/klvr-charger/-/klvr-charger-2.0.0.tgz","fileCount":46,"integrity":"sha512-5q/D/1F2MEjMRmlxV2CuF0EjS4DDLeXuni2hemo1EaWV2VN6LqPbz422DZ4RavtER5DG80SkqYIJ1iF3vMiClA==","signatures":[{"sig":"MEYCIQCSP38iB5CEjwv6izaIV/nz+x/mCrJQ0KA/6c9WzTqTwgIhAPey1BOBQSYjDPAeglsTziIPucCGWebjJYwZ5SYCMqmb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92374},"main":"dist/src/index.js","types":"./dist/src/index.d.ts","module":"dist/src/index.js","gitHead":"18d647bde323144324bf332454cbb0e5e2305fbe","private":false,"scripts":{"dev":"bun --watch ./src/index.ts","test":"jest","build":"tsc"},"_npmUser":{"name":"willosof","email":"william.viker@gmail.com"},"_npmVersion":"10.9.2","description":"KLVR Charger Client Library (and test mockup server)","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.23.8","axios":"^1.7.7","supertest":"^7.0.0","@types/supertest":"^6.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsc":"^2.0.4","jest":"^29.7.0","biome":"^0.3.3","express":"^4.20.0","ts-jest":"^29.2.5","typescript":"^5.6.2","@types/node":"^22.5.4","@jest/globals":"^29.7.0","@biomejs/biome":"^1.8.3","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/klvr-charger_2.0.0_1753807128530_0.9375550368999834","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@bitfocusas/klvr-charger","version":"2.0.1","author":{"name":"Bitfocus AS","email":"william@bitfocus.io"},"license":"MIT","_id":"@bitfocusas/klvr-charger@2.0.1","maintainers":[{"name":"willosof","email":"william.viker@gmail.com"},{"name":"haakon","email":"haakon.nessjoen@gmail.com"}],"dist":{"shasum":"6fe63cbaf2f2a227871320d177814cbb601c0ec3","tarball":"https://registry.npmjs.org/@bitfocusas/klvr-charger/-/klvr-charger-2.0.1.tgz","fileCount":46,"integrity":"sha512-jFsiQnU4b5qWA2w2jkkyMXwHeFGt/da/cS4U/QHPU5lJiyP1HXjIqSn3RKX+R238aXIJLqN1RSjPNiVwcSQeKw==","signatures":[{"sig":"MEQCIDMJsOcKg7JOc+L0OdzvFQRis/+4VlWLeMOQJFYt5MGLAiB+qug6EO3Nf34WKvyzvYuMNJnq1V4bJLt/wlJOlr8g7Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91740},"main":"dist/src/index.js","types":"./dist/src/index.d.ts","module":"dist/src/index.js","gitHead":"18d647bde323144324bf332454cbb0e5e2305fbe","private":false,"scripts":{"dev":"bun --watch ./src/index.ts","test":"jest","build":"tsc"},"_npmUser":{"name":"willosof","email":"william.viker@gmail.com"},"_npmVersion":"10.9.7","description":"KLVR Charger Client Library (and test mockup server)","directories":{},"_nodeVersion":"22.22.2","dependencies":{"zod":"^3.23.8","axios":"^1.7.7","supertest":"^7.0.0","@types/supertest":"^6.0.2"},"_hasShrinkwrap":false,"packageManager":"yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e","devDependencies":{"tsc":"^2.0.4","jest":"^29.7.0","biome":"^0.3.3","express":"^4.20.0","ts-jest":"^29.2.5","typescript":"^5.6.2","@types/node":"^22.5.4","@jest/globals":"^29.7.0","@biomejs/biome":"^1.8.3","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/klvr-charger_2.0.1_1780324664904_0.679956971929909","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2025-01-22T17:30:55.166Z","modified":"2026-08-20T16:04:38.057Z","1.0.2":"2025-01-22T17:30:55.521Z","2.0.0":"2025-07-29T16:38:48.756Z","2.0.1":"2026-06-01T14:37:45.057Z"},"author":{"name":"Bitfocus AS","email":"william@bitfocus.io"},"license":"MIT","description":"KLVR Charger Client Library (and test mockup server)","maintainers":[{"email":"william.viker@gmail.com","name":"willosof"},{"email":"sa@bitfocus.io","name":"bitfocus-sa"},{"email":"haakon.nessjoen@gmail.com","name":"haakon"},{"email":"bryce.seifert@me.com","name":"bryce-seifert"}],"readme":"# KLVR Charger Client Library\n\nTypeScript + Zod + Axios + Jest = 🚀\n\nA TypeScript client library for interacting with KLVR battery chargers via their v2 API.\n\n## Features\n\n- Full TypeScript support with type safety\n- Zod schema validation for all API responses\n- Support for KLVR v2 API endpoints\n- Comprehensive test suite with dummy device\n- Error handling and last error retrieval\n\n## API Endpoints\n\nThe library supports the following v2 API endpoints:\n\n- `GET /api/v2/device/info` - Get device information\n- `GET /api/v2/charger/status` - Get charger and battery status\n- `POST /api/v2/device/identify` - Identify the device\n\n## Usage\n\n```typescript\nimport { KLVRCharger } from '@bitfocusas/klvr-charger'\n\nasync function client() {\n    const charger = KLVRCharger('192.168.0.1')\n    \n    // Get device information\n    const deviceInfo = await charger.deviceInfo()\n    console.log(deviceInfo)\n    \n    // Get charger status with battery information\n    const chargerStatus = await charger.chargerStatus()\n    console.log(chargerStatus)\n    \n    // Identify the device\n    const identified = await charger.deviceIdentify()\n    console.log(identified)\n    \n    // Get last error if any\n    const lastError = charger.getLastError()\n    if (lastError) {\n        console.error('Last error:', lastError)\n    }\n}\nclient();\n```\n\n## Response Types\n\n### DeviceInfo\n```typescript\n{\n  deviceInternalTemperatureC: number\n  name: string\n  firmwareVersion: string\n  firmwareBuild: string\n  ip: {\n    type: 'dhcp' | 'static'\n    ipAddress: string\n    gatewayAddress: string\n    mask: string\n    macAddress: string\n  }\n}\n```\n\n### ChargerStatus\n```typescript\n{\n  deviceStatus: 'ok' | 'error'\n  batteries: Array<{\n    index: number\n    batteryBayTempC: number\n    batteryDetected: string\n    slotState: 'charging' | 'empty' | 'not charging' | 'error' | 'done'\n    stateOfChargePercent: number\n    timeRemainingSeconds: number\n    errorMsg: string\n  }>\n}\n```\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Run tests\nnpm test\n\n# Build the library\nnpm run build\n```\n\n### Author\n\nBitfocus AS (c) 2024\nWilliam Viker <william@bitfocus.io>\n","readmeFilename":"README.md"}