P1 HAN - liitäntäportti

Matti1965

Aktiivinen jäsen
Tuohan oli ammattimaisin vastaus mitä voi saada. Kun eivät tue niin eivät väitä tukevansa. Se ei estä sitä ettetkö itse voisi sitä tukea ja saada toimimaan.
Tarkoitin sillä lailla että olisi syytä selvittää yksi Shellyn tavallisimmin käytössä olevan yhteensopivuus. Listassa oli paljon sellaisia mistä en ole kuullutkaan. Itse ajattelin että on pakko olla sopiva kun paljon muitakin Shellyltä, ja eihän niiden välillä varmaan suuria eroja ohjelmissa.
 

Arisoft

Hyperaktiivi
Tarkoitin sillä lailla että olisi syytä selvittää yksi Shellyn tavallisimmin käytössä olevan yhteensopivuus. Listassa oli paljon sellaisia mistä en ole kuullutkaan. Itse ajattelin että on pakko olla sopiva kun paljon muitakin Shellyltä, ja eihän niiden välillä varmaan suuria eroja ohjelmissa.

Asiaa voi ajatella monella tavalla mutta kun puhutaan tukemisesta tarkoitetaan että asian on panostettu ja se kohdelaite tunnetaan. Jos ei ole edes kokeiltu niin ei voi sanoa tukevansa. Eivät näin ota vastuuta minkään ongelman selvittämsiestä kun eivät mitään lupaa.

Vastakohta olisi sitten se, että tietoisesti ovat tehneet laitteesta epäyhteensopivan niin, että se kieltäytyy toimimasta. Tähän väliin jää sitten ne laitteet, joiden toimimisesta vastaa se, joka on ne laittaa toimimaan. Henkilö, joka tuntee molemmat laitteet voinee ihan itse päätellä saako ne toimimaan keskenään ja mitä se vaatii. Ja jos tuleee ongelmaa niin toivon mukaan osaa ne ratkaista.
 

-Teme-

Vakionaama
Tarkoitin sillä lailla että olisi syytä selvittää yksi Shellyn tavallisimmin käytössä olevan yhteensopivuus. Listassa oli paljon sellaisia mistä en ole kuullutkaan. Itse ajattelin että on pakko olla sopiva kun paljon muitakin Shellyltä, ja eihän niiden välillä varmaan suuria eroja ohjelmissa.
Tuossa menee nyt pari asiaa sekaisin.
Cozify HAN ei ohjaa mitään, vaan siitä luetaan mittarin tuottama tieto IP verkon kautta.
Saat tehtyä PRO 3 laitteeseen skriptin, mikä lukee Cozify HAN laitteen IP osoitteesta dataa ja sen perusteella tehtyä Pro3 laitteeseen ohjaukset.
Pro3 laite ei ole tuettuna Cozify Zen ja Ion alustoilla, jotka ovat ohjausjärjestelmiä. Näihin Zen & Ion voi liittää Han laitteen ja Ion/Zen alustalla tehdä ohjaukset tuettuihin laitteisiin.

Shellyn ohjauksia saa hyödynnettyä suoraan kun 3.osapuolen laite on varustettu Powered by Shelly mikropiirillä ja Shellyn softalla. Tähän Cozify ei ole lähtenyt.
 

Matti1965

Aktiivinen jäsen
Saat tehtyä PRO 3 laitteeseen skriptin, mikä lukee Cozify HAN laitteen IP osoitteesta dataa ja sen perusteella tehtyä Pro3 laitteeseen ohjaukset.
Juuri tätä asiaa ajattelin että pitäisi olla toimiva, kun he vastasivat ettei ole yhteensopiva. En sitten ymmärtänyt täysin mistä oli kyse. Ymmärrän kyllä ettei laite itse ohjaa mitään.
 

-Teme-

Vakionaama
näin jossakin FB ryhmässä postauksen ja skriptin mikä asennettu Shellyn plugiin ja se lukee Cozify Han laitteesta energiatietoja, niin samalla skriptillä saa ohjattua pro relettä
 

Matti1965

Aktiivinen jäsen

-Teme-

Vakionaama
Sama dokumentti, mutta oli jossakin toisessa paikasas. En tuota foorumia itse seuraa.
skriptissä kun vaihtaa "Shelly.call("Switch.Set", { id: 0, on: false });" kohdasta id: 0 vaikka id:1 ohjaa relettä 2 ja id:2 = rele 3
Vastaava muutos pitää tehdä paria riviä alempaa myös { id: 0, on: true } kohdasa
 

