Asystent AI
Pisanie skryptów w ...
 
Powiadomienia
Wyczyść wszystko

Domoticz Pisanie skryptów w DzVents

36 Wpisów
2 Użytkownicy
1 Reactions
5,681 Wyświetleń
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Sorry -wrzuciłem za dużo...

Długo nie odświeża się-jakby był czasowy pomiar


 
Dodane : 29/01/2022 10:32 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Chodzi o to że trzeba czytać ze zrozumieniem . Napisałem co jest wyzwalaczem tego skryptu . Aktualizacja następuje po odczycie z ciepłomierza i aktualizacji jego wskazań 

Wyczyść proszę ten swój wpis z podwójnymi logami , a na przyszłość filtruj takie logi , masz na górze po prawej stronie okno , wystarczy wpisać tam nazwę skryptu 


 
Dodane : 29/01/2022 10:33 pm
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Już wiem-ustawiłem odczyt ciepłomierza co 28 min w crontabie


 
Dodane : 29/01/2022 10:34 pm
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

A o co chodzi z tym

dz.log('cop pompy' .. cop.. 'COP ' , dz.LOG_INFO)


 
Dodane : 29/01/2022 10:35 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

To jest info w logach z wartością jaka wyszła z matematyki (cop) a reszta to moja fantazja albo widzimisię . 

Równie dobrze możne być

dz.log('Pompa ma sprawnośc' .. cop.. 'Taką ' , dz.LOG_INFO)

 
Dodane : 29/01/2022 10:38 pm
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Dziękuję za pomoc.

PS

Posprzątałem...


 
Dodane : 29/01/2022 11:33 pm
isom zareagował
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Witam,

na bazie podanego skryptu udało mi się (w końcu) zrobić kilka kombinacji (działania matematyczne)-będzie to wzorzec.

Isom-a czy mógłbyś jeszcze na bazie podanego skryptu (tj cop) wrzucić skrypt na timerze (to jest do SCOP miesięczny i roczny) ?

To byłby taki podstawowy komplet do obsługi opomiarowania pompy ciepła-jak byś wrzucił te przykłady na wiki , to nie jednemu by się przydało...

Pzdr 


 
Dodane : 30/01/2022 12:29 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Skrypty , które mogą się  przydać większej ilości użytkowników wrzucam bez takich zachęt jak powyżej ,  skrypty takie jak opomiarowanie jakiegoś urządzenia są specyficzne i wymagają wiedzy o  typach  i podtypach użytych czujników , skąd mam wiedzieć jakich czujników używają wszyscy użytkownicy pomp ciepła ? Pisać żeby potem każdemu indywidualnie przerabiać pod jego potrzeby to nie moja bajka i zaśmiecanie forum. 

 


 
Dodane : 30/01/2022 1:16 pm
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Chodzi o customsensors-działań na tym typie za dużo nie ma w sieci.W mojej malinie dane z RTU i ciepłomierza są custom-przyjąłem ,że może być więcej urządzeń tego typu.

Zrobiłem jeszcze proste działanie na obliczenie delty-jak wszystko jest tego samego typu , to bez problemu wychodzi. 


 
Dodane : 30/01/2022 1:29 pm
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Skrypt device (działający)

scop roczny

return {
on = {
devices = {'Energia PC kWh'}
},
logging = {
level = domoticz.LOG_DEBUG, -- zmien na domoticz.LOG_ERROR, gdy skrypt bedzie Ok
marker = "licznik SCOPr"
},
execute = function(dz, device)
local p = tonumber(dz.devices('PC zużycie kWh').state)
local k = tonumber(dz.devices('Energia PC kWh').state)
local w = dz.devices('SCOP roczny')
-- Obliczenia
local scop = dz.utils.round( k / p ,2)
dz.log('scop rok' .. scop.. 'SCOPr ' , dz.LOG_INFO)
w.updateCustomSensor(scop)

end
}

