20 977 läst · 96 svar
21k läst
96 svar
Tibber Lock Screen Widget för iOS 16
Se mitt inlägg, inlägget innan ditt om att lägga telefonen ner i landskapsläge för att kunna se hela token-koden.J JMS77 skrev:Strålande initiativ på bra funktionalitet!
När jag provkör får jag följande fel. Såg att någon mer fått det men hittade inget svar i tråden (eller missade det):
2022-11-05 22:09:28: Error on line 327:25: TypeError: undefined is not an object (evaluating 'res.data.viewer')
Försökte lista ut vad som kan vara fel men gick bet. Rad 327 ser ut på följande vis:
loadJSON()
const price = res.data.viewer.homes[0].currentSubscription.priceInfo.current.total;
Har dubbel och trippelkollat token tycker jag.
Finns det någon som kan ha en idé om vad som skulle kunna tänkas vara fel..?
Och för mig hade det smugit sig in ett mellanslag mitt i Token på ngt sätt. Såg det efter trippelkoll.M Matt23 skrev:
Snyggt jobbat,blev lite inspirerad så jag byggde vidare lite på ditt script där jag bland annat tog ut min och max pris för "today" och "tomorrow". Sedan omvandlade jag allt till öre men det är ganska lätt ändrat.
KODEN:
// Get min/max price for today and eventually tomorrow (if exists)
const todayAndTomorrow = [].concat(priceObject.today, priceObject.tomorrow) // Combine the two arrays into one.
let minPrice = Math.min.apply(null, todayAndTomorrow.map(item => item.total)); // Get min price during current period.
let maxPrice1 = Math.max.apply(null, todayAndTomorrow.map(item => item.total)); // Get max price during current period.
Gjorde även om skalan på staplarna så de dynamiskt ändras efter priset mha min/max priset och storleken på en stapel.
KODEN:
let barHeight = scale(hourPrice, minPrice, maxPrice1, 0, 30)
bar.size = new Size((width - 24 * spacing) / 24, barHeight)
function scale(value, inMin, inMax, outMin, outMax) {
const result = (value - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
if (result < outMin) {
return outMin;
} else if (result > outMax) {
return outMax;
}
return result;
}
RESULTAT
KODEN:
// Get min/max price for today and eventually tomorrow (if exists)
const todayAndTomorrow = [].concat(priceObject.today, priceObject.tomorrow) // Combine the two arrays into one.
let minPrice = Math.min.apply(null, todayAndTomorrow.map(item => item.total)); // Get min price during current period.
let maxPrice1 = Math.max.apply(null, todayAndTomorrow.map(item => item.total)); // Get max price during current period.
Gjorde även om skalan på staplarna så de dynamiskt ändras efter priset mha min/max priset och storleken på en stapel.
KODEN:
let barHeight = scale(hourPrice, minPrice, maxPrice1, 0, 30)
bar.size = new Size((width - 24 * spacing) / 24, barHeight)
function scale(value, inMin, inMax, outMin, outMax) {
const result = (value - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
if (result < outMin) {
return outMin;
} else if (result > outMax) {
return outMax;
}
return result;
}
RESULTAT
Inloggade ser högupplösta bilder
Logga in
Skapa konto
Gratis och tar endast 30 sekunder
Om man vill använda ovan. Hur lägger man till det? Eller byter man ut något i den befintliga koden?
Tack! Är du säker på du har Beta-versionen av Scriptable via Testflight?
J JMS77 skrev:Strålande initiativ på bra funktionalitet!
När jag provkör får jag följande fel. Såg att någon mer fått det men hittade inget svar i tråden (eller missade det):
2022-11-05 22:09:28: Error on line 327:25: TypeError: undefined is not an object (evaluating 'res.data.viewer')
Försökte lista ut vad som kan vara fel men gick bet. Rad 327 ser ut på följande vis:
loadJSON()
const price = res.data.viewer.homes[0].currentSubscription.priceInfo.current.total;
Har dubbel och trippelkollat token tycker jag.
Finns det någon som kan ha en idé om vad som skulle kunna tänkas vara fel..?
Är koden kirrad med min- och maxpris nu på github?S sibban skrev:Snyggt jobbat,blev lite inspirerad så jag byggde vidare lite på ditt script där jag bland annat tog ut min och max pris för "today" och "tomorrow". Sedan omvandlade jag allt till öre men det är ganska lätt ändrat.
KODEN:
// Get min/max price for today and eventually tomorrow (if exists)
const todayAndTomorrow = [].concat(priceObject.today, priceObject.tomorrow) // Combine the two arrays into one.
let minPrice = Math.min.apply(null, todayAndTomorrow.map(item => item.total)); // Get min price during current period.
let maxPrice1 = Math.max.apply(null, todayAndTomorrow.map(item => item.total)); // Get max price during current period.
Gjorde även om skalan på staplarna så de dynamiskt ändras efter priset mha min/max priset och storleken på en stapel.
KODEN:
let barHeight = scale(hourPrice, minPrice, maxPrice1, 0, 30)
bar.size = new Size((width - 24 * spacing) / 24, barHeight)
function scale(value, inMin, inMax, outMin, outMax) {
const result = (value - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
if (result < outMin) {
return outMin;
} else if (result > outMax) {
return outMax;
}
return result;
}
RESULTAT
[bild]