Matti1965

Aktiivinen jäsen
Eli miten nyt on? Unohdetaan tyhmyyteni yhteensopivuudesta, se ilmeisesti liittyy HUB:iin.

Jos Cozify-HAN:in IP:ltä lukee Shellyllä tiedot, miten silloin voidaan estää tehomaksuja? Tehomaksu käsittääkseni lasketaan kokonaistehosta, ei yksittäisen vaiheen tehosta. Skripti mitä annettu tässä: https://www.cozify.fi/blogs/blog/make-your-electricity-smarter-now-with-shelly tutkii yksittäisen. Linkissä sanotaan: "Samalla tavalla sähköverkkoyhtiöiden huipputehomaksuja voidaan hallita ohjaamalla vaihekohtaisia kulutuspiikkejä." Eli ei taida onnistua.
 

-Teme-

Vakionaama
Käytännössä pitää olla yks ”master” laite mikä seuraa kulutusta ja ohjaa sen jälkeen yksittäisiä laitteita päälle/pois tai säätää tehoa jotta kuorma pysyy halutussa rajassa.
Jos useampi laite seuraa kuormaa yhtä aikaa ja niillä kaikilla on oma ohjaus tietämättä muista niin kuormien ohjaus voi olla aika villiä, kun kaikki ohjailee kuormia päälle/pois ilman mitään kokonaiskuvaa
 

Matti1965

Aktiivinen jäsen
Käytännössä pitää olla yks ”master” laite mikä seuraa kulutusta ja ohjaa sen jälkeen yksittäisiä laitteita päälle/pois tai säätää tehoa jotta kuorma pysyy halutussa rajassa.
Jos useampi laite seuraa kuormaa yhtä aikaa ja niillä kaikilla on oma ohjaus tietämättä muista niin kuormien ohjaus voi olla aika villiä, kun kaikki ohjailee kuormia päälle/pois ilman mitään kokonaiskuvaa
Minulla on Pro3 ohjaamassa kattilan vastuksia. Siihen ajattelin laittaa skriptin, ja se sitten tarvittaessa katkoo vastukset pois. Vastuksista tulee jo tehomaksu vartissa (jos esitys menee läpi) mutta voisi yrittää pitää se pienenä. Tässä nyt vaan sitä ajan takaa että Shelly ei ilmeisesti saa tietoa yhteiskuormasta Cozifyi:ltä, vaan Cozify tarkastelee vaiheet erikseen. Miten saa Shellylle ynnättyä kaikki vaiheet yhteen? Voiko sellaista skriptiä tehdä?
 
Viimeksi muokattu:

-Teme-

Vakionaama
Minulla on Pro3 ohjaamassa kattilan vastuksia. Siihen ajattelin laittaa skriptin, ja se sitten tarvittaessa katkoo vastukset pois. Vastuksista tulee jo tehomaksu vartissa (jos esitys menee läpi) mutta voisi yrittää pitää se pienenä. Tässä nyt vaan sitä ajan takaa että Shelly ei ilmeisesti saa tietoa yhteiskuormasta Cozifyi:ltä, vaan Cozify tarkastelee vaiheet erikseen.
Pitäisi tuntea tuon Cozify HAN laitteen antaman datan rakenne.
Itselläni on tuollainen Cozifyn laite, mutta ei ole mittaria mihin sen asentaa.
 

Matti1965

Aktiivinen jäsen
Pitäisi tuntea tuon Cozify HAN laitteen antaman datan rakenne.
Itselläni on tuollainen Cozifyn laite, mutta ei ole mittaria mihin sen asentaa.
Tässä kaksi erinäköistä skriptiä, molemmat Cozifyin sivuilta. Mikähän ero. Olisikohan tuo toinen kokonaisamppeereille.
 

Liitteet

  • Screenshot_10-12-2025_221029_cdn.shopify.com.jpeg
    Screenshot_10-12-2025_221029_cdn.shopify.com.jpeg
    222,6 KB · Katsottu: 23
  • Screenshot_10-12-2025_221128_www.cozify.fi.jpeg
    Screenshot_10-12-2025_221128_www.cozify.fi.jpeg
    194,7 KB · Katsottu: 23

jussipa