return
{

Przykładowy timer

return
{
on =
{
timer = { 'every minute'}
},

data = {
dane =
{
initial = {},
},
},
logging = {
level = domoticz.LOG_DEBUG, -- zmien na domoticz.LOG_DEBUG, gdy skrypt bedzie Ok
marker = "Licznik wody"
},
execute = function(dz, item)
local factor = 1 -- ustaw wartosc zgodna z twoim licznikiem wartosc 1 to 1 do 1
local przeplyw = dz.devices('Przepływ woda') -- nazwa wirtualnego licznika litry / min
local licznik = dz.devices('Licznik wody') -- obecny licznik w m3
local daneTotal = licznik.counterToday * factor -- aktualizacja "data" z danych dziennych licznika * przelicznik w tym wypadku 1 do 1

if dz.data.dane.total ~= nil then -- pierwszy odczyt nie aktualizuje przepływomierza
przeplyw.cancelQueuedCommands()
local historia = dz.data.dane.lastTime - dz.time.dDate
local aktualprzeplyw = ( daneTotal - dz.data.dane.total ) * 60 / math.max(historia,60) -- litry / min

przeplyw.updateWaterflow(aktualprzeplyw)
przeplyw.updateWaterflow(0).afterMin(10) -- brak nowych danych resetuje licznik po czasie afterMin
end

dz.data.dane.total = daneTotal
dz.data.dane.lastTime = dz.time.dDate

end
}

 

Próbowałem różnych kombinacji-lepiej tego nie pokazywać. Czy możesz pokazać jak powinien wyglądać odpowiednik pierwszego skryptu na timerze ?


 
Dodane : 30/01/2022 1:32 pm
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Dodam jeszcze tylko ,że poprzednio zamotały mnie nazwy local...


 
Dodane : 30/01/2022 1:34 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Jak wychodzi bez problemu to po co ja mam pisać ? Zrozum ty używasz czujników custom , ktoś inny ma typowy czujnik poboru mocy i już ten skrypt nie będzie działał. Ty potem nie pomożesz takiemu koledze w adaptacji , bo nawet nie chcesz zacząć się uczyć, napisałem ten cop w nadziei że  zobaczysz jakie to proste i się weźmiesz za naukę , ale widzę że dalej łatwizna.pl


 
Dodane : 30/01/2022 1:36 pm
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Mogę pomóc dzieląc się swoimi doświadczeniami-raczej nie zostanę Guru Domoticza.

Jestem zwykłym użytkownikiem (lub poniżej pewnej średniej) tego systemu. Zresztą chyba cały sens stworzenia domoticza był taki , aby pół amatorzy mogli sobie z tym poradzić.

To prawda-znacznie łatwiej jest mi układać jakieś sekwencje wg sprawdzonych wzorców. Niestety przy rozkminianiu podstaw "trochę" się rozsypuję...taki mój wątpliwy urok (ale na szczęście mam kilka zalet 😉).    


 
Dodane : 30/01/2022 1:57 pm
isom
 isom
(@isom)
Wpisów: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Tak domoticz jest otwartym projektem i każdy może z niego korzystać , jednak nie usprawiedliwia to drogi na skróty. Wszyscy, którzy chcą zrobić  coś więcej  niż podstawowe możliwości serwera muszą się uczyć , ja też . Dzielę się tym co mi się udało opanować bo taki jest sens bycia na forum , ale nie widzę sensu pisania komuś skryptów na życzenie. Te które wrzucam są na tyle uniwersalne że każdy może z nich skorzystać i wtedy ma to sens.


 
Dodane : 30/01/2022 3:05 pm
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

To trudno-będę pytał o szczegóły (chyba ,że to też jest zabronione ?)...

Chciałem przerobić skrypt SCOPu , aby odjąć wartości od liczników -a następnie to podzielić.

Próbowałem dwa sposoby-bez rezultatu

1.

local scop = dz.utils.round((k-29838) / (p-28) ,2))

2.

local scop = dz.utils.round(k-29838 / p-28 ,2)

W czym jest błąd ?


 
Dodane : 30/01/2022 3:40 pm
(@bobrow)
Wpisów: 386
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

Taki zapis pomógł-z przerwami

local scop = dz.utils.round( (k - 29838) / (p - 28) ,2)


 
Dodane : 30/01/2022 4:01 pm
Strona 2 / 2
Udostępnij: