From 8f5a3eeb300801b1d03940504caa1984b1fa6e91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20St=C3=B6lzle?= Date: Thu, 3 Oct 2024 09:34:00 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9A=B0=EF=B8=8F=20Delete=20Varta=20Storage?= =?UTF-8?q?=20package?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- archived/vartastorage/.gitignore | 3 - archived/vartastorage/index.jsx | 198 ----------------------------- archived/vartastorage/lib/varta.js | 87 ------------- archived/vartastorage/package.json | 38 ------ archived/vartastorage/readme.md | 7 - package-lock.json | 78 +++++++----- readme.md | 4 - 7 files changed, 43 insertions(+), 372 deletions(-) delete mode 100644 archived/vartastorage/.gitignore delete mode 100644 archived/vartastorage/index.jsx delete mode 100644 archived/vartastorage/lib/varta.js delete mode 100644 archived/vartastorage/package.json delete mode 100644 archived/vartastorage/readme.md diff --git a/archived/vartastorage/.gitignore b/archived/vartastorage/.gitignore deleted file mode 100644 index 357aa19..0000000 --- a/archived/vartastorage/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -credentials.json -package-lock.json -token.json diff --git a/archived/vartastorage/index.jsx b/archived/vartastorage/index.jsx deleted file mode 100644 index 5eb71dc..0000000 --- a/archived/vartastorage/index.jsx +++ /dev/null @@ -1,198 +0,0 @@ -// eslint-disable-next-line import/no-unresolved -import React, {css, styled} from 'uebersicht' - -export const refreshFrequency = 900000 // Use ms (every 15 minutes) - -// NOTE: ⚠ Workaround to hide initial load -export const initialState = {output: false} - -export const command = '/opt/homebrew/bin/node ./vartastorage/lib/varta.js' - -export const updateState = (event, prev) => { - if (event.error) { - return {...prev, error: event.error.message} - } - - switch (event.type) { - case 'UB/COMMAND_RAN': - try { - return { - items: JSON.parse(event.output) || [], - } - } catch (error) { - return { - items: [], - } - } - default: - return prev - } -} - -export const render = ({items, error}) => { - if (error) { - return {error} - } - - // NOTE: ⚠ Workaround to hide initial load - if (!items) { - return loading... - } - - if (items) { - // console.log(items) - - const {Betriebsstatus: chargeStatus, Erzeugungsleistung, Energieverbrauch, Ladezustand: charge, Netz} = items - - const batteryEmpty = charge < 25 ? 'inline' : 'none' - const batteryQuarter = charge >= 25 && charge < 50 ? 'inline' : 'none' - const batteryHalf = charge >= 50 && charge < 75 ? 'inline' : 'none' - const batteryThreeQuarter = charge >= 75 && charge < 100 ? 'inline' : 'none' - const batteryFull = charge === 100 ? 'inline' : 'none' - - return ( - - {/* Erzeugung */} - - - - - {Erzeugungsleistung.value} - {Erzeugungsleistung.unit} - - {/* Ladezustand */} - - - - - - - - - - - - - - - - - {charge} - % - - {/* Energieverbrauch */} - - - - - {Energieverbrauch.value} - {Energieverbrauch.unit} - - {/* Netz */} - - - - - {Netz.value} - {Netz.unit} - - - ) - } -} - -// Styling... -export const className = css` - font: - normal normal 400 1.4em/1.28 -apple-system, - Helvetica Neue; - transition: all 1s ease; - - @media (prefers-color-scheme: light) { - color: #2f363d; - } - @media (prefers-color-scheme: dark) { - color: #ebebeb; - } - - left: 0.8em; - bottom: 2em; - width: 100vw; - - svg { - @media (prefers-color-scheme: light) { - color: #2f363d32; - } - @media (prefers-color-scheme: dark) { - color: #ebebeb32; - } - - fill: currentColor; - height: 0.75em; - - margin-right: 0.2em; - } -` - -export const Error = styled('div')` - font-size: 0.64em; - color: #9c1c23; -` - -export const Loading = styled('div')` - font-size: 0.64em; - - @media (prefers-color-scheme: light) { - opacity: 0.64; - } - @media (prefers-color-scheme: dark) { - opacity: 0.32; - } -` - -export const Varta = styled('div')` - display: flex; - flex-direction: row; - height: 2vh; -` - -export const Element = styled('div')` - font-size: 0.8em; - margin: 0 1em 0 0; -` - -export const Value = styled('span')`` - -export const Unit = styled('span')` - font-size: 0.64em; - font-weight: 100; - - @media (prefers-color-scheme: light) { - opacity: 0.64; - } - @media (prefers-color-scheme: dark) { - opacity: 0.32; - } - - margin-left: 0.32em; -` - -export const SolarPanel = styled('svg')` - &.entladen { - color: rgba(207, 34, 46, 0.32); - } - - &.laden { - color: rgba(26, 127, 55, 0.32); - } -` - -export const Grid = styled('svg')` - &.from { - color: rgba(207, 34, 46, 0.32); - } - - &.to { - color: rgba(26, 127, 55, 0.32); - } -` diff --git a/archived/vartastorage/lib/varta.js b/archived/vartastorage/lib/varta.js deleted file mode 100644 index 37ceab2..0000000 --- a/archived/vartastorage/lib/varta.js +++ /dev/null @@ -1,87 +0,0 @@ -'use strict' - -import got from 'got' - -import {readFileSync} from 'fs' -import {join} from 'path' - -const CREDENTIALS_PATH = join(process.env.PWD, 'vartastorage/credentials.json') -const buf = readFileSync(CREDENTIALS_PATH) -const {user, pwd} = JSON.parse(Buffer.from(buf).toString()) - -const TIMEOUT_ERROR_CODES = [ - 'ETIMEDOUT', - 'ECONNRESET', - 'EADDRINUSE', - 'ECONNREFUSED', - 'EPIPE', - 'ENOTFOUND', - 'ENETUNREACH', - 'EAI_AGAIN', -] - -// run -;(async () => { - try { - const { - headers: lh, - statusCode: ls, - statusMessage: lst, - } = await got.get('https://www.varta-storage-portal.com/ws/app?func=login', { - headers: { - 'Accept-Language': 'de', - 'Content-Type': 'application/x-www-form-urlencoded', - 'API-Version': 1, - Authorization: `Basic ${Buffer.from(`${user}:${pwd}`).toString('base64')}`, - }, - timeout: { - request: 10000, - }, - }) - - if (ls !== 200) { - throw new Error(`Varta Storage Portal login failed: ${lst}`) - } - - const {body} = await got.post('https://www.varta-storage-portal.com/ws/app/?func=status', { - headers: { - 'Accept-Language': 'de', - 'Content-Type': 'application/json', - 'API-Version': 1, - 'Auth-Token': lh['auth-token'], - }, - body: JSON.stringify({ - serial: `${user}`, - }), - }) - - const {Betriebsstatus, Erzeugungsleistung, Energieverbrauch, Ladezustand, Netzeinspeisung, Netzbezug} = - JSON.parse(body).Daten - - console.log( - JSON.stringify({ - Betriebsstatus: Betriebsstatus.Name.toLowerCase(), - Erzeugungsleistung: { - value: parseInt(Erzeugungsleistung.Wert, 10), - unit: Erzeugungsleistung.Einheit, - }, - Ladezustand: parseInt(Ladezustand.Wert, 10), - Energieverbrauch: { - value: parseInt(Energieverbrauch.Wert, 10), - unit: Energieverbrauch.Einheit, - }, - Netz: { - direction: Netzeinspeisung.Wert > 0 ? 'to' : 'from', - value: Netzeinspeisung.Wert > 0 ? parseInt(Netzeinspeisung.Wert, 10) : parseInt(Netzbezug.Wert, 10), - unit: Netzeinspeisung.Wert > 0 ? Netzeinspeisung.Einheit : Netzbezug.Einheit, - }, - }), - ) - } catch (error) { - if (error.code && TIMEOUT_ERROR_CODES.includes(error.code)) { - console.error('Varta Storage Portal request timed out') - } else { - console.error(error.message) - } - } -})() diff --git a/archived/vartastorage/package.json b/archived/vartastorage/package.json deleted file mode 100644 index 09675d0..0000000 --- a/archived/vartastorage/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "module", - "name": "@stoe/uebersicht-vartastorage", - "version": "5.4.0", - "description": "A Varta Storage widget for http://tracesof.net/uebersicht", - "keywords": [ - "uebersicht", - "varta-storage", - "smarthome" - ], - "author": { - "name": "Stefan Stölzle", - "email": "stefan@stoelzle.me", - "url": "https://github.com/stoe" - }, - "license": "MIT", - "repository": { - "type": "git", - "url": "git+https://github.com/stoe/uebersicht.git" - }, - "publishConfig": { - "access": "public" - }, - "engines": { - "node": ">=20", - "npm": ">=10" - }, - "main": "index.js", - "scripts": { - "format": "npx prettier --config-precedence prefer-file --write . && eslint . --fix", - "pretest": "npx eslint-config-prettier ../../.eslint.config.js", - "test": "eslint ." - }, - "dependencies": { - "got": "^14.4.2" - }, - "prettier": "@github/prettier-config" -} diff --git a/archived/vartastorage/readme.md b/archived/vartastorage/readme.md deleted file mode 100644 index b76e2c7..0000000 --- a/archived/vartastorage/readme.md +++ /dev/null @@ -1,7 +0,0 @@ -# uebersicht-varta-storage - -> A [Varta Storage](https://www.varta-ag.com/storage) widget for http://tracesof.net/uebersicht - -## License - -MIT © [Stefan Stölzle](https://github.com/stoe) diff --git a/package-lock.json b/package-lock.json index a98e369..dae3398 100644 --- a/package-lock.json +++ b/package-lock.json @@ -59,9 +59,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", "dev": true, "license": "MIT", "engines": { @@ -270,9 +270,9 @@ "license": "MIT" }, "node_modules/@octokit/request": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.1.tgz", - "integrity": "sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", + "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", "license": "MIT", "dependencies": { "@octokit/endpoint": "^10.0.0", @@ -285,9 +285,9 @@ } }, "node_modules/@octokit/request-error": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.1.tgz", - "integrity": "sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==", + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.5.tgz", + "integrity": "sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==", "license": "MIT", "dependencies": { "@octokit/types": "^13.0.0" @@ -297,9 +297,9 @@ } }, "node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "version": "13.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.0.tgz", + "integrity": "sha512-CrooV/vKCXqwLa+osmHLIMUb87brpgUqlqkPGc6iE2wCkUvTrHiXFMhAKoDDaAAYJrtKtrFTgSQTg5nObBEaew==", "license": "MIT", "dependencies": { "@octokit/openapi-types": "^22.2.0" @@ -310,6 +310,7 @@ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, @@ -362,9 +363,9 @@ } }, "node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", "dev": true, "license": "MIT" }, @@ -785,6 +786,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-markdown/-/eslint-plugin-markdown-5.1.0.tgz", "integrity": "sha512-SJeyKko1K6GwI0AN6xeCDToXDkfKZfXcexA6B+O2Wr2btUS9GrC+YgwSyVli5DJnctUHjFXcQ2cqTaAmVoLi2A==", "dev": true, + "license": "MIT", "dependencies": { "mdast-util-from-markdown": "^0.8.5" }, @@ -800,6 +802,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", "dev": true, + "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", "synckit": "^0.9.1" @@ -826,10 +829,11 @@ } }, "node_modules/eslint-scope": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", - "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.1.0.tgz", + "integrity": "sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -842,9 +846,9 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", - "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.1.0.tgz", + "integrity": "sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==", "dev": true, "license": "Apache-2.0", "engines": { @@ -855,15 +859,15 @@ } }, "node_modules/espree": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", - "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.2.0.tgz", + "integrity": "sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==", "dev": true, "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.0.0" + "eslint-visitor-keys": "^4.1.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -873,9 +877,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -890,6 +894,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -1139,9 +1144,9 @@ } }, "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", "dev": true, "license": "MIT", "engines": { @@ -1868,6 +1873,7 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -2187,6 +2193,7 @@ "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", "integrity": "sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==", "dev": true, + "license": "MIT", "dependencies": { "@pkgr/core": "^0.1.0", "tslib": "^2.6.2" @@ -2219,10 +2226,11 @@ } }, "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "dev": true + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "dev": true, + "license": "0BSD" }, "node_modules/type-check": { "version": "0.4.0", diff --git a/readme.md b/readme.md index 74ada7e..d918c03 100644 --- a/readme.md +++ b/readme.md @@ -22,10 +22,6 @@ Widgets for [Übersicht](http://tracesof.net/uebersicht) > A simple clock widget for http://tracesof.net/uebersicht -### [varta-storage](packages/vartastorage) - -> A [Varta Storage](https://www.varta-ag.com/storage) widget for http://tracesof.net/uebersicht - ### [worldclock](packages/worldclock) > A worldclock widget for http://tracesof.net/uebersicht