Aktiivinen jäsen
Minulla on Pro3 ohjaamassa kattilan vastuksia. Siihen ajattelin laittaa skriptin, ja se sitten tarvittaessa katkoo vastukset pois. Vastuksista tulee jo tehomaksu vartissa (jos esitys menee läpi) mutta voisi yrittää pitää se pienenä. Tässä nyt vaan sitä ajan takaa että Shelly ei ilmeisesti saa tietoa yhteiskuormasta Cozifyi:ltä, vaan Cozify tarkastelee vaiheet erikseen. Miten saa Shellylle ynnättyä kaikki vaiheet yhteen? Voiko sellaista skriptiä tehdä?
Tuo tehomaksu on uutisoitu taas niin että se olisi tulossa pakotettuna kaikille automaattisesti käyttöön. Moni on suorastaan paniikissa tuon kanssa. Esityksessähän mainitaan, että tarjolla pitää aina olla myös tehomaksuton vaihtoehto.

Täällä alueella toimivalla siirtoyhtiöllä ei vielä tänä päivänä ole tarjolla yhtään tehomaksullista vaihtoehtoa. En niin tarkasti ole lukenut onko sen tarjoamiselle tulossa pakko.
 

jalih

Jäsen
Moni on suorastaan paniikissa tuon kanssa. Esityksessähän mainitaan, että tarjolla pitää aina olla myös tehomaksuton vaihtoehto.

Täällä alueella toimivalla siirtoyhtiöllä ei vielä tänä päivänä ole tarjolla yhtään tehomaksullista vaihtoehtoa. En niin tarkasti ole lukenut onko sen tarjoamiselle tulossa pakko.
Mitä luulet, jättääkö joku verkkoyhtiö käyttämättä mahdollisuuden tehdä enemmän rahaa? Tuo tehomaksuton vaihtoehto tulee todennäköisesti olemaan suhteessa paljon kalliimpi kuin tehomaksullinen.
 

jussipa

Aktiivinen jäsen
Mitä luulet, jättääkö joku verkkoyhtiö käyttämättä mahdollisuuden tehdä enemmän rahaa? Tuo tehomaksuton vaihtoehto tulee todennäköisesti olemaan suhteessa paljon kalliimpi kuin tehomaksullinen.
Sähkön siirtäminen on monopolitoimintaa ja sen vuoksi hinnoittelu on säädetty ja sitä valvotaan (https://energiavirasto.fi/siirtohinnoittelun-valvonta). Eli ei mitään övereitä pysty perimään. Ainakin meillä on aika takapajuinen tuo sähköyhtiö. Ei esim tarjoa varttihinnoiteltua sähköä pörssiasiakkaille jne. Luulen että ei tule tehomaksut ihan vähällä käyttöön.

Uutisointia tässä lähinnä kritisoin. Asia on tuotu julkisuuteen niin, että ihmiset luulevat että se tehomaksu tulee automaattisesti kaikille ja vieläpä suunnilleen heti. Olen aika montaa henkilöä joutunut toppuuttelemaan, että ei kannatta panikoida.
 

HiTec

Eipä turhia höttyillä :)
Mitä luulet, jättääkö joku verkkoyhtiö käyttämättä mahdollisuuden tehdä enemmän rahaa? Tuo tehomaksuton vaihtoehto tulee todennäköisesti olemaan suhteessa paljon kalliimpi kuin tehomaksullinen.
Esim. täällä meillä Helen Sähköverkoilla on tuo tehomaksu ollut jo vuosia käytössä aikasiirrossa, mutta yleissiirto on juurikin tämä tehomaksuton vaihtoehto. Juu, kWh hinta on korkeampi, mutta vastaavasti kk-maksu on pienempi tuossa yleissiirrossa, joka tekee sen monessa kohteessa aikasiirtoa edullisemmaksi jos ei ole sitä kuormaa jota voisi siirtää yösähkölle.

 

-Teme-

Vakionaama
Tuo Helenin tehomaksullisen ja yleissiirron leikkauspiste on 24200kWh vuosikulutuksella, kun maksimi kuorma on 20kW yöllä ja kulutusjakauma on päivä 30%/70% yö. Tuon vuosikulutusrajan jälkeen vasta yösiirto tulee edullisemmaksi
 

HiTec

Eipä turhia höttyillä :)
Enpä tuota leikkauspistettä koskaan tullut itse edes laskeneeksi, kun aikanaan siirryimme yleissiirtoon. Jotenkin vain oppinut perinteeseen että OK-talo ja aikasiirto on ikäänkuin aina pari, joskus aikanaan aikasiirtoa kun oli kaikki virka-ajan ulkopuolella ja siten viikonloputkin läpensä pelkkää aikasiirtoa, mutta nopea kalkulointi mitä tuo enää vain muutamaan tuntiin niistetty aikasiirto oikeasti maksaa, niin kipin-kapin yleissiirtoon. Juuri nuo tehomaksun komponentit yhdessä korkean kk-maksun ja pienen tuntimäärän kanssa romuttavat tämän aikasiirron idean.
 

hemaris

Aktiivinen jäsen
Tuo Helenin tehomaksullisen ja yleissiirron leikkauspiste on 24200kWh vuosikulutuksella, kun maksimi kuorma on 20kW yöllä ja kulutusjakauma on päivä 30%/70% yö. Tuon vuosikulutusrajan jälkeen vasta yösiirto tulee edullisemmaksi
~11 MWh kulutuksella ja omalla kulutusprofiililla totesin Helenin yleissiirron vs aikasiirron (+tehomaksut) kustannusten olevan suunnilleen samoja ja päädyin sen takia ottamaan Heleniltä tuon yleissiirron. Oli yksi muuttuja vähemmän funtsattavaksi.
 

Matti1965

Aktiivinen jäsen
Tuo tehomaksu on uutisoitu taas niin että se olisi tulossa pakotettuna kaikille automaattisesti käyttöön. Moni on suorastaan paniikissa tuon kanssa. Esityksessähän mainitaan, että tarjolla pitää aina olla myös tehomaksuton vaihtoehto.

Täällä alueella toimivalla siirtoyhtiöllä ei vielä tänä päivänä ole tarjolla yhtään tehomaksullista vaihtoehtoa. En niin tarkasti ole lukenut onko sen tarjoamiselle tulossa pakko.
Totta, ei ole täälläkään käytössä. Lähinnä ajattelin tulevaisuutta, mikäli jostain syystä tulisi sähköauto pihaan, silloin voi olla tarve rajoittaa 6kW vastuksia jo sulakkeiden vuoksi.
 

B12

Aktiivinen jäsen
Minulla on Pro3 ohjaamassa kattilan vastuksia. Siihen ajattelin laittaa skriptin, ja se sitten tarvittaessa katkoo vastukset pois. Vastuksista tulee jo tehomaksu vartissa (jos esitys menee läpi) mutta voisi yrittää pitää se pienenä. Tässä nyt vaan sitä ajan takaa että Shelly ei ilmeisesti saa tietoa yhteiskuormasta Cozifyi:ltä, vaan Cozify tarkastelee vaiheet erikseen. Miten saa Shellylle ynnättyä kaikki vaiheet yhteen? Voiko sellaista skriptiä tehdä?
Ei cozify, mutta tuommoinen koodi hakee Homewizardin mittarilta vaihekohtaiset ja kokonaistehon shellylle.

JavaScript:
// Shelly Gen2 (Pro 1) mJS – HWE-P1 (API v1) → Shelly Cloud UI
// Hakee active_power_w, total_import_kwh, ja vaihekohtaiset W (L1/L2/L3)

var P1_IP = "192.168.xx.xxx";          // ← Vaihda oman P1 Meterin IP:ksi

// Number-komponenttien ID:t Shellyssä:
var ID_ACTIVE_POWER_W   = "200";
var ID_TOTAL_IMPORT_KWH = "201";
var ID_PHASE1_W         = "202";
var ID_PHASE2_W         = "203";
var ID_PHASE3_W         = "204";

// Perus päivitysväli ms (oletus 10 s)
var BASE_POLL_MS = 10000;
// Maksimi backoff ms (esim. 5 min)
var MAX_POLL_MS = 5 * 60 * 1000;

// Debug-tila (true = more logging)
var DEBUG = false;

// --- Sisäinen tila ---
var lastValues = {};          // cache: id -> viimeksi asetettu arvo (number)
var consecutiveErrors = 0;
var currentPollMs = BASE_POLL_MS;

