Šta je novo?

Pametna kuća (Smart home) - Diskusija, pitanja, ideje

To je uobicajeno pitanje a takav je i odgovor da umesto bazicnog softvera treba napredniji softver kao sto je Home Assistant. Da ti ustedim malo vremena, to je racunarski (serverski) softver koji mora biti instaliran i aktivan na mrezi sve vreme radi konstantnog ocitavanja meraca, znaci nije samo jos jedna aplikacija za telefon.
 
Ok. A za Home Asistent da li mora racunar ili ima neki kao server ili nesto manje sto igra ulogu racunara a pristupa se sa telefona.. da ne ostavljam jedan laptop da rari stalno
 
Mogu da se koriste jeftini minijaturni racunari rPi u svrhu servera, bilo sta sto zadovoljava minimalne hardverske zahteve za HA.
 
Ima li neko HA config za merenje troškova električne energije koji potroše uređaji?

Imao sam na staroj instanci HA već podešeno za skupu i jeftinu tarifu, međutim zagubih negde backup, a instancu obrisao. Probao sam sa chatgpt, ali daje neke gluposti koje ne rade.
Izgleda da polovina foruma koja koristi HA meri potrošnju preko raznih uređaja, a niko koliko ta potrošnja košta. :)
 
Iskren da budem, meni je cena za kWh kod nas, prilicna dubioza sa onim raznim stavkama koje menjaju (uvecavaju) cenu znacajno, koristim samo formulu, (racun cena / ukupno kWh) da dobijem cenu za kWh, pa to puta potrosnja kWh za uredjaj.
 
To stoji, zato mi je cilj da dodam bar okvirno, odnosno zvanične cene jeftine i skupe tarife u zelenoj zoni + 20% PDV.
 

ringeee,​

Ako se opredeliš za Home Assistant, onda treba da imaš neki uređaj na kome ćeš ga instalilrati i da taj uređaj radi 24/7. Ja sam kupio polovan mini PC (100€) i na njemu ga instalirao. To je overkill za ovakav server pošto je HA nezahtevan i hardver nije iskorišćen. Druga opcija je bila da kupim Rapsberry Pi + SD karticu, što bi me izašlo manje-više isto novca.
Home Assistant ne možeš da instaliraš kao aplikaciju na Windowsu ili macOS. Možeš na Linux-u koji je Debian based (ali najbolje baš Debian), ali time gubiš neke od opcija (Add-ons). Mislim da je najjednostavinije da se instalira, ne kao aplikacija, već kao sam OS (HAOS).
Inače, ne moraš da se odlučiš za HA, imaš i OpenHAB ili Domoticz (a verovatno i još ponešto).

optical,​

Nisam još uvek našao kako da implementiram našu skupu/jeftinu tarifu + zelenu/plavu/crvenu zonu. Ali ne znam ni da li će biti bitno ako krenu sa ovim dinamičnim tarifama kako najavljuju.
Trenutno merim samo kWh, a onda preračunam preko prosečne cene električne energije koju su mi naplatili za taj mesec (sa taksama, akcizama, nametima i pretplatama). Nije baš najpreciznije, ali meni je dovoljno dobro. Za najveće potrošače (npr. bojler) sam uradio download podataka i lokalno, kroz sheetove, odradio formule da vidim koliki procenat radi u jeftinoj, a koliki u skupoj tarifi. Za toplotnu pumpu mi je malo komplikovanije pošto zavisi od vremenskih prilika. Obično za grejanje troši više noću, a za hlađenje više danju, ali se iz meseca u mesec menja koliko je to. Pro prosečnoj ceni, grejanje TP me je novembra koštalo oko 5700 dinara. Da li je par stotina dinara više ili manje to mi ne igra neku ulogu.

Za svu potrošnju struje vodim lokalno evidenciju (zato što sam data geek) i ovako mi izgleda poslednji proračun za jan-okt 2024.:
1733593878592.png
Pošto još uvek dodajem merače potrošnje, polako dobijam sve preciznije podatke.
Inače, imamo temu vezanu za cenu i potrošnju struje: https://forum.benchmark.rs/threads/koliki-vam-je-račun-za-struju.377856/
 

optical,​

Nisam još uvek našao kako da implementiram našu skupu/jeftinu tarifu + zelenu/plavu/crvenu zonu. Ali ne znam ni da li će biti bitno ako krenu sa ovim dinamičnim tarifama kako najavljuju.
Trenutno merim samo kWh, a onda preračunam preko prosečne cene električne energije koju su mi naplatili za taj mesec (sa taksama, akcizama, nametima i pretplatama). Nije baš najpreciznije, ali meni je dovoljno dobro. Za najveće potrošače (npr. bojler) sam uradio download podataka i lokalno, kroz sheetove, odradio formule da vidim koliki procenat radi u jeftinoj, a koliki u skupoj tarifi. Za toplotnu pumpu mi je malo komplikovanije pošto zavisi od vremenskih prilika. Obično za grejanje troši više noću, a za hlađenje više danju, ali se iz meseca u mesec menja koliko je to. Pro prosečnoj ceni, grejanje TP me je novembra koštalo oko 5700 dinara. Da li je par stotina dinara više ili manje to mi ne igra neku ulogu.

