Börsihinna jälgimise automaatika

küttesüsteemid, millega ja kuidas kütta
Urmas
autodidakt
Postitusi: 10824
Liitunud: 17 Apr 2009, 23:51
On tänanud: 309 korda
On tänatud: 383 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas Urmas »

bladerunner kirjutas: 26 Veebr 2023, 17:56 Hämaraanduriga välisvalgustus a' 50W keskmiselt 8h päevas teeb universaalalektriga aastakuluks ~1€/kuus.
Kas sa arvutusega veidi mööda ei pannud? Pranglides sain veidi teise tulemuse. Isegi kui sinu arvutus on õige, siis nüüd palun korruta oma tuletis külade-alevite-linnaaosade-linnade-riikide mastaabis! Mitu eurot-dollarit võimisiganes rahaühikut ja kilovatttunde kuus kokku tuleb? On see OMA maja valgustus seda kõike väärt? :scratch:
Nõudke kvaliteeti, aga olge valmis selle eest ka maksma! Siseviimistlustööd, 55 676 252
xxx111
Ehituspenskar
Ehituspenskar
Postitusi: 5331
Liitunud: 17 Veebr 2020, 21:47
On tänanud: 4 korda
On tänatud: 134 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas xxx111 »

Urmas kirjutas: 26 Veebr 2023, 18:23 ...korruta oma tuletis külade-alevite-linnaaosade-linnade-riikide mastaabis! Mitu eurot-dollarit võimisiganes rahaühikut ja kilovatttunde kuus kokku tuleb? On see OMA maja valgustus seda kõike väärt? :scratch:
Aga milleks peaks millegagi korrutama?
Küsimus on konkreetselt Sinu enda soovides / otsustes...
Kas kas oma maja valgustus on seda väärt või mitte on täpselt igaühe enda asi ja mitte kuskilt otsast kellegi teise asi...
Urmas
autodidakt
Postitusi: 10824
Liitunud: 17 Apr 2009, 23:51
On tänanud: 309 korda
On tänatud: 383 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas Urmas »

xxx111 kirjutas: 26 Veebr 2023, 19:12 Aga milleks peaks millegagi korrutama?
Küsimus on konkreetselt Sinu enda soovides / otsustes...
Kas kas oma maja valgustus on seda väärt või mitte on täpselt igaühe enda asi ja mitte kuskilt otsast kellegi teise asi...
Aga sel juhul paluks mulle igast avatud kehaõõnsusest mitte sisse toppida soovitusi elektrienergia kokkuhoiuks. Meie praeguse peaministri sõnavõtte lugedes, võiks KOV ametnikud minna ja kontrollida, kellel põlevad välisfassaadi valgustus ja teha vastavalt peaministri suunistele elektrienergia kokkuhoiu nimel "valgustustööd". ;)

Kas tsitaadis mainitud ajal oli väljas pime? Vist jah. Ma ei mõtle ainult praegust hetke, kuid artikli avaldamise ajal oli kohe kindlasti.

"Ma katkestustest rääkides ei hirmuta ega ähvarda kedagi, ma lihtsalt konstateerin seda fakti, et meil tuleb tarbimist vähendada ja seda ajaliselt suunata väljaspoole tipu koormust. Ehk ajaliselt need tipptunnid, mis on vahemikus 7–9 või 16–19, seal on see tarbimine suur. Kui me seda ei tee, siis me võime olla sunnitud tegema paaritunniseid piirkondlikke elektrikatkestusi," rääkis Kallas.

Allikas https://www.err.ee/1608806356/kallas-ho ... tuste-eest

või https://www.facebook.com/eestiekspress/ ... cale=hi_IN

või https://arileht.delfi.ee/artikkel/95619 ... abivajajad

Ju te olete Kallase vanematega sama kindlustatud või rikkamad, sest Kallase pensionäridest vanematel ka ei ole probeleeme elektrienergia eest maksmisega. ;) Ega me ka ei nuta ja EE-le võlgu ei ole, kuid trepikoja ees ja trepikojas on valgustus anduritega. ;)

Artikleid loeks nagu nagu raamatut Šveigi seiklustest või "Jah, härra peaminister".
Viimati muutis Urmas, 26 Veebr 2023, 20:34, muudetud 1 kord kokku.
Nõudke kvaliteeti, aga olge valmis selle eest ka maksma! Siseviimistlustööd, 55 676 252
xxx111
Ehituspenskar
Ehituspenskar
Postitusi: 5331
Liitunud: 17 Veebr 2020, 21:47
On tänanud: 4 korda
On tänatud: 134 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas xxx111 »

Aga sel juhul paluks mulle igast avatud kehaõõnsusest mitte sisse toppida soovitusi elektrienergia kokkuhoiuks...
Aga sellised / analoogsed jutud kävad "ühest kõrvast sisse / teisest välja" - milleks seda tõsiselt / isiklikult võtta?
Kui ma ikka soovin oma maja valgustada ükskõik millisel moel siis ma seda ka teen - olenemata sellest mida plärab Kaja või keegi teine või kolmas...
Urmas
autodidakt
Postitusi: 10824
Liitunud: 17 Apr 2009, 23:51
On tänanud: 309 korda
On tänatud: 383 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas Urmas »

xxx111 kirjutas: 26 Veebr 2023, 20:34 Aga sellised / analoogsed jutud kävad "ühest kõrvast sisse / teisest välja" - milleks seda tõsiselt / isiklikult võtta?
Eeeh, ega ise ei võtagi, kuid mulle pigem tekitab hämmastust ja nalja jutu ja käitumise erinevus. Ma ei võtagi sellist asja tõsiselt, vaid mingiks kaasnähtuseks. Umbes nagu eelmise riigikorra ajal- lugesid ühte, aga tegelikkuses nägid hoopis midagi muud ja reaalselt tehti kolmandat moodi. ;)
Nõudke kvaliteeti, aga olge valmis selle eest ka maksma! Siseviimistlustööd, 55 676 252
xxx111
Ehituspenskar
Ehituspenskar
Postitusi: 5331
Liitunud: 17 Veebr 2020, 21:47
On tänanud: 4 korda
On tänatud: 134 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas xxx111 »

Urmas kirjutas: 26 Veebr 2023, 20:41 ...tekitab hämmastust....jutu ja käitumise erinevus...
Tõsiselt?
Kui naiivne saab olla?
Ma ei usu, et Sa tõsiselt seda mõtled...
Urmas
autodidakt
Postitusi: 10824
Liitunud: 17 Apr 2009, 23:51
On tänanud: 309 korda
On tänatud: 383 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas Urmas »

xxx111 kirjutas: 26 Veebr 2023, 21:16 Ma ei usu, et Sa tõsiselt seda mõtled...
Ei mõtlegi, kuid hämmastust tekitab ikkagi. Jah, mul on õnneks olemas kaks kõrva, kuid kahjuks on ka paar veel tegutsevat aju hallrakku, mis jäävad kahe kõrva vahel olevasse kolju õõnsusesse. Kas just homo sapiens, mille üks tähendus on mõtlev inimene, kuid vähemalt ise arvan endast küll nii. Võib-olla olen endast liiga heal arvamusel? :scratch: Täpselt ei tea. ;)
Nõudke kvaliteeti, aga olge valmis selle eest ka maksma! Siseviimistlustööd, 55 676 252
bladerunner
Uus kasutaja
Uus kasutaja
Postitusi: 34
Liitunud: 15 Aug 2022, 23:11
On tänatud: 1 kord

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas bladerunner »

Urmas kirjutas: 26 Veebr 2023, 18:23
bladerunner kirjutas: 26 Veebr 2023, 17:56 Hämaraanduriga välisvalgustus a' 50W keskmiselt 8h päevas teeb universaalalektriga aastakuluks ~1€/kuus.
Kas sa arvutusega veidi mööda ei pannud? Pranglides sain veidi teise tulemuse.
Hea tähelepanek,
0.05kW * 8h * 365 * 0.252€/kWh (ilma kompensatsioonita el. hind koos edastamistasu ja maksudega) = 36.80€ ehk ~3€ kuus.

Minumeelest on see suht väike hind maksta selle eest, et elamine ei näeks välja nagu tondiloss...
Energia kokkuhoid elamises tuleb ikka suurematest asjadest.
kunn24
Ehituspenskar
Ehituspenskar
Postitusi: 2032
Liitunud: 11 Veebr 2018, 14:45
On tänanud: 32 korda
On tänatud: 67 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas kunn24 »

Kas keegi kasutab ka Shelly asju? Nimelt eelnevalt hr Leivo akendega scriptile sai tehtud juurde suveajale üleminek ja natuke veel kohendatud.
aero
Ehitusveteran
Ehitusveteran
Postitusi: 1933
Liitunud: 27 Mai 2010, 10:40
On tänanud: 78 korda
On tänatud: 77 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas aero »

Olen plaaninud, pole veel tegudeni jõudnud.
kunn24
Ehituspenskar
Ehituspenskar
Postitusi: 2032
Liitunud: 11 Veebr 2018, 14:45
On tänanud: 32 korda
On tänatud: 67 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas kunn24 »

Nii palju sai veel seda täiendatud, et arvestab ka võrgutasusid ja ette sai pistetud piirhind KOOS võrgutasuga.
Sisse said viidud Võrk2 kuutasuga ja Võrk5. Võrgutasu on meil juba elektrihinnaga samasse suurusjärku. Täiesti jabur. Kui hr Leivo juhtub seda nägema, võiks suve/talve vaheldumise muuta automaatseks.

Kood: Vali kõik

// This script divides day into heating windows, finds cheapest hour(s) from each window, and turns on your (water)heating for that time.

// It's scheduled to run daily after 23:00 to set heating windows for next day.
// by Leivo Sepp, 31.01.2023
// Energy Market price is downloaded from Elering API https://dashboard.elering.ee/assets/api-doc.html#/nps-controller/getPriceUsingGET. 

// Set the country Estonia-ee, Finland-fi, Lthuania-lt, Latvia-lv
// No other countries support exist trough Elering API. 
let country = "ee";

// This parameter used to set length in hours for heating window. In normal cases I would recommend to set it between 4 to 8, but can be 1-24 (24 is useless).
// Example: If heatingWindow=6, then heating windows are 00-05, 06-11, 12-17, 18-23. Inside of each heating window the script finds chepest prices depends on the next heatingTime parameter.
let heatingWindow = 12;

// This parameter used to set number of heating hours inside heating window. In normal cases it should 1 or 2 hours, but can also be bigger number.
// For example if this number is set to 1 then Shelly will turn on for 1 hour for each heating window. 
let heatingTime = 3;

// Keep this parameter is_reverse=false, I think 99% of the situations are required so.
// Rarely some heating systems requires reversed relay. Put this "true" if you are sure that your appliance requires so.
// For example my personal ground source heat pump requires reversed management. If Shelly relay is activated (ON), then my heatpump is turned off.
let is_reverse = false;

let max_price = 80;

// This is timezone for EE, LT, LV and FI.
// Do not change this because it won't work currently for other timezones.
let timezone = 2;
let StartTime = "T22:00Z";
let EndTime = "T21:00Z";

let summertime = true;

if (summertime === true) {
  timezone = 3;
  StartTime = "T21:00Z";
  EndTime = "T20:00Z";
}

print("Timezone:",timezone);

// some global variables
let eleringUrl = "https://dashboard.elering.ee/api/nps/price";
let sorted = [];
let dateStart;
let dateEnd;
let shellyUnixtime = Shelly.getComponentStatus("sys").unixtime;
let totalHours;
let waterHeatingTimes = [];
let data_indx;
let countWindows = Math.floor(24 / heatingWindow);
// Võrk-5
let netprice = [29.5 , 29.5 , 29.5 , 29.5 , 29.5 , 29.5 ,29.5 , 51.4 , 51.4 , 79.4 , 79.4 , 79.4 , 51.4 , 51.4 , 51.4 , 51.4 , 79.4 , 79.4 , 79.4 , 79.4 , 51.4 , 51.4 , 29.5 , 29.5 ];
let netprice_weekend  = [29.5 , 29.5 , 29.5 , 29.5 , 29.5 , 29.5 ,29.5 , 29.5 , 29.5 , 29.5 , 29.5 , 29.5 , 29.5 , 29.5 , 29.5 , 29.5 , 46.0 , 46.0 , 46.0 , 46.0 , 46.0 , 46.0 , 29.5 , 29.5 ];
// Võrk-2
//let netprice = [32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 56.7 , 32.8 , 32.8 ];
//let netprice_weekend  = [32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 ,32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 , 32.8 ];