// --- Helperit ---
function dbg() {
  if (!DEBUG) return;
  // Tulostetaan kaikki argumentit yhdellä rivillä (yhteensopivampi kuin rest-param)
  try {
    print(Array.prototype.join.call(arguments, " "));
  } catch (e) {
    for (var i = 0; i < arguments.length; i++) {
      print(arguments[i]);
    }
  }
}

function isFiniteNumber(v) {
  return typeof v === "number" && isFinite(v);
}

function toNumberIfPossible(v) {
  if (isFiniteNumber(v)) return v;
  if (typeof v === "string") {
    var n = parseFloat(v);
    if (isFinite(n)) return n;
  }
  return null;
}

function setNumberIfChanged(id, rawValue, options) {
  options = options || {};
  if (!id) return;
  var n = toNumberIfPossible(rawValue);
  if (n === null) return;

  // Valinnainen pyöristys esim. kWh:lle
  if (options.round !== undefined && typeof options.round === "number") {
    var factor = Math.pow(10, options.round);
    n = Math.round(n * factor) / factor;
  }

  // Jos sama arvo kuin viimeksi, älä lähetä turhaan
  var prev = lastValues[id];
  if (prev === n) {
    dbg("No change for", id, n);
    return;
  }

  // Päivitä cache heti (estää rippuvia rinnakkaisia päivityksiä)
  lastValues[id] = n;

  try {
    Shelly.call("Number.Set", { id: id, value: n }, function (_res, ec, em) {
      if (ec !== 0) {
        print("Number.Set error:", id, em);
        // Halutessa voisi perua cache-päivityksen virheen sattuessa
      } else {
        dbg("Number.Set", id, n);
      }
    });
  } catch (e) {
    print("Exception in Number.Set:", e);
  }
}

// --- P1-kysely ---
function fetchP1v1() {
  dbg("Fetching P1:", P1_IP);
  Shelly.call("HTTP.Request", {
    url: "http://" + P1_IP + "/api/v1/data",
    method: "GET",
    timeout: 7
  }, function (res, code, msg) {
    if (code !== 0 || !res || !res.body) {
      print("HTTP error:", code, msg || "");
      consecutiveErrors++;
      // eksponentiaalinen backoff
      currentPollMs = Math.min(BASE_POLL_MS * Math.pow(2, consecutiveErrors), MAX_POLL_MS);
      dbg("Increasing poll interval to", currentPollMs, "ms (errors:", consecutiveErrors, ")");
      scheduleNext(currentPollMs);
      return;
    }

    try {
      var d = JSON.parse(res.body);

      // Hetkellinen teho (W)
      setNumberIfChanged(ID_ACTIVE_POWER_W, d.active_power_w);

      // Kokonaistuonti (kWh) — pyöristetään esimerkkinä 3 desimaaliin
      setNumberIfChanged(ID_TOTAL_IMPORT_KWH, d.total_import_kwh, { round: 3 });

      // Vaihekohtaiset tehot (W)
      setNumberIfChanged(ID_PHASE1_W, d.active_power_l1_w);
      setNumberIfChanged(ID_PHASE2_W, d.active_power_l2_w);
      setNumberIfChanged(ID_PHASE3_W, d.active_power_l3_w);

      // Onnistunut haku: nollaa virheet ja poll-interval takaisin perusarvoon
      if (consecutiveErrors > 0) {
        dbg("P1 reachable again, resetting error count");
      }
      consecutiveErrors = 0;
      currentPollMs = BASE_POLL_MS;

    } catch (e) {
      print("JSON parse error:", e);
      consecutiveErrors++;
      currentPollMs = Math.min(BASE_POLL_MS * Math.pow(2, consecutiveErrors), MAX_POLL_MS);
    }

    scheduleNext(currentPollMs);
  });
}

var timerId = null;
function scheduleNext(ms) {
  if (timerId) Timer.clear(timerId);
  timerId = Timer.set(ms, false, fetchP1v1);
}

// Aloitus: käynnistä ensimmäinen pyyntö vähän viiveellä (ei heti bootissa)
scheduleNext(1000);

Tuon näköinen kikkare shellyn dashboardissa. Lämminvesivaraaja on ryhmän nimi, koska skripti on varaajan releessä.

1765472363480.png



Koodi on tekoälyllä tehty ja tekoälyn tarkastama, joten älkää kyselkö miksi mikäkin on mitenkin :)
 
Viimeksi muokattu:

Matti1965