Za svu potrošnju struje vodim lokalno evidenciju (zato što sam data geek) i ovako mi izgleda poslednji proračun za jan-okt 2024.:
Pogledajte prilog 470476
Pošto još uvek dodajem merače potrošnje, polako dobijam sve preciznije podatke.
Inače, imamo temu vezanu za cenu i potrošnju struje: https://forum.benchmark.rs/threads/koliki-vam-je-račun-za-struju.377856/
Super ti izgleda ovo. Kako je kod mene radilo i šta mi je cilj bar za početak. Namestio sam merenje troškova preko opcije "Use an entity with current price" u okviru energy dashboarda i za to zakačio sve energy entitete uređaja koji ih imaju. Dakle ništa komplikovano. Entitet trenutne cene bi trebao da se menja preko automatizacije na osnovu doba dana. Dakle nema zona, već samo jeftina i skupa tarifa. Ono što mi je chatgpt dao ne radi, pošto se stanje nikada ne menja, uvek stoji RSD 0 za sve. Nisam trenutno kod kuće, pa ne mogu da iskopiram .yaml.
 

ringeee,​

Home Assistant ne možeš da instaliraš kao aplikaciju na Windowsu ili macOS. Možeš na Linux-u koji je Debian based (ali najbolje baš Debian), ali time gubiš neke od opcija (Add-ons). Mislim da je najjednostavinije da se instalira, ne kao aplikacija, već kao sam OS (HAOS).
Inače, ne moraš da se odlučiš za HA, imaš i OpenHAB ili Domoticz (a verovatno i još ponešto).
Ne može kao aplikaciju, ali može u docker kontejneru na bilo kom operativno sistemu. Cisto kao opcija da stoji i to.
 
Radim povezivanje wifi osiguraca preko Tuya Cloud API pa vam saljem instrukcije. U sustini ocitavanje wifi termometra + spoljasnje temp + real time potrosnja kw iz minut u minut da se vide pikovi i gasenje kompresora
 
Za implementaciju skupe/jeftine možete da ispratite uputstvo sa sledećeg linka, ja sam tako namestao i sećam se da je radilo sve kako treba

Da se u celu priču dodaju i zone je malo komplikovanije, ne znam kako bih najjednostavnije podelio rešenje sa vama, probacu da pregledam malo yaml da li može iz njega
 
Treba mi pomoc. Menjao sam operatera(ruter).
Bio sam na mts-ov vdsl. Sada sam na supernovinoj optici.
Ko je na toj optici, samo u PP da mi objasni sta da uradim i podesim na ruteru, da mogu opet kao ranije, da se konektujem na HomeAssistant preko app. 😊
Da se javno zahvalim clanu @JA93 koji mi je pomogao da izbegnem povezivanje preko ipv6, vec da to odradim preko Tailscale.
Evo ga tutorijal za sve koji budu u istom problemu/nedoumici:


Do 7-og minuta je sve podeseno i radi. Nakon toga prica o domenu.

Mene interesuje da li ako se kupi neki domen i odradi kao u ostatku tutorijala, na mobu apk homeassistant nece biti zavisna od tainscale-a? Tacnije da li izbegavam da tainscale van kuce bude na mobu upaljen 24/7, zbog notifikacija...?
 
Nisam presekao faze.. ovo radi ko amper klješta. Nego su zice kratke. Zategnute kao strune a stezaljke velike moze zica od 1cm debljine da udje i nije moglo da stane pa sam ih produžio..
Izvini što se vraćam na ovo, ali ako sam dobro shvatio, ovo zaokruženo na slici su produžeci tri faze koje si izveo uz pomoć klema i dodatne žice? Neću da preuveličavam i karikiram, ali baš bih ti savetovao da ti to pogleda neki profi električar.

Screenshot_20241206_154035_Gallery.jpg
 
Da ali nisu luster kleme. Ovo su velike kleme. Ne greje se nista. Spoj je bolji nego na osiguraču. Ovo su kleme ne za 1.5, 2.5 preseke nego za presek 6 i imaju velike zavrtnje
 
nije ni rekao da su luster kleme (iako se tako strucno zovu) nego kleme. A dalje ne bih komentarisao
 