print("Count of Heating windows",countWindows);

let year;
let month;
let date;


// Crontab for running this script. 
// This script is run at random moment during the first 15 minutes after 23:00
// Random timing is used so that all clients wouldn't be polling the server exactly at same time
let minrand = JSON.stringify(Math.floor(Math.random() * 15));
let secrand = JSON.stringify(Math.floor(Math.random() * 59));
let script_schedule = secrand + " " + minrand + " " + "23 * * SUN,MON,TUE,WED,THU,FRI,SAT";

// Number for this script. If this doesn't work (as in earlier versions), get it from this url (use your own ip) http://192.168.33.1/rpc/Script.List
// You can check the schedules here (use your own ip) http://192.168.33.1/rpc/Schedule.List
let script_number = Shelly.getCurrentScriptId();
Shelly.call("ScriptSetConfig", {"id":script_number, config:{"enable":true}});

// This is the main function to proceed with data management, price sorting etc.
function find_cheapest() {
    let addDays = -1; //yesterday, used in case the scipt started before 3PM and we don't have tomorrow prices
    let shellyHour = JSON.parse(unixTimeToHumanReadable(shellyUnixtime, timezone, addDays).slice(11, 13));
    // Only after 3PM this script can calculate schedule for tomorrow as the energy prices are not available before 3PM
    // Running this script before 3PM, today energy prices are used.
    if (shellyHour >= 15) {
        addDays = 0
    }
    // Let's prepare proper date-time formats for Elering query
    let shellyTime = unixTimeToHumanReadable(shellyUnixtime, timezone, addDays);
    let shellyTimePlus1 = unixTimeToHumanReadable(shellyUnixtime, timezone, addDays + 1);
    dateStart = shellyTime.slice(0, 10) + StartTime;
    dateEnd = shellyTimePlus1.slice(0, 10) + EndTime;

    // Extract Shelly year, month and day
    let dateTime = unixTimeToHumanReadable(shellyUnixtime, timezone, 0);
    year = JSON.parse(dateTime.slice(0, 4));
    month = JSON.parse(dateTime.slice(5, 7));
    date = JSON.parse(dateTime.slice(8, 10));
 

    // Let's get the electricity market price from Elering
    print("Starting to fetch market prices from Elering from ", dateStart, " to ", dateEnd, ".");
  print(eleringUrl + "?start=" + dateStart + "&end=" + dateEnd);
      Shelly.call("HTTP.GET", { url: eleringUrl + "?start=" + dateStart + "&end=" + dateEnd }, function (result) {
        if (result === null) {
            // If there is no result, then heating windows are starting exactly at midnight 00:00
            print("Fetching market prices failed. Adding default heating windows.");
            setTimer(is_reverse, heatingTime);
            for (let i = 0; i < countWindows; i++) {
                let unixtime = dateTimeToUnixTime(year, month, date, (i * heatingWindow) - 2, 0);
                // filling up array with the unixtimestamps
                waterHeatingTimes.push({ timestamp: unixtime });
            }
        }
        else {
            // Let's hope we got good JSON result and we can proceed normally
            // Example of good json
            // let json = "{success: true,data: {ee: [{timestamp: 1673301600,price: 80.5900},"+
            // "{timestamp: 1673305200,price: 76.0500},{timestamp: 1673308800,price: 79.9500}]}}";   
            print("We got market prices from Elering, going to do the heating window logic ...");
            let json = JSON.parse(result.body);
            let pricesArray = json["data"][country];
            let arrayWindow = [];
            let LastUnixHour = pricesArray[23].timestamp;
            let DayOfWeek = Math.floor((LastUnixHour / 86400) + 4) % 7;
            print("Day Of Week: ",DayOfWeek);
            if (DayOfWeek > 5) { netprice = netprice_weekend }
       
            // Creating array for each heating window, sorting array, and then pushing smallest prices to waterHeatingTimes[] 
            for (let i = 0; i < countWindows; i++) {
                let k = 0;
                let hoursInWindow = (i + 1) * heatingWindow > 24 ? 24 : (i + 1) * heatingWindow;
                for (let j = i * heatingWindow; j < hoursInWindow; j++) {
                    arrayWindow[k] = pricesArray[j];
                    arrayWindow[k].price = arrayWindow[k].price + netprice[j]
                    k++;
                }
                // Sort prices from smallest to largest
                sorted = sort(arrayWindow, "price");
                let heatingHours = sorted.length < heatingTime ? sorted.length : heatingTime;
                for (let x = 0; x < heatingHours; x++) {
                    waterHeatingTimes[(i * heatingTime) + x] = sorted[x];
                }
            }
        }
        // // The fact is that Shelly RPC calls are limited to 5, one is used already for HTTP.GET and we have only 4 left.
        // // These 4 RPC calls are used here. 
        totalHours = waterHeatingTimes.length;
        data_indx = (totalHours - 4) < 1 ? totalHours : 4;
        print("Starting to add hours 0-3");
        addSchedules(waterHeatingTimes, 0, data_indx);

        // // This is the hack with the timers to add more RPC calls. We simply add a 4 second delay between the timer actions :) 
        // // Timers are called four times and each timer has four RPC calls to set up alltogether maximum 20 schedules.
        // // The Timers in Shelly script are limited also to 5, as one is used to stop the script itself we can call maximum 4 timers.
        // // For some reason I couldn't make this code smarter as calling timers seems not working from for-loop which would be the normal solution.
        if (totalHours - 4 > 0) {
            Timer.set(5 * 1000, false, function () {
                data_indx = (totalHours - 9) < 1 ? totalHours : 9;
                print("Starting to add hours 4-8");
                addSchedules(waterHeatingTimes, 4, data_indx);
            });
        }
        if (totalHours - 9 > 0) {
            Timer.set(10 * 1000, false, function () {
                data_indx = (totalHours - 14) < 1 ? totalHours : 14;
                print("Starting to add hours 9-13");
                addSchedules(waterHeatingTimes, 9, data_indx);
            });
        }
        if (totalHours - 14 > 0) {
            Timer.set(15 * 1000, false, function () {
                data_indx = (totalHours - 19) < 1 ? totalHours : 19;
                print("Starting to add hours 14-19");
                addSchedules(waterHeatingTimes, 14, data_indx);
            });
        }
        if (totalHours - 19 > 0) {
            Timer.set(20 * 1000, false, function () {
                data_indx = (totalHours - 24) < 1 ? totalHours : 24;
                print("Starting to add hours 19-23");
                addSchedules(waterHeatingTimes, 19, data_indx);
            });
        }
    });
}