Aktiivinen jäsen
Tässä kaksi erinäköistä skriptiä, molemmat Cozifyin sivuilta. Mikähän ero. Olisikohan tuo toinen kokonaisamppeereille.
Tiedoksi:
Kaikki toimii kuten halusin sillä oikeanpuoleisella skriptillä. Testasin Shelly Pro3:lla. Asetin rajoiksi molempiin kohtiin 4A, ja valitsin id1. Hienosti lähti 2-lähtö päälle ja heti kun kaikkien vaiheiden kokonaisvirta ylitti 4A, se katkaisi. Taas kun alitti kytki takaisin. Ei muutakuin sähköautoa odottelemaan :)

Edit: Eipä toimikaan. Shelly saa vain eri vaiheiden tiedot ja katkoo mikäli joku niistä ylittää asetetun arvon. Miten saisi laskettua yhteen Cozifyin kaikki kolme. En tiedä mikä ero toiminnassa noiden kahden skriptin välillä.

Edit2: Kokeilin toista skriptiä, sama toiminta. Shelly ei saa kokonaisamppeereja.
 
Viimeksi muokattu:

HiTec

Eipä turhia höttyillä :)
Edit: Eipä toimikaan. Shelly saa vain eri vaiheiden tiedot ja katkoo mikäli joku niistä ylittää asetetun arvon. Miten saisi laskettua yhteen Cozifyin kaikki kolme. En tiedä mikä ero toiminnassa noiden kahden skriptin välillä.

Edit2: Kokeilin toista skriptiä, sama toiminta. Shelly ei saa kokonaisamppeereja.
No tuollahan on tuo maxCurrent, johon poimitaan se yksittäisen vaiheen tieto, joka ei saa ylittää 20. Tuon sijaan nuo vaiheet data.i pitää laskea yhteen, jos haluaa sille kok.teholle asettaa rajat. Tosin Math.sum.apply() ei ole olemassa, niin tuo summa pitää laskea ihan vain vaikka lyhkäsellä loopilla lisäämällä ne arvot toisiinsa ja toki se summa pitää sitten muistaa myös nollata jossain kohtaa, jotta ei 1s kuluttua seuraavalla kierroksella vain lasketa yhä lisää siihen samaan summaan ;)
 

Matti1965

Aktiivinen jäsen
No tuollahan on tuo maxCurrent, johon poimitaan se yksittäisen vaiheen tieto, joka ei saa ylittää 20. Tuon sijaan nuo vaiheet data.i pitää laskea yhteen, jos haluaa sille kok.teholle asettaa rajat. Tosin Math.sum.apply() ei ole olemassa, niin tuo summa pitää laskea ihan vain vaikka lyhkäsellä loopilla lisäämällä ne arvot toisiinsa ja toki se summa pitää sitten muistaa myös nollata jossain kohtaa, jotta ei 1s kuluttua seuraavalla kierroksella vain lasketa yhä lisää siihen samaan summaan ;)

Tällaista sain selvitettyä, tuli mieleen voisko yksinkertaisesti muuttaa skriptiä ja käyttää tehoa (W) rajana. Sehän siinä on jo.
  • type: Message type identifier
  • ts: Timestamp in milliseconds (Unix epoch)
  • ic: Active cumulative power imported (kWh)
  • ec: Active cumulative power exported (kWh)
  • ric: Reactive cumulative power imported (kVArh)
  • rec: Reactive cumulative power exported (kVArh)
  • p: Array of active power values (W) [Total, Phase 1, Phase 2, Phase 3]
  • pi: Array of active power consumption values (W) [Total, Phase 1, Phase 2, Phase 3]
  • pe: Array of active power overproduction values (W) [Total, Phase 1, Phase 2, Phase 3]
  • r: Array of reactive power values (VAr) [Total, Phase 1, Phase 2, Phase 3]
  • u: Array of voltage readings (V) [Phase 1, Phase 2, Phase 3]
  • i: Array of current readings (A) [Phase 1, Phase 2, Phase 3]
Tässä minun mittarista tiedot:

{
"type": "HAN_METER_MESSAGE",
"ts": 1765532241,
"ic": 184.849,
"ec": 0,
"ric": 0,
"rec": 0,
"p": [655, 0, 0, 0],
"pi": [655, 0, 0, 0],
"pe": [0, 0, 0, 0],
"r": [0, 0, 0, 0],
"ri": [0, 0, 0, 0],
"re": [0, 0, 0, 0],
"u": [0, 0, 0],
"i": [1.1, 0.1, 1.7]
}
 