Ok. Nego ne razumem zašto bi pre nešto falilo na ovom spoju, koji je žestoko stegnut i ne greje se, nego na spoju šrafčeta na osiguraču? Ajd ako ima neki električar da mi objasni.. jedini problem kod ovog je sto je ruzno, ali to cu vec rešiti vecom tablom pa cu popakovati..
Najmanji problem je da upredem po 3cm zice, zalemim i navucem termo bužur kad budem pakovao.. ali ne vidim problem ni ovde sem estetike
 
Ako ćeš već da menjaš tablu, onda stavi i neke krštene merače potrošnje koji mogu na DIN šinu.
Pozdrav
 
Možeš i to da imaš, sigurno, samo je pitanje kako.
Home Assistant je verovatno jedan način, ne znam ima li drugih, jednostavnijih/jeftinijih.
Pozdrav
 
Da li vam se dešava da se automatizacija u HA (npr uključivanje klime na određenoj temperaturi) iako je ispunjen uslov, ponekad ne startuje?
 
Desava se ukoliko se integracija zaglupi, meni na primer neke WLED sa vremena na vreme zakovu, pa ne menjaju boju, a u HA se vide kao unavailable u nekim trenutcima.
 
Sada sam proverio ni senzor temperature ni klima nisu bili unavailable, a i da jesu, temperatura se smanjima za ceo stepen od zadate, pa mi nije jasno što se nije uključila kasnije
 
Uradio sam povezivanje sa Tuya cloud ko zeli da prati npr. potrosnju iz minut u minut ili mozda svakih 10 sekundi. Morate podici server lokalno ili ako vec imate samo promenite API keys i to je to:

fajl: fetch_data.php
PHP:
<?php

// Configuration
$client_id = "xwnaaaaaaaaaaaaae8y";
$secret = "0df419aaaaaaaaaaaaaaad37872d";

// Generate current timestamp in milliseconds
$t = (string)(round(microtime(true) * 1000));
$nonce = uniqid(); // Generate a unique nonce

// Tuya API endpoint for token generation
$token_url = "https://openapi.tuyaeu.com/v1.0/token?grant_type=1";

// HTTP method
$http_method = "GET";

// Content-SHA256 (empty body for GET requests)
$content_sha256 = hash('sha256', '');

// Optional signature key (if none, use an empty string)
$optional_signature_key = "";

// Construct the string to sign for the token request
$token_string_to_sign = $http_method . "\n" .
    $content_sha256 . "\n" .
    $optional_signature_key . "\n" .
    "/v1.0/token?grant_type=1";

// Create the HMAC-SHA256 signature for the token request
$token_sign = strtoupper(hash_hmac('sha256', $client_id . $t . $token_string_to_sign, $secret));

// cURL setup for token request
$curl = curl_init();
curl_setopt_array($curl, [
    CURLOPT_URL => $token_url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "client_id: $client_id",
        "sign: $token_sign",
        "t: $t",
        "sign_method: HMAC-SHA256"
    ],
]);

// Execute the token request and fetch response
$response = curl_exec($curl);
$http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);

// Check token response
if ($http_code === 200) {
    $data = json_decode($response, true);
    $access_token = $data['result']['access_token'];

    // Now use the access token to fetch device status
    $t = (string)(round(microtime(true) * 1000)); // Update timestamp
    $nonce = uniqid(); // Generate a unique nonce again

    // Endpoint details
    $base_url = "https://openapi.tuyaeu.com";
    $endpoint = "/v1.0/iot-03/devices/status";
    $query_params = "?device_ids=bf81fa81648d939f331py1";
    $url = $endpoint . $query_params;

    // Construct the string to sign for device status request
    $status_string_to_sign = $client_id . $access_token . $t . $nonce . $http_method . "\n" .
        $content_sha256 . "\n" .
        $optional_signature_key . "\n" .
        $url;

    // Create the HMAC-SHA256 signature for the device status request
    $status_sign = strtoupper(hash_hmac('sha256', $status_string_to_sign, $secret));

    // cURL setup for device status request
    $curl = curl_init();
    curl_setopt_array($curl, [
        CURLOPT_URL => $base_url . $url,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_HTTPHEADER => [
            "sign_method: HMAC-SHA256",
            "client_id: $client_id",
            "t: $t",
            "nonce: $nonce",
            "Content-Type: application/json",
            "sign: $status_sign",
            "access_token: $access_token"
        ],
    ]);

    // Execute the device status request and fetch response
    $status_response = curl_exec($curl);
    $status_http_code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
    curl_close($curl);

    // Check device status response
    if ($status_http_code === 200) {
        $status_data = json_decode($status_response, true);
        if (!empty($status_data['result'][0]['status'])) {
            $status_list = $status_data['result'][0]['status'];
            $cur_power = null;

            // Extract the cur_power value
            foreach ($status_list as $status) {
                if ($status['code'] === 'cur_power') {
                    $cur_power = $status['value'];
                    break;
                }
            }

            if ($cur_power !== null) {
                // Return `cur_power` and `timestamp` as JSON
                echo json_encode([
                    'timestamp' => date('Y-m-d H:i:s'),
                    'cur_power' => $cur_power,
                ]);
                exit;
            } else {
                echo json_encode(['error' => 'cur_power not found']);
                exit;
            }
        } else {
            echo json_encode(['error' => 'Device status data not available']);
            exit;
        }
    } else {
        echo json_encode(['error' => 'Error fetching device status']);
        exit;
    }
} else {
    echo json_encode(['error' => 'Error fetching access token']);
    exit;
}