// Add schedulers, switching them on or off is depends on the "is_reverse" parameter
function addSchedules(sorted_prices, start_indx, data_indx) {
    for (let i = start_indx; i < data_indx; i++) {
        let hour, price;
        if (sorted_prices.length > 0) {
            hour = unixTimeToHumanReadable(sorted_prices[i].timestamp, timezone, 0).slice(11, 13);
            price = sorted_prices[i].price;
        }
        else {
            hour = JSON.stringify(start_indx);
            price = "no price.";
        }
        
    if (price < max_price) {      

        print("Scheduled start at: ", hour, " price: ", price);
        // Remove leading zeros from hour
        if (hour.slice(0, 1) === "0") { hour = hour.slice(1, 2); }
        // Set the start time crontab
        let timer_start = "0 0 " + hour + " * * SUN,MON,TUE,WED,THU,FRI,SAT";
        // Creating one hour schedulers 
        Shelly.call("Schedule.Create", {
            "id": 0, "enable": true, "timespec": timer_start,
            "calls": [{
                "method": "Switch.Set",
                "params": {
                    id: 0,
                    "on": !is_reverse
                }
            }]
        }
        )
    }
  }
}

function dateTimeToUnixTime(year, month, day, hh, mm) {
    let month_yday = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
    let year_adj = year + 4800;  /* Ensure positive year, multiple of 400. */
    let febs = year_adj - (month <= 2 ? 1 : 0);  /* Februaries since base. */
    let leap_days = 1 + Math.floor(febs / 4) - Math.floor(febs / 100) + Math.floor(febs / 400);
    let days = 365 * year_adj + leap_days + month_yday[month - 1] + day - 1;
    return (days - 2472692) * 86400 + hh * 3600 + mm * 60;  /* Adjust to Unix epoch. */
}

// Shelly doesn't support any date-time management.
// With this very basic math we can convert unix time to Human readable format
function unixTimeToHumanReadable(seconds, timezone, addDay) {
    //add timezone
    seconds += 60 * 60 * timezone;
    //add days
    seconds += 60 * 60 * 24 * addDay;
    // Save the time in Human readable format
    let ans = "";
    // Number of days in month in normal year
    let daysOfMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
    let currYear, daysTillNow, extraTime,
        extraDays, index, date, month, hours,
        minutes, secondss, flag = 0;
    // Calculate total days unix time T
    daysTillNow = Math.floor(seconds / (24 * 60 * 60));
    extraTime = seconds % (24 * 60 * 60);
    currYear = 1970;
    // Calculating current year
    while (true) {
        if (currYear % 400 === 0
            || (currYear % 4 === 0 && currYear % 100 !== 0)) {
            if (daysTillNow < 366) {
                break;
            }
            daysTillNow -= 366;
        }
        else {
            if (daysTillNow < 365) {
                break;
            }
            daysTillNow -= 365;
        }
        currYear += 1;
    }
    // Updating extradays because it will give days till previous day and we have include current day
    extraDays = daysTillNow + 1;
    if (currYear % 400 === 0 ||
        (currYear % 4 === 0 &&
            currYear % 100 !== 0))
        flag = 1;
    // Calculating MONTH and DATE
    month = 0; index = 0;
    if (flag === 1) {
        while (true) {
            if (index === 1) {
                if (extraDays - 29 < 0)
                    break;
                month += 1;
                extraDays -= 29;
            }
            else {
                if (extraDays - daysOfMonth[index] <= 0) {
                    break;
                }
                month += 1;
                extraDays -= daysOfMonth[index];
            }
            index += 1;
        }
    }
    else {
        while (true) {
            if (extraDays - daysOfMonth[index] <= 0) {
                break;
            }
            month += 1;
            extraDays -= daysOfMonth[index];
            index += 1;
        }
    }
    // Current Month
    if (extraDays > 0) {
        month += 1;
        date = extraDays;
    }
    else {
        if (month === 2 && flag === 1) {
            date = 29;
        }
        else {
            date = daysOfMonth[month - 1];
        }
    }
    // Calculating HH:MM:SS
    hours = Math.floor(extraTime / 3600);
    minutes = Math.floor((extraTime % 3600) / 60);
    secondss = Math.floor((extraTime % 3600) % 60);
    //add leading 0 to month, date, hour, minute, and seconds
    let monthStr = month < 10 ? "0" + JSON.stringify(month) : JSON.stringify(month);
    let dateStr = date < 10 ? "0" + JSON.stringify(date) : JSON.stringify(date);
    let hoursStr = hours < 10 ? "0" + JSON.stringify(hours) : JSON.stringify(hours);
    let minutesStr = minutes < 10 ? "0" + JSON.stringify(minutes) : JSON.stringify(minutes);
    let secondsStr = secondss < 10 ? "0" + JSON.stringify(secondss) : JSON.stringify(secondss);

    ans += JSON.stringify(currYear);
    ans += "-";
    ans += monthStr;
    ans += "-";
    ans += dateStr;
    ans += " ";
    ans += hoursStr;
    ans += ":";
    ans += minutesStr;
    ans += ":";
    ans += secondsStr;
    // Return the time
    return ans;
}

// Shelly doesnt support Javascript sort function so this basic math algorithm will do the sorting job
function sort(array, sortby) {
    // Sorting array from smallest to larger
    let i, j, k, min, max, min_indx, max_indx, tmp;
    j = array.length - 1;
    for (i = 0; i < j; i++) {
        min = max = array[i][sortby];
        min_indx = max_indx = i;
        for (k = i; k <= j; k++) {
            if (array[k][sortby] > max) {
                max = array[k][sortby];
                max_indx = k;
            }
            else if (array[k][sortby] < min) {
                min = array[k][sortby];
                min_indx = k;
            }
        }
        tmp = array[i];
        array.splice(i, 1, array[min_indx]);
        array.splice(min_indx, 1, tmp);

        if (array[min_indx][sortby] === max) {
            tmp = array[j];
            array.splice(j, 1, array[min_indx]);
            array.splice(min_indx, 1, tmp);
        }
        else {
            tmp = array[j];
            array.splice(j, 1, array[max_indx]);
            array.splice(max_indx, 1, tmp);
        }
        j--;
    }
    return array;
    // Huhh, array is finally sorted
}

// Delete all the schedulers before adding new ones
function deleteSchedulers() {
    print("Deleting all existing schedules ...");
    Shelly.call("Schedule.DeleteAll");
}

// Set countdown timer to flip the Shelly status
// Auto_on or auto_off is depends on the "is_reverse" parameter
// Delay_hour is the time period in hour. Shelly needs this in seconds.
function setTimer(is_reverse, delay_hour) {
    let is_on = is_reverse ? "on" : "off";
    print("Setting ", delay_hour, " hour auto_", is_on, "_delay.");
    Shelly.call("Switch.SetConfig", {
        "id": 0,
        config: {
            "name": "Switch0",
            "auto_on": is_reverse,
            "auto_on_delay": delay_hour * 61 * 60,
            "auto_off": !is_reverse,
            "auto_off_delay": delay_hour * 61 * 60
        }
    }
    )
}

function scheduleScript() {
    print("Creating schedule for this script with the following CRON", script_schedule);
    Shelly.call("Schedule.create", {
        "id": 3, "enable": true, "timespec": script_schedule,
        "calls": [{
            "method": "Script.start",
            "params": {
                "id": script_number
            }
        }]
    })
}

function stopScript() {
    // Stop this script in 1.5 minute from now
    Timer.set(100 * 1000, false, function () {
        print("Stopping the script ...");
        Shelly.call("Script.stop", { "id": script_number });
    });
}

deleteSchedulers();
find_cheapest();
setTimer(is_reverse, 1);
scheduleScript();
stopScript();

Walterscheid
Korralik postitaja
Korralik postitaja
Postitusi: 103
Liitunud: 18 Jaan 2019, 09:44
On tänanud: 5 korda
On tänatud: 7 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas Walterscheid »

Siia võiks jah scripti täiustusi üles panna
indre
Uus kasutaja
Uus kasutaja
Postitusi: 3
Liitunud: 06 Mär 2023, 21:07

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas indre »

Turul nüüd ka spetsiaalselt õhk-vesi ja maasoojuspumpadele loodud börsihinna jälgija: https://tarkhoone.ee/heatadapt-borsimoo ... pumpadele/

2023 börsihindadega oli kokkuhoid väga hea.
Kasutaja avatar
nexus4
Korralik postitaja
Korralik postitaja
Postitusi: 132
Liitunud: 06 Jaan 2023, 11:23
On tänanud: 3 korda
On tänatud: 9 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas nexus4 »

indre kirjutas: 07 Apr 2024, 10:45 Turul nüüd ka spetsiaalselt õhk-vesi ja maasoojuspumpadele loodud börsihinna jälgija: https://tarkhoone.ee/heatadapt-borsimoo ... pumpadele/

2023 börsihindadega oli kokkuhoid väga hea.
Put your money where your mouth is, kas "12% - 20% aastas" arvutustkäiku ka saaks näha?

Kas säästuarvutuses soojuspumba kasuteguri muutust ka arvesse võetakse või on lihtlabane eur/mwh erinevus?

Kas optimeerija arvestab ka võrgutasudega?
:read:
prpr
Regulaarpostitaja
Regulaarpostitaja
Postitusi: 59
Liitunud: 27 Juul 2018, 17:57
On tänatud: 6 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas prpr »

Seal on ka null informatsiooni selle mooduli kohta, hinna kohta jne.
Kas on mingi tavaline jurakas, mis lükkab MSP-l voolu tagant ära (head aega kompressor), keelab lihtsalt kütmise mingitel hetkedel läbi sisendi (inverterpumbale ei ole see hea).

Või on siiski välistemperatuurianduri petmisega asi lahendatud...
See viimane on ainus normaalne lahendus. Muud lahendused on palju halvemad.

Mul iseenesest raudvara on sellele välja arendatud, aga tasuvusarvutusi tehes ei tundunud eriti mõistlik asjaga edasi minna, sest kokkuhoid on tegelikult üliväike õigesti dimensioneeritud maasoojuspumpade puhul.
Kui isegi on üle dimensioneeritud, siis selleks, et majas temperatuur ei pendeldaks, peab olema vee baasil küte koos akupaagiga.

Suurema külmaga käib õigesti dimensioneeritud pump külmema ilmaga 90-100% ajast täisvõimsusega ning tippe kaetakse tenniga. Kui see nii ei ole, siis on soojuspumba valikul tehtud viga ning seda raha ei saa pärast enam mitte ühegi vidinaga tagasi.

Kõige paremini saab optimeerida siis, kui esineb palju volatiilsust hindades. S.t. kahe tunni hinna erinevus on väga suur. Samuti ei tohi õues olla väga külm, sest muidu pumba seisma jätmisel tuleb pärast elektriküttekehaga kütta, mis nullib igasuguse kokkuhoiu.

Need 20% ja muu on täielik jura, minu arvutused näitasid ideaalis <5% erinevust. Kuna klientidele väga valetada ei tahtnud ja muud projektid lähevad väga hästi, siis jätsin selle asja lõpetamata.
bladerunner
Uus kasutaja
Uus kasutaja
Postitusi: 34
Liitunud: 15 Aug 2022, 23:11
On tänatud: 1 kord

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas bladerunner »

Päris paljudel moodsatel pumpadel on (mingi EU regulatsiooni kohaselt?) sisendotsad a'la
küta
ära-küta
soovitavalt-küta
vaata-ise-mis-teed

tarkhoone.ee lahendus siis manipuleeribki nendega (räägin pumpadest mil see võimalus on). On ka teisi võimalusi.
Koos pumba kütmasundimisega tuleks muidugi ka sundida põrandakütte ajamid avanema et oleks mida ette kütta.

Detsembris kannatas kenasti pumpa 4-6h järjest väljas hoida. Seda siis puhtalt taimeri pealt. Temperatuur kukkus selle ajaga maksimaalselt kraad-poolteist.
indre
Uus kasutaja
Uus kasutaja
Postitusi: 3
Liitunud: 06 Mär 2023, 21:07

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas indre »