Viimeksi muokattu:

Matti1965

Aktiivinen jäsen
Teoriassa ei voi kun W ei kerro ampeereista. Amperreita voi olla enemmän kuin W antaa ymmärtää.

Käytännössä se voi hyvinkin riittää koska isot tehot nykyaikaina ovat hyvällä tehokertoimella. Varauksella siis.
Sellainen huomio että Cozify laskee amppeerit ottamatta huomioon tehokerrointa. Taas Shelly pro3em laskee amppeerit näennäistehon mukaan. Kumpi on sitten oikea tapa esittää.
 
Viimeksi muokattu:

Matti1965

Aktiivinen jäsen
Teoriassa ei voi kun W ei kerro ampeereista. Amperreita voi olla enemmän kuin W antaa ymmärtää.

Käytännössä se voi hyvinkin riittää koska isot tehot nykyaikaina ovat hyvällä tehokertoimella. Varauksella siis.
"Tontilla" se varmaan pysyy. Pitää kokeilla muuttaa skriptiä ja testata jossain vaiheessa.
 

Arisoft

Hyperaktiivi
Sellainen huomio että Cozify laskee amppeerit ottamatta huomioon tehokerrointa. Taas Shelly pro3em laskee amppeerit näennäistehon mukaan. Kumpi on sitten oikein.

Ei sen pitäisi laskea yhtään mitään koska tieto tulee mittarista ja on varmasti riittävän oikein., Miksi se tekisi jotain noin typerää? Ampeereilla ei edes ole tehokerrointa.
 

Matti1965

Aktiivinen jäsen
Ei sen pitäisi laskea yhtään mitään koska tieto tulee mittarista ja on varmasti riittävän oikein., Miksi se tekisi jotain noin typerää? Ampeereilla ei edes ole tehokerrointa.
Amppeeritieto mitä Cozify saa/ottaa mittarilta (kirjoitin tyhmästi että laskee) ei sisällä tehokerrointa, vaan on suoraan laskettu watti jaettuna voltilla. Kun katson Shellyn tietoja siinä on myös tehokerroin ja näennäisteho. Shellyn tapauksessa lasketaan amppeerit watti jaettuna tehokerroin jaettuna voltti. Eli energialaitoksen mittari ei ota huomioon tehokerrointa datassa mikä on tarjolla Cozifyille.
 
Viimeksi muokattu:

Matti1965

Aktiivinen jäsen
"Tontilla" se varmaan pysyy. Pitää kokeilla muuttaa skriptiä ja testata jossain vaiheessa.
No se joskus oli nyt, tässä on toimiva skripti joka perustuu kokonaiswatteihin, katkoo 400W kohdalla:

let COZIFY_HAN_URL = "http://xxx.xxx.xxx.xxx/meter"; // Vaihda oikea IP
let CHECK_INTERVAL = 10; // sekuntia
function checkpower() {
Shelly.call(
"http.get",
{ url: COZIFY_HAN_URL },
function (res, err_code, err_msg) {
if (res && res.code === 200) {
let data = JSON.parse(res.body);
let power = data.p; // [Total, Phase 1, Phase 2, Phase 3]
let max_power = Math.max.apply(null, power);
if (max_power > 400) {
Shelly.call("Switch.Set", { id: 1, on: false });
} else if (max_power < 400) {
// Lisää tähän muut säännöt tarvittaessa
Shelly.call("Switch.Set", { id: 1, on: true });
}
} else {
print("Virhe haettaessa Cozify HAN -dataa:", err_code, err_msg);
}
}
);
}// Aja tarkistus säännöllisesti
Timer.set(CHECK_INTERVAL * 1000, true, checkpower);
 

Arisoft

Hyperaktiivi
Amppeeritieto mitä Cozify saa/ottaa mittarilta (kirjoitin tyhmästi että laskee) ei sisällä tehokerrointa, vaan on suoraan laskettu watti jaettuna voltilla.

Tosi kummallista. Mittari kertoo ampeerit eikä niitä tarvitse yrittää laskeskella mitenkään. Kaikki mitarit mittaa ampeerit ja voltit koska mittareissa on kalusto näiden kahden mittaamiseen. Watit lasketaan, niitä ei voi mitata.
 