a ovo je frontend code - fajl real_time_power.html :
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Power Graph</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <h1>Real-Time Power Graph</h1>
    <canvas id="powerChart" width="800" height="400"></canvas>
    <script>
        // Initialize the chart
        const ctx = document.getElementById('powerChart').getContext('2d');
        const powerChart = new Chart(ctx, {
            type: 'line',
            data: {
                labels: [], // Timestamps will be added here
                datasets: [{
                    label: 'Current Power (W)',
                    data: [], // Power values will be added here
                    borderWidth: 1,
                    borderColor: 'blue',
                    backgroundColor: 'rgba(0, 0, 255, 0.1)',
                }]
            },
            options: {
                responsive: true,
                scales: {
                    x: {
                        title: {
                            display: true,
                            text: 'Timestamp'
                        }
                    },
                    y: {
                        title: {
                            display: true,
                            text: 'Current Power (W)'
                        },
                        beginAtZero: true
                    }
                }
            }
        });

        // Function to fetch data and update the chart
        function fetchDataAndUpdateChart() {
            $.ajax({
                url: 'fetch_data.php', // Replace with the correct path to your PHP file
                method: 'GET',
                dataType: 'json', // Ensure response is parsed as JSON
                success: function (response) {
                    // Check if cur_power and timestamp exist in the response
                    if (response.cur_power !== undefined && response.timestamp !== undefined) {
                        console.log("Data received:", response); // Debug log for data

                        // Add new data to the chart
                        powerChart.data.labels.push(response.timestamp);
                        powerChart.data.datasets[0].data.push(response.cur_power/10000);

                        // Limit data points for better performance (e.g., max 20 points)
                      

                        // Update the chart
                        powerChart.update();
                    } else {
                        console.error("Invalid data format:", response);
                    }
                },
                error: function (xhr, status, error) {
                    console.error("AJAX Error:", status, error);
                }
            });
        }

        // Fetch data every 10 seconds
        setInterval(fetchDataAndUpdateChart, 10000);

        // Initial call to populate the chart immediately
        fetchDataAndUpdateChart();
    </script>
</body>
</html>


Mozda nije mesto ovde ali moguce da ce nekom biti od koristi da prati potrosnju preko Tuya cloud API-ja I sve to remote
 
Ne ponasa se kao obican prekidac jer obican prekidac prekida samo jednu zicu, fazu ili nulu, a prema tvojoj semi, ovaj spaja fazu na nulu preko otpornika. Ili je to na semi mozda potrosac. U ovom slucaju bi sva potrosnja isla i kroz termostat, sto se generalno ne radi.
Druga mogucnost, koja mi ima vise smisla je da je ovo prekidac bez nule. Zapravo, nije ni bitno da li dovodis 220 ili bilo koju zicu jer je mehanicki na bazi bimetala.
Ja bih proverio da li je plava zica zapravo 0. Jeste ona plava, ali verovatno samo zato sto je takav kabl iskoriscen. Takodje bih proverio i da li je braon uopste 230v.
Neki sistemi imaju poptuno odvojene signalne kontakte koji nemaju veze sa mreznim naponom (dry contact)
Izvini, malo kasnim sa odgovorom. Na braon žici glinerica svetli, tako da bih rekao da je to faza. Takođe unimerom kad merim ima 240V između njih.
Da li to znači da onaj termostat iz originalno pošta ne bi radio kod mene? Ili da gledam one termostate na 220V kad već (izgleda) imam struju tu?
Takođe te dve žice što idu u termostat sa druge strane izlaze iz peći. Gde su u peći nakacene ne bih znao.
 
Šta je napovoljnije da se kupi kao ruter/hub za HA za jedan Matter over Thread uređaj?
 
Šta je napovoljnije da se kupi kao ruter/hub za HA za jedan Matter over Thread uređaj?
Ufff......Mozda SLZB-06M!!! Odmah da se ogradim SLZB-06M nije ruter/hub, vec koordinator!!!

A sto se tice ruter/hub po meni Aqara M2/M3, po meni!!!

Da li je to najpovoljnije (mogucnist/cena) ne znam, ali radi sve sto ti treba!
 
Poslednja izmena:
Nazad
Vrh Dno