nexus4 kirjutas: 07 Apr 2024, 12:39
indre kirjutas: 07 Apr 2024, 10:45 Turul nüüd ka spetsiaalselt õhk-vesi ja maasoojuspumpadele loodud börsihinna jälgija: https://tarkhoone.ee/heatadapt-borsimoo ... pumpadele/

2023 börsihindadega oli kokkuhoid väga hea.
Put your money where your mouth is, kas "12% - 20% aastas" arvutustkäiku ka saaks näha?

Kas säästuarvutuses soojuspumba kasuteguri muutust ka arvesse võetakse või on lihtlabane eur/mwh erinevus?

Kas optimeerija arvestab ka võrgutasudega?
Arvestab elektri börshinna, võrgutasude, ilmaprognoosiga. Lisaks on küttemustrid optimeeritud tulenevalt vastava hoone ja soojuspumba omadustele, et saavutada suurim kokkuhoid.

Säästu arvutused on väga põhjalikult läbi tehtud: 2023/24 kütteperioodiks loodi kahele Eesti väikeelamule digitaalne kaksik, mille alusel mängiti läbi erinevaid juhtimisloogikaid ning jälgiti maja temperatuure. Lisaks sellele kaasati uuringusse üle kümne väikeelamu, milles mõõdeti suht kõike mida ühe küttesüsteemi ja maja käitumise juures on mõistlik mõõta (sh soojuspumba COP) börsijuhtimise korral. Täpsem säästumetoodika kirjeldus tuleb välja pärast uuringu lõppu sel suvel.
Kasutaja avatar
nexus4
Korralik postitaja
Korralik postitaja
Postitusi: 132
Liitunud: 06 Jaan 2023, 11:23
On tänanud: 3 korda
On tänatud: 9 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas nexus4 »

indre kirjutas: 08 Apr 2024, 12:31
nexus4 kirjutas: 07 Apr 2024, 12:39
indre kirjutas: 07 Apr 2024, 10:45 Turul nüüd ka spetsiaalselt õhk-vesi ja maasoojuspumpadele loodud börsihinna jälgija: https://tarkhoone.ee/heatadapt-borsimoo ... pumpadele/

2023 börsihindadega oli kokkuhoid väga hea.
Put your money where your mouth is, kas "12% - 20% aastas" arvutustkäiku ka saaks näha?

Kas säästuarvutuses soojuspumba kasuteguri muutust ka arvesse võetakse või on lihtlabane eur/mwh erinevus?

Kas optimeerija arvestab ka võrgutasudega?
Arvestab elektri börshinna, võrgutasude, ilmaprognoosiga. Lisaks on küttemustrid optimeeritud tulenevalt vastava hoone ja soojuspumba omadustele, et saavutada suurim kokkuhoid.

Säästu arvutused on väga põhjalikult läbi tehtud: 2023/24 kütteperioodiks loodi kahele Eesti väikeelamule digitaalne kaksik, mille alusel mängiti läbi erinevaid juhtimisloogikaid ning jälgiti maja temperatuure. Lisaks sellele kaasati uuringusse üle kümne väikeelamu, milles mõõdeti suht kõike mida ühe küttesüsteemi ja maja käitumise juures on mõistlik mõõta (sh soojuspumba COP) börsijuhtimise korral. Täpsem säästumetoodika kirjeldus tuleb välja pärast uuringu lõppu sel suvel.
Küsin siis nii pidi, et kas arvutus võtab arvesse ka vastu elektrihinda optimeerimisest tuleneva elektrienergia kasvu?
:read:
Kasutaja avatar
nexus4
Korralik postitaja
Korralik postitaja
Postitusi: 132
Liitunud: 06 Jaan 2023, 11:23
On tänanud: 3 korda
On tänatud: 9 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas nexus4 »

prpr kirjutas: 07 Apr 2024, 23:14 Või on siiski välistemperatuurianduri petmisega asi lahendatud...
See viimane on ainus normaalne lahendus. Muud lahendused on palju halvemad.
Ma väidaks, et ainus normaalne lahendus on pealevoolu temperatuuri muutmine ehk küttekõvera vertikaalne nihutamine. Välistemperatuurianduri petmine on oma olemuselt täpselt sama, aga natuke hambaravi läbi tagumiku (seda küll ainult juhul kui pumbal ei ole selleks eraldi sisendit).
:read:
prpr
Regulaarpostitaja
Regulaarpostitaja
Postitusi: 59
Liitunud: 27 Juul 2018, 17:57
On tänatud: 6 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas prpr »

nexus4 kirjutas: 08 Apr 2024, 14:34 Ma väidaks, et ainus normaalne lahendus on pealevoolu temperatuuri muutmine ehk küttekõvera vertikaalne nihutamine.
Seda ei saa teha universaalselt, vaid pumba liidese kaudu, kui see üldse olemas on! Paljudel pumpadel, eriti vanematel ei ole sellist võimalust ning see on igale pumbale spetsiifiline. Hakata igale pumba mudelile mingit süsteemi välja töötama ei ole majanduslikult otstarbekas ning paigaldus keeruline.

Kui hakata valetama pealevoolu temperatuuri pumbale väiksemaks, kui tegelikult on, siis see ei ole turvaline, sest pealevoolu temperatuur on oluline informatsioon pumbale. Samuti kui seda valetada lähevad pumbad üsna kergesti vearežiimi (sõltub tootjast) või kuna näevad, et ei suuda kuidagi saavutada etteantud temperatuuri, siis lülitavad tenni sisse. Kõikidel pumpadel pole ka pealevooluandureid, näiteks osadel vanematel IVT pumpadel on andur üldse tagasivoolu peal. Välistemperatuuri andur on aga absoluutselt kõigil ning seda on lihtne leida ilma süsteemi liigselt süvenemata.

Välistemperatuuriandur on ainuke millega manipuleerida, sest tavaliselt on kõigil NTC andur (ehk siis vaja NTC anduri simulaatorit). Samuti on see täiesti turvaline, sest välistemperatuur muutubki. Lisaks on paigaldus ülimalt lihtne, piisab välistemperatuurianduri juhtme läbi lõikamisest ja sinna vahele seadme paigaldamisest.