Viimeksi muokattu:

Arisoft

Hyperaktiivi
Eli energialaitoksen mittari ei ota huomioon tehokerrointa datassa mikä on tarjolla Cozifyille.

Energialaitoksen mittari mittaa ampeerit ja voltit ja laskee watit edellämainituista. Se ilmoittaa watit ja wattitunnit kaikilta neljältä kvadrantilta niin, että siitä voi sitten kukin laskea tehokertoimen miten tykkää. Tehokerrointa mittarit ei laske eikä ilmoita.
 

Matti1965

Aktiivinen jäsen
Energialaitoksen mittari mittaa ampeerit ja voltit ja laskee watit edellämainituista. Se ilmoittaa watit ja wattitunnit kaikilta neljältä kvadrantilta niin, että siitä voi sitten kukin laskea tehokertoimen miten tykkää. Tehokerrointa mittarit ei laske eikä ilmoita.
Saahan energialaitoksen mittarista ulos kVArh myös haluttaessa. Ainakin Landis & gyr E360 antaa ne.
 

Matti1965

Aktiivinen jäsen
Energialaitoksen mittari mittaa ampeerit ja voltit ja laskee watit edellämainituista. Se ilmoittaa watit ja wattitunnit kaikilta neljältä kvadrantilta niin, että siitä voi sitten kukin laskea tehokertoimen miten tykkää. Tehokerrointa mittarit ei laske eikä ilmoita.
Tässä kaksi kuvaa, Cozify ja Shelly. Tätä tarkoitin.
 

Liitteet

  • IMG_9020.png
    IMG_9020.png
    81,5 KB · Katsottu: 20
  • IMG_9019.png
    IMG_9019.png
    172 KB · Katsottu: 17

Arisoft

Hyperaktiivi
Saahan energialaitoksen mittarista ulos kVArh myös haluttaessa. Ainakin Landis & gyr E360 antaa ne.

kVArh on tosiaan yksikkö kahdelle niistä neljästä lasketusta lukemasta mitä mittarit ilmoittaa. Kaksi muuta ovat kWh yksiköisiä. Laskutapa sinänsä on sama mutta eri kvadrantit.

1765569204022.png


Nämä siis tulevat mittarilta ja lisäksi vastaavat joka vaiheelta vielä lisäksi. Lisäksi tulee jännitteet ja virrat joka vaiheelta.

Cozify sitten tekee luvuilla mitä tekee. Shelly näyttää samoja tietoja hieman eri nimikkeillä.
 

Matti1965

Aktiivinen jäsen
kVArh on tosiaan yksikkö kahdelle niistä neljästä lasketusta lukemasta mitä mittarit ilmoittaa. Kaksi muuta ovat kWh yksiköisiä. Laskutapa sinänsä on sama mutta eri kvadrantit.

katso liitettä 110669

Nämä siis tulevat mittarilta ja lisäksi vastaavat joka vaiheelta vielä lisäksi. Lisäksi tulee jännitteet ja virrat joka vaiheelta.

Cozify sitten tekee luvuilla mitä tekee. Shelly näyttää samoja tietoja hieman eri nimikkeillä.
Mutta ymmärsit nyt mitä tarkoitin alunperin kun vertasin Cozify ja Shelly? Niiden ilmoittamat ampeerit eivät kohtaa koska Shelly laskee näennäistehon mukaan.
 

Arisoft

Hyperaktiivi
Mutta ymmärsit nyt mitä tarkoitin alunperin kun vertasin Cozify ja Shelly? Niiden ilmoittamat ampeerit eivät kohtaa koska Shelly laskee näennäistehon mukaan.

En ymmärrä tätä logiikkaa. Ampeereita ei lasketa vaan ne mitataan. Jos joku systeemi ei ilmoita mitattuja ampeereita vaan yrittää laskea ne muista tiedoista, jotka eivät tätä tietoa edes ilmaise, niin en tosiaan ymmärrä mitä sellaisella virheellisellä toiminnalla haettaisiin. Hyväksyn toki sen, jos laitteen suunnittelija tosiaan on toimunut näin epäpätevästi ja huomioisin, että laitteen ilmoittamat tiedot ovat epätarkkoja. Ylikuorman karkeaan arviointiin ja rajoittamiseen tieto on varmastikin riittävä.
 
  • Tykkää
Reactions: tet
Back
Ylös Bottom