# HG changeset patch
# User drewp@bigasterisk.com
# Date 1717820557 25200
# Node ID 4720030158801c898f5eec2e8287ea26f13d7b18
# Parent 719c8cc4d8b26dda86737a66b0166de4e065dcf5
restyle using css grid
diff -r 719c8cc4d8b2 -r 472003015880 src/FdClock.ts
--- a/src/FdClock.ts Thu Jun 06 17:52:46 2024 -0700
+++ b/src/FdClock.ts Fri Jun 07 21:22:37 2024 -0700
@@ -13,9 +13,6 @@
static styles = [
shared,
css`
- :host {
- display: inline block;
- }
`,
];
render() {
diff -r 719c8cc4d8b2 -r 472003015880 src/FdCountdown.ts
--- a/src/FdCountdown.ts Thu Jun 06 17:52:46 2024 -0700
+++ b/src/FdCountdown.ts Fri Jun 07 21:22:37 2024 -0700
@@ -16,12 +16,6 @@
ol {
list-style: none;
font-size: 16px;
- background: #cd66bb2e;
- padding: 9px;
- width: fit-content;
- position: relative;
- top: -21px;
- border-radius: 14px;
}
span.d {
opacity: 0.5;
@@ -75,7 +69,7 @@
});
}
render() {
- return html`
Coming Soon
+ return html`Coming Soon
${this.evs.map((d) => html`- In ${d.inHowLong()}, ${d.title}
`)}
`;
diff -r 719c8cc4d8b2 -r 472003015880 src/FdElectricity.ts
--- a/src/FdElectricity.ts Thu Jun 06 17:52:46 2024 -0700
+++ b/src/FdElectricity.ts Fri Jun 07 21:22:37 2024 -0700
@@ -2,12 +2,11 @@
import { customElement, property } from "lit/decorators.js";
import { shared } from "./shared";
-
@customElement("fd-electricity")
export class FdElectricity extends LitElement {
- static styles = [
- shared,
- css`
+ static styles = [
+ shared,
+ css`
:host {
font-size: 14px;
}
@@ -15,6 +14,10 @@
:host > table {
margin-top: 10px;
}
+ th,
+ td {
+ padding: 0 0;
+ }
th {
text-align: left;
}
@@ -34,37 +37,37 @@
background: pink;
}
`,
+ ];
+ @property() seriesData: Map = new Map();
+ constructor() {
+ super();
+ this.load();
+ setInterval(this.load.bind(this), 10 * 1000);
+ }
+ async load() {
+ this.seriesData = new Map();
+ const base = "https://bigasterisk.com/m/vmselect/select/0/prometheus/api/v1/query";
+ const now = Date.now() / 1000 - 10;
+ const seriesUrls = [
+ { url: base + `?query=powermeter_w&time=${now}&step=725ms`, label: "powermeter" },
+ { url: base + `?query=(sum%20by%20%20(s)%20(house_power_w))%20-%20(sum%20by(s)%20(powermeter_w))&time=${now}&step=725ms`, label: "unmetered" },
+ { url: base + `?query=house_power_w&time=${now}&step=725ms`, label: "total" },
];
- @property() seriesData: Map = new Map();
- constructor() {
- super();
- this.load();
- setInterval(this.load.bind(this), 10 * 1000);
+
+ for (const series of seriesUrls) {
+ const response = await fetch(series.url);
+ const data = await response.json();
+ for (let row of data.data.result) {
+ this.seriesData.set(series.label + (row.metric.sensor ? "-" + row.metric.sensor : ""), parseFloat(row.value[1]));
+ }
}
- async load() {
- this.seriesData = new Map();
- const base = "https://bigasterisk.com/m/vmselect/select/0/prometheus/api/v1/query";
- const now = Date.now() / 1000 - 10;
- const seriesUrls = [
- { url: base + `?query=powermeter_w&time=${now}&step=725ms`, label: "powermeter" },
- { url: base + `?query=(sum%20by%20%20(s)%20(house_power_w))%20-%20(sum%20by(s)%20(powermeter_w))&time=${now}&step=725ms`, label: "unmetered" },
- { url: base + `?query=house_power_w&time=${now}&step=725ms`, label: "total" },
- ];
-
- for (const series of seriesUrls) {
- const response = await fetch(series.url);
- const data = await response.json();
- for (let row of data.data.result) {
- this.seriesData.set(series.label + (row.metric.sensor ? "-" + row.metric.sensor : ""), parseFloat(row.value[1]));
- }
- }
- this.update(new Map() as PropertyValues);
- }
- render() {
- const disp = (n: number | undefined) => (n ? `${n.toFixed(1)}` : "");
- const pxPerWatt = 150 / this.seriesData.get("total")!;
- const bar = (n: number | undefined) => (n ? html`` : "");
- return html`Electricity
+ this.update(new Map() as PropertyValues);
+ }
+ render() {
+ const disp = (n: number | undefined) => (n ? `${n.toFixed(1)}` : "");
+ const pxPerWatt = 150 / this.seriesData.get("total")!;
+ const bar = (n: number | undefined) => (n ? html`` : "");
+ return html`Electricity
(unmetered) |
@@ -107,5 +110,5 @@
${bar(this.seriesData.get("total"))} |
`;
- }
+ }
}
diff -r 719c8cc4d8b2 -r 472003015880 src/UpcomingEvents.ts
--- a/src/UpcomingEvents.ts Thu Jun 06 17:52:46 2024 -0700
+++ b/src/UpcomingEvents.ts Fri Jun 07 21:22:37 2024 -0700
@@ -13,19 +13,6 @@
static styles = [
shared,
css`
- ol {
- list-style-type: circle;
- font-size: 16px;
- background: #cd66bb2e;
- padding: 9px;
- width: fit-content;
- position: relative;
- top: -21px;
- border-radius: 14px;
- }
- span.d {
- opacity: 0.5;
- }
`,
];
@property() evs: DisplayEvent[];
@@ -53,7 +40,7 @@
render() {
return html`
- Calendar
+ Calendar
${this.evs.map((d) => html`- ${d.shortDate()} ${d.title}
`)}
diff -r 719c8cc4d8b2 -r 472003015880 src/WeekGuide.ts
--- a/src/WeekGuide.ts Thu Jun 06 17:52:46 2024 -0700
+++ b/src/WeekGuide.ts Fri Jun 07 21:22:37 2024 -0700
@@ -12,20 +12,16 @@
static styles = [
shared,
css`
- :host,
- :host > div {
- display: inline-block;
- }
- .wday > span {
+ span {
display: inline-block;
background: #282a36;
- padding: 5px;
- border: 3px outset #333;
+ padding: 2px;
+ border: 2px outset #333;
text-align: center;
vertical-align: middle;
border-radius: 10px;
}
- .wday > span.today {
+ span.today {
background: #282a36;
border-color: #ff79c6;
color: #ff79c6;
@@ -37,17 +33,13 @@
const day = format(new Date(), "EEE").toLowerCase();
return html`
-
- Sunday
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
- Saturday
-
+ Sunday
+ Monday
+ Tuesday
+ Wednesday
+ Thursday
+ Friday
+ Saturday
`;
}
}
-
-
diff -r 719c8cc4d8b2 -r 472003015880 src/index.html
--- a/src/index.html Thu Jun 06 17:52:46 2024 -0700
+++ b/src/index.html Fri Jun 07 21:22:37 2024 -0700
@@ -1,23 +1,29 @@
-
-
- front-door-display
-
-
-
-
-
-
-
-
+
+
+
+ front-door-display
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+