Nagu ma ütlesin, mul on see seade valmis olemas, lihtsalt ei tundunud väga otstarbekas edasi arendada. Tükihinna vaevalt alla 120-150 euro saab, kui kõik maksud makstud (k.a. elektriromu maks ja sertifitseerimine) ning minu arvutuste kohaselt tavaliselt kliendil tuleb kokkuhoid heal juhul 50-100 eurot aastas. Müüa seda nii, nagu ülaltoodud seadet lubades praktiliselt võimatut tootlust polnud minu eesmärk. Mul on teiste projektide najal piisavalt raha, et ei ole vajalik inimesi petta.
Detsembris kannatas kenasti pumpa 4-6h järjest väljas hoida. Seda siis puhtalt taimeri pealt. Temperatuur kukkus selle ajaga maksimaalselt kraad-poolteist.
Kui sa saad talvel, külmaga 4-6h pumpa väljas hoida ja seejuures ei ole pärast vaja tenni, et uuesti asja üles kütta, ehk siis pumba kasutus on alla 75%, tähendab see seda, et pump on lootusetult üle dimensioneeritud.
Ehk siis sa maksid pumba eest vähemalt tuhat eurot rohkem, kui oleks pidanud.
Siis üritad sealt mingisugune paarsada eurot aastas kokkuhoidu teha. Tasuvusaeg on 20a vms, peale mida see pump nagunii utiil on. Mõttetu.

Normaalne on ikka see, et kuskil -15C juures käib pump juba 100% ajast (koos sooja veega) ja lisatipud katab tenniga. See on kordades soodsam, kui võtta mingisugune pump, mis on nii dimensioneeritud, et isegi -20C-ga ei ole kogu ressurss ära kasutatud. Just selle tõttu, et võimsam pump on kallim ning vajab suuremat kontuuri töötamiseks. See lisakulu on aga nii suur, et seda ei tee ükski börsi jälgimise seadeldis tasa.

Tänapäeval pushitakse väga inverterpumpasid, et need on ökonoomsemad vms, aga reaalsus on see, et ökonoomsuses suurt vahet ei ole ning varasema nt. 8kW pumba asemel pannakse 12 kW pump, mis on lisaks 30-40% kallim (inverteriga maksab palju rohkem, kui on-off, pluss lisavõimsus)... Ta võib ju pisut ökonoomsem olla, aga sellist hinnavahet ei tee mitte kunagi tagasi.
-virks-
Korralik postitaja
Korralik postitaja
Postitusi: 188
Liitunud: 28 Apr 2013, 12:38
On tänatud: 10 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas -virks- »

Kui -15 käib pump 100% ajast, siis miks ei võiks -5 juures hinnatippe vältida, kui pumbal selleks võhma jätkub?
Kalvis
Ehituspenskar
Ehituspenskar
Postitusi: 10636
Liitunud: 03 Veebr 2008, 14:02
On tänanud: 2 korda
On tänatud: 288 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas Kalvis »

Mingid viletsad SP kui ainult välistemperatuuri järgi töötavad. Enamus töötavad sisetemperatuuri järgi ja saab panna ka konstantse väljundvee reziimi. See viimane on just väga hea kui on kasvõi minimaalselt akupaaki või on põrandaküte. Sel juhul saab vabalt 4h välja blokkida NPS automaatikast. OK - 20 C välistemperatuur jääb ära aga enamus ajast on talv -5C ja eelkõneleja tähelepanu siis saab kenasti NPS järgi juhtida. Seejuures töötab SP - laeb töötundidel 100% kõigepealt temp uuesti normi ja siis sõltuvalt kütteskeemist jääb tavajuhtimise juurde.
rye
Ehitusspets
Ehitusspets
Postitusi: 366
Liitunud: 15 Juul 2019, 22:54
On tänanud: 8 korda
On tänatud: 6 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas rye »

Tundub, et ülal viidatud tarkhoone.ee toode on nii "keerukas" et tootja ei julge sellest isegi mitte fotot välja panna, rääkimata hinnast või muust infost mismoodi see töötab.

Olen ise proovinud Themot ja siis 2a atagasi läksin üle Celeonile, hetkel on neid erinevates majades kasutuses kolm: 1) elektripõrandaküte vannitoas 2) el. boiler 3) 12kW õhk-vesi soojuspump. Kiidan Celeoni, kuna see on lihtne ja loogiline, hinnad ja toode ise ka kodulehel väljas. Themoga ei saanudki sõbraks, vbl. viga minu peakujus. El. põrandaküttest ja boilerist siin pikemalt ei räägiks, kuna need on toimetanud "paigalda ja unusta" reziimis. Vahel olen lihtsalt pilgu küttetulpadele peale visanud ja tavaliselt on nägu naerule läinud.

Aga jagaksin soojuspumba kogemust.
1. kõige rohkem saab kasu siis, kui soojuspump on korralikult üledimensioneeritud. Tunnistan, et ma pole suurema pumba kallimat hinda kunagi tasuvusarvutusse pannud. Samas hetkel vaatan, et hinnavahed on suht väikesed, 20% umbes. See on tasu muheda naeratuse eest kui graafikut vaatan :)
2. Põrandaplaat peab ka piisavalt paks olema, mul 10 cm arvutuslikult, kui betooni toodi, siis ikka 12cm jagu läks ära. Ka seda paksu plaati ei oska ma tasuvusarvutusse panna :)
3. Soojuspump on seadistatud max võimsusele, ka mõned piirtemperatuurid on paika pandud, aga sisuliset kui sisse lülitada, hakkab max võimsusel uhama. 12kW nominaalvõimsusega soojuspump on üllatuslikult suuteline nt -3 kraadiga ka 16kW välja andma (mõõdetud välise soojusmõõtjaga)
4. Soojuspumbal on spetsiaalne juhtimisahel, mida lülitan releega kinni-lahti. See oli soojuspumba valikul üheks kriteeriumiks.
5. Minu soojuspump ei tööta päris "installi ja unusta" reziimis. Celeoni juhtloogika ei arvesta sellega, et külma ilmaga on vaja rohkem küttetunde, seal saan ette anda lihtsalt mitu kõige odavamat tundi ja mis on maksimaalne vaheaeg. On tekkinud teatav kogemus, et kui õues väga külm on, siis kütan 10 tundi täisvõimsusel ja kui soojem on, siis 6-st tunnist piisab. Küttetunnid nopin graafikult välja käsitsi ja sellest on saanud pigem hobitegevus, mitte koormus. Samuti meeldib mulle aeg-ajalt kaminaga juurde kütta ja seda ei oska ükski juhtimisloogika ära aimata, küll aga kogemusest tean et siis pean mõned tunnid vähem soojuspumpa seadistama.
6. Paks põrand salvestab hästi ja isegi kui minu välja nopitud odavad tunnid ainult öösel on, siis maja ei jahtu vahepal maha. Tegemist on uue ja hästi soojustatud majaga.
7. Minu kõhutunne sellest, mida olen küttegraafikutel näinud, on see, et niimoodi olen kokku hoidnud vähemalt 1,5 korda. Võib-olla ka kuni 2 korda, aga seda numbrit ma päris tulihingeliselt kaitsta ei julgeks.

