Powiadomienia
Wyczyść wszystko
Domoticz
138
Wpisów
7
Użytkownicy
1
Reactions
18.1 K
Wyświetleń
Tak samo jak pozostałe
Dodane : 02/05/2021 9:35 am
O to chodziło?
Dodane : 02/05/2021 9:39 am
Ładnie jest teraz :))
Dodane : 02/05/2021 9:50 am
Ładnie jest teraz :))
Teraz jeszcze ładniej 🙂
Jak można zaokrąglic dane (szczegolnie te procenty) w skrypcie?
Dodane : 02/05/2021 9:58 am
Dzięki koledze @isom który napisał dla mnie skrypt pobierający dane z dodatkowego licznika mam w domoticzu dostęp do dodatkowych danych
Oto skrypt:
local scriptVar = 'Fronius' return { on = { timer = {'every minute'}, httpResponses = { scriptVar, }, }, logging = { level = domoticz.LOG_DEBUG, marker = Fronius_Meter, }, execute = function(dz, item) local IPFronius = dz.variables('UV_FroniusIP').value -- zmienna w domoticz typ string IPFronius if item.isTimer then dz.openURL( { url = 'http://'..IPFronius..'/solar_api/v1/GetPowerFlowRealtimeData.fcgi', callback = scriptVar, }) return end if item.ok and item.isJSON then local rt = item.json.Body.Data.Site if not(rt) then dz.log('There is no Body.Data in the JSON', dz.LOG_ERROR) dz.utils.dumpTable(item.json) else dz.devices('PGE').updateCustomSensor( rt.P_Grid or 0) dz.devices('Dom').updateCustomSensor( rt.P_Load or 0) dz.devices('Samowystarczalność').updateCustomSensor( rt.rel_Autonomy or 0) dz.devices('Potrzeby_własne').updateCustomSensor( rt.rel_SelfConsumption or 0) end else dz.log('There was a problem handling the request', dz.LOG_ERROR) dz.log(item, dz.LOG_DEBUG) end end }
A oto efekt skryptu:
Dodatkowe dane to kafelki o nazwach: PGE, Dom, Samowystarczalność
Pozdrawiam kolegę @isom. Jeszcze raz wielkie dzięki.
Dodane : 02/05/2021 11:47 am
Ciekawe czy temperature falownika da sie wyiagnac z Api? Szukalem bezskutecznie jakby co.
Dodane : 02/05/2021 3:31 pm
Można po dodaniu dodatkowego modułu do falownika
Dodane : 02/05/2021 5:25 pm
Można po dodaniu dodatkowego modułu do falownika
Znowu dodatkowego? Tyle kasy kosztuje ten falownik i zeby zmierzyc mu temp to trzeba cos dokupowac?. Skandal 🙂
Zartowalem 🙂 Zapniemy DS18B20 i bedzie git.
P.S. A jednak cos jest
http://192.168.1.199/solar_api/v1/GetArchiveData.cgi?Scope=System&StartDate=02.05.2021&EndDate=02.05.2021&Channel=Temperature_Powerstage Odp: { "Body" : { "Data" : { "inverter/1" : { "Data" : { "Temperature_Powerstage" : { "Unit" : "°C", "Values" : { "0" : 0, "10200" : 0, "10500" : 0, "10800" : 0, "11100" : 0, "11400" : 0, "11700" : 0, "1200" : 0, "12000" : 0, "12300" : 0, "12600" : 0, "12900" : 0, "13200" : 0, "13500" : 0, "13800" : 0, "14100" : 0, "14400" : 0, "14700" : 0, "1500" : 0, "15000" : 0, "15300" : 0, "15600" : 0, "15900" : 0, "16200" : 0, "16500" : 0, "16800" : 0, "17100" : 0, "17400" : 0, "17700" : 0, "1800" : 0, "18000" : 0, "18300" : 0, "18600" : 34, "18900" : 35, "19200" : 36, "19500" : 37, "19800" : 38, "20100" : 38, "20400" : 39, "20700" : 39, "2100" : 0, "21000" : 40, "21300" : 40, "21600" : 40, "21900" : 41, "22200" : 41, "22500" : 41, "22800" : 41, "23100" : 42, "23400" : 42, "23700" : 42, "2400" : 0, "24000" : 43, "24300" : 43, "24600" : 43, "24900" : 41, "25200" : 41, "25500" : 42, "25800" : 43, "26100" : 43, "26400" : 44, "26700" : 44, "2700" : 0, "27000" : 43, "27300" : 42, "27600" : 43, "27900" : 44, "28200" : 44, "28500" : 45, "28800" : 44, "29100" : 43, "29400" : 43, "29700" : 44, "300" : 0, "3000" : 0, "30000" : 45, "30300" : 45, "30600" : 45, "30900" : 45, "31200" : 44, "31500" : 44, "31800" : 45, "32100" : 46, "32400" : 46, "32700" : 45, "3300" : 0, "33000" : 45, "33300" : 45, "33600" : 45, "33900" : 46, "34200" : 46, "34500" : 47, "34800" : 46, "35100" : 46, "35400" : 45, "35700" : 46, "3600" : 0, "36000" : 46, "36300" : 47, "36600" : 46, "36900" : 46, "37200" : 46, "37500" : 46, "37800" : 46, "38100" : 47, "38400" : 47, "38700" : 46, "3900" : 0, "39000" : 45, "39300" : 46, "39600" : 46, "39900" : 46, "40200" : 46, "40500" : 46, "40800" : 47, "41100" : 47, "41400" : 47, "41700" : 46, "4200" : 0, "42000" : 45, "42300" : 45, "42600" : 46, "42900" : 46, "43200" : 46, "43500" : 46, "43800" : 45, "44100" : 45, "44400" : 45, "44700" : 45, "4500" : 0, "45000" : 45, "45300" : 45, "45600" : 45, "45900" : 45, "46200" : 46, "46500" : 46, "46800" : 47, "47100" : 47, "47400" : 48, "47700" : 49, "4800" : 0, "48000" : 49, "48300" : 50, "48600" : 51, "48900" : 51, "49200" : 51, "49500" : 51, "49800" : 51, "50100" : 50, "50400" : 50, "50700" : 49, "5100" : 0, "51000" : 49, "51300" : 48, "51600" : 48, "51900" : 48, "52200" : 48, "52500" : 48, "52800" : 48, "53100" : 48, "53400" : 47, "53700" : 47, "5400" : 0, "54000" : 47, "54300" : 47, "54600" : 47, "54900" : 47, "55200" : 47, "55500" : 47, "55800" : 47, "56100" : 47, "56400" : 47, "56700" : 48, "5700" : 0, "57000" : 48, "57300" : 49, "57600" : 48, "57900" : 48, "58200" : 48, "58500" : 47, "58800" : 47, "59100" : 48, "59400" : 48, "59700" : 49, "600" : 0, "6000" : 0, "60000" : 49, "60300" : 49, "60600" : 48, "60900" : 47, "61200" : 47, "61500" : 48, "61800" : 48, "62100" : 48, "62400" : 48, "62700" : 49, "6300" : 0, "63000" : 49, "63300" : 49, "63600" : 49, "63900" : 49, "64200" : 49, "64500" : 49, "64800" : 48, "65100" : 48, "65400" : 48, "65700" : 48, "6600" : 0, "66000" : 48, "66300" : 47, "66600" : 47, "66900" : 48, "67200" : 48, "67500" : 47, "67800" : 47, "68100" : 46, "68400" : 47, "68700" : 47, "6900" : 0, "69000" : 47, "69300" : 47, "69600" : 46, "69900" : 46, "70200" : 46, "70500" : 46, "70800" : 46, "71100" : 46, "71400" : 0, "71700" : 0, "7200" : 0, "72000" : 0, "72300" : 0, "72600" : 0, "72900" : 0, "73200" : 0, "73500" : 0, "73800" : 0, "74100" : 0, "74400" : 0, "74700" : 0, "7500" : 0, "75000" : 0, "75300" : 0, "75600" : 0, "75900" : 0, "76200" : 0, "76500" : 0, "76800" : 0, "77100" : 0, "77400" : 0, "77700" : 0, "7800" : 0, "78000" : 0, "78300" : 0, "78600" : 0, "78900" : 0, "79200" : 0, "79500" : 0, "79800" : 0, "80100" : 0, "80400" : 0, "80700" : 0, "8100" : 0, "81000" : 0, "81300" : 0, "81600" : 0, "81900" : 0, "82200" : 0, "82500" : 0, "82800" : 0, "83100" : 0, "83400" : 0, "83700" : 0, "8400" : 0, "84000" : 0, "84300" : 0, "84600" : 0, "84900" : 0, "85200" : 0, "85500" : 0, "85800" : 0, "86100" : 0, "8700" : 0, "900" : 0, "9000" : 0, "9300" : 0, "9600" : 0, "9900" : 0 }, "_comment" : "channelId=65795" } }, "DeviceType" : 110, "End" : "2021-05-02T23:59:59+02:00", "NodeType" : 97, "Start" : "2021-05-02T00:00:00+02:00" } } }, "Head" : { "RequestArguments" : { "Channel" : [ "Temperature_Powerstage" ], "EndDate" : "2021-05-02T23:59:59+02:00", "HumanReadable" : "True", "Scope" : "System", "SeriesType" : "Detail", "StartDate" : "2021-05-02T00:00:00+02:00" }, "Status" : { "Code" : 0, "ErrorDetail" : { "Nodes" : [] }, "Reason" : "", "UserMessage" : "" }, "Timestamp" : "2021-05-03T06:43:51+02:00" } }
Jesli wypluwa dane archiwalne to musza gdzies byc tez dane real
Dodane : 03/05/2021 5:05 am
Znalazlem w sieci taki oto skrypt który zlicza miesięczne wartosci energii:
Niestety nie liczy mojego zuzycia przez dom poniewaz wartosci mojego zuzycia sa ze znakiem minus i skrypt wywala blad.
Czy jest ktos na forum kto dal by rade to poprawic zeby liczylo z minusem?
Oto skrypt:
local httpResponses = 'oneMonthTotal' return { on = { timer = { 'every minute' }, -- if you get data from previous months you only have to do this once a month at a quiet time -- timer = { 'on 1/* at 04:17' }, -- if you get data from previous months you only have to do this once a month at a quiet time httpResponses = { httpResponses .. '*' } }, logging = { level = domoticz.LOG_DEBUG, -- set to LOG_ERROR when script works as expected marker = httpResponses }, execute = function(dz, item) -- ****************************** Your settings below this line *************************************************** usageDevice = dz.devices(3235) -- Replace xxxx with ID of energyDevice you want to track oneMonthTotal = dz.devices(3299) -- Create as virtual managed counter (energy) and change yyyy to the ID of the new device -- ****************************** No changes required below this line ********************************************* local function logWrite(str,level) dz.log(tostring(str),level or dz.LOG_DEBUG) end local function triggerJSON(id, period, delay) local delay = delay or 0 local URLString = dz.settings['Domoticz url'] .. '/json.htm?type=graph&sensor=counter&range=' .. period .. '&idx=' .. id dz.openURL({ url = URLString, method = 'GET', callback = httpResponses .. '_' .. period}).afterSec(delay) end local function calculateoneMonthTotal(rt) local oneMonthTotal = 0 local dateFmt = '%Y-%m' monthMinus1 = os.date(dateFmt,os.time{day=1, year=dz.time.year, month=dz.time.month - 1 }) for id, result in ipairs(rt) do if result.d:sub(1,7) == monthMinus1 then logWrite(result.d .. ' ==>> ' .. result.v) oneMonthTotal = oneMonthTotal + result.v end end return oneMonthTotal * 1000 end if not item.isHTTPResponse then triggerJSON(usageDevice.id, 'year') elseif item.ok then -- statusCode == 2xx oneMonthTotal.update(0,calculateoneMonthTotal(item.json.result)) else logWrite('Could not get (good) data from domoticz. Error (' .. (item.statusCode or 999) .. ')' ,dz.LOG_ERROR) logWrite(item.data) end end }
A to zrodlo skryptu:
Dodane : 25/05/2021 2:34 pm
@kniazio twoje błędy, które wstawiłeś na angielskim forum , wskazują , że próbujesz coś liczyć ale używasz do tego złego urządzenia , jak podstawisz w tym skrypcie zamiast CustomSensor Licznik enegrii chwilowej to skrypt będzie działał .
Ty używasz w skrypcie, który napisałem CustomSensora a nie urządzenia energetycznego
Dodane : 25/05/2021 9:32 pm
@kniazio twoje błędy, które wstawiłeś na angielskim forum , wskazują , że próbujesz coś liczyć ale używasz do tego złego urządzenia , jak podstawisz w tym skrypcie zamiast CustomSensor Licznik enegrii chwilowej to skrypt będzie działał .
Ty używasz w skrypcie, który napisałem CustomSensora a nie urządzenia energetycznego
No wlasnie zauwazylem ze jak podepne pod skrypt pomiar o nazwie Aktualnie to skrypt liczy. Ale nie rozumiem tego poniewaz pomiar "Aktualnie" jest brany tak samo z Api Froniusa jak pomiar "Dom" tyle ze ze znakiem minus. Tak wiec jest mozliwosc zliczania pomiaru "Dom" czy jej nie ma ?
Dodane : 26/05/2021 4:48 am
@kniazio Na "Aktualne" działa bo ten czujnik oprócz wartości chwilowej zlicza też uzysk dzienny a CustomSensor "Dom" tego nie robi :))
Minusy w matematyce też da się sumować i mnożyć więc możliwość jest tylko trzeba sobie poczytać wiki DzVents i zamienić w skrypcie Custom sensor na poprawne urządzenie
Dodane : 26/05/2021 7:29 am
A jakas podpowiedz dla poczatkujacego donatora:)
Zmiana w skrypcie mnie nie uzadza poniewaz ja chce zliczac wartosc ujemna czyli to co dom zuzywa. Co mi da zmiana na zliczanie z urzadzenia "Aktualnie" skoro ono juz jest zliczane
Dodane : 26/05/2021 9:29 am
Dodalem do twojego skryptu "DomZ"
dz.devices('PGE').updateCustomSensor( rt.P_Grid or 0) dz.devices('Dom').updateCustomSensor( rt.P_Load or 0) dz.devices('DomZ').updateCounter( rt.P_Load or 0) dz.devices('Samowystarczalność').updateCustomSensor( rt.rel_Autonomy or 0) dz.devices('Potrzeby_własne').updateCustomSensor( rt.rel_SelfConsumption or 0)
Dodalem sensor Counter ktory u dolu pokazuje mi to samo co "Dom" czyli OK ale u gory okazuje jakies glupoty. Czy trzeba cos ustawic we wlasciwosciach tego sensora?
Dodane : 26/05/2021 11:08 am
Witam po dlugim czasie.
Dzisiaj zrobilem aktualizacje oprogramowania Fronius
Czy ktos wie co zmienilo sie w Api bo skrypt przestal mi zliczac i pokazywac energie biezaca
Link przestal dzialac
Dodane : 30/07/2021 11:28 am
Panowie problem rozwiazany:
Trzeba w skrypcie zmienic jedna literke w url do API, "D" na "d" i wszystko smiga
http://192.168.1.199/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID=1&DataCollection=CommonInverterData - nie dziala
http://192.168.1.199/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CommonInverterData - dziala
Pozdrawiam
Dodane : 30/07/2021 3:14 pm
isom reacted
Ponieważ po zmianie "ID" na "Id" w url, wszystko działa również na starszej wersji softu falownika, edytowałem i zmieniłem to we wcześniejszych wpisach.
Dzięki @kniazio
Dodane : 31/07/2021 6:12 am
@kniazio Na "Aktualne" działa bo ten czujnik oprócz wartości chwilowej zlicza też uzysk dzienny a CustomSensor "Dom" tego nie robi :))
Minusy w matematyce też da się sumować i mnożyć więc możliwość jest tylko trzeba sobie poczytać wiki DzVents i zamienić w skrypcie Custom sensor na poprawne urządzenie
Na jakie urzadzenie zmienic CustomSensor? Co mam wpisac w skrypcie zamiast CustomSensor?
dz.devices('PGE').updateCustomSensor( rt.P_Grid or 0) dz.devices('Dom').updateCustomSensor( rt.P_Load or 0) dz.devices('Samowystarczalność').updateCustomSensor( rt.rel_Autonomy or 0) dz.devices('Potrzeby_własne').updateCustomSensor( rt.rel_SelfConsumption or 0) end
Doszedlem do tego ze zrobilem licznik instant+counter i w skrypcie dodalem :
dz.devices('Power_usage').updateElectricity( rt.P_Load or 0)
ale w Today jakies glupoty liczy. Raz dodaje raz odejmuje . Ogolnie kicha
EDIT
Po kilkunastu godzinach pojawily sie slupki w wykresie Week
W wykresie Last 24 jednak wyglada to jakos dziwnie.
Ciekawe na ile jest to wiarygodne zuzycie
Poradzicie cos?
Dodane : 24/08/2021 3:16 pm
Strona 7 / 7
Poprzednia