Lisan foto tänasest näidis küttegraafikust ja celeoni külge poogitud juhtreleest.
Olen teadlik, et mida rohkem inimesi selliseid lahendusi kasutama hakkavad, seda väiksem on minu võit, aga kuna olen siit foorumist hindamatult väärtuslikke näpunäiteid saanud, siis tahan seda kogemust jagada.
IMG_4392.JPG
IMG_032BB8F727A1-1.jpeg
PS! väldime foorumis vastuseid stiilis "telli projekt", "mine esindusse", "kutsu professionaal" vms.
mote
Uus kasutaja
Uus kasutaja
Postitusi: 34
Liitunud: 20 Sept 2021, 21:27
On tänatud: 2 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas mote »

Nii kuidas mina olen aru saanud Õ-V soojuspumba tööst on oluline saada pealevoolu temepratuur võimalikult madalaks ja tagada võimalikult suur vedeliku voolu kogus. Et saada kõige efektiivsemat (SCOP)i on vaja teada maja energiakulu ja pump osta vastavalt sellele. Kui pump on liiga võimas siis pump hakkab sisse ja välja lülitama mis viib kasuteguri alla. Lisaks on inverterpumpadel moduleerimis vahemik, enamik kütteperioodist peaks olema selle moduleerimisvahemiku sees, et välitda pumba sisse ja välja lülitamist. Lisaks peab olema küttering võimalikult vaba takistustest mis tagab maksimaalse vooluhulga, st igasugused reguleerklapid, liitmike hunnikud süsteemist välja ja piisavalt suur torustik (pumbast min 32mm torustik). Akupaagid ja segusüsteemid ringlusest välja, et vältida "tööd tegematta" küttevee tagasi jõudmist pumpa. Kogu küttesüsteemi ainus ringluspump on soojuspumba sees olev küttevee ringluspump.
Süsteem projekteeritakse peale ja tagasi vee temperatuuri delta T 5kraadi (vahel ka 7). Sama energia kogus on võimalik üle kanda delta T 1kraad ja delta T5kraadi aga voolu kogus peab esimesel juhul olema 5 korda suurem. Soojuspumbad reguleerivad soojusenergia väljastust kas kompressori pööretega ja/või gaasi survega. mida kõrgemad rpmid ja kõrgem gaasi surve seda väiksem efektiivsus. Pumbad reguleerivad väljastatavat võimust kas küttevee ja tagastuva vee temeratuuri delta T suurendamisega ja/või ringleva küttevee koguse (l/h) suurendamisega.
Kõige efektiivsem on kui pump on 24/7 töös ja töötab vastavalt välitemperatuuri põhisele küttegraafikule. Kuid alati pole maksimaalne efektiivsus rahaliselt kõige odavam, ainus automaatika mõte oleks välitda väga suuri kõikumisi, väikeste kõikumistega sööb pumba kehvem efektiivsus sisse välja lülitamistel saadud majandusliku kasu ära.
prpr
Regulaarpostitaja
Regulaarpostitaja
Postitusi: 59
Liitunud: 27 Juul 2018, 17:57
On tänatud: 6 korda

Re: Börsihinna jälgimise automaatika

Lugemata postitus Postitas prpr »

-virks- kirjutas: 10 Apr 2024, 08:38 Kui -15 käib pump 100% ajast, siis miks ei võiks -5 juures hinnatippe vältida, kui pumbal selleks võhma jätkub?
Sest -15C ja -5C vahe pumba käimises on palju väiksem kui sa arvad, kui maja vähegi sooja peab.
Suurusjärk 10%. Sooja vett on ju sul nagunii kogu aeg vaja ning see tegelikult moodustab üsna olulise osa tarbimisest.

Kui nüüd arvestada seda, et sul pump suudab tunnis 10% rohkem umbes teha, kui vaja, siis olenevalt sellest, kuidas näeb välja hinnagraafik, saad 10-30% nt. ette kütta järgmisest tunnist (oleneb mitu tundi enne on hind odav). Arvesta ka seda, et öösel on tavaliselt külmem ja see 10%, mis ta seisab on pigem just päeval, mitte öösel.

10 kW MSP tarbimine, kui see 1h käib on suurusjärk 2.5-3kWh, olenevalt efektiivsusest.

Kui sa suudaksid isegi kuidagi 30% vähendada kallil tunnil tarbimist, siis oleks ühe sellise hüppe pealt kokkuhoid umbes 30 senti. Ehk siis aastas heal juhul hoiaks kokku 50 eurot.
Kui pump on üledimensioneeritud, siis oleks see number suurem, või kui on tegemist väga suurt võimsust omava soojuspumbaga (sest seadmel pole ju vahet kui võimsa pumba tarbimist ta optimeerib). Samas 10kW MSP puhul - kui seade maksab 120-150 eurot, siis ainuüksi selle seadme hinna tagasi tegemiseks on juba aastaid vaja.

See asi ei ole lihtsalt nii, et vaatad palju on kahe tunni erinevus hinnas ja kohe paned automaatselt võiduna kirja selle. See on kliendile näkku valetamine.

Kui need analüüsid läbi tehtud said, siis jätsingi asja sinnapaika. Muidu seade raua poole pealt on toimiv ja saan soojuspumbale ette kuvada ükskõik millise välisõhu temperatuuri.
Vasta