Asystent AI
zmiana jednostki w ...
 
Powiadomienia
Wyczyść wszystko

Domoticz zmiana jednostki w "kafelku"

16 Wpisów
2 Użytkownicy
0 Reactions
2,665 Wyświetleń
(@gonzo19)
Wpisów: 13
Bywalec
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
 
[#2274]

Witam.

Chciałbym zamienić jednostki w jednym z kafelków.

dokładnie ten kafelek

obraz
obraz
obraz

 Ewentualnie inny, ale o takiej samej funkcjonalności.

potrzebuje zmienić jednostki kWh i Watt na inne.

Kombinuje jak koń pod górę, ale niestety nie daje rady.

Czy moglibyście pomóc lub chociaż nakierować gdzie szukać.

 

Pozdrawiam


 
Dodane : 07/03/2021 3:14 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
 

Dobra to zacznę od nakierowania , wystrczy skrypt np dzVents , który będzie sprawdzał aktualny stan "Moc czynna " i na podstawie tych odczytów aktualizował wirtualny czujnik nazwany dowolnie do odczytanej wartości ale z wybraną jednostką . Można też zmieniać jednostki np W na kW dodając proste działania matematyczne . Patrz dział domoticz na tym forum. Jak nie dasz sobie rady to napisz na jakie jednostki chcesz zmienić a zobaczę czy umiem Ci pomóc 


 
Dodane : 07/03/2021 3:23 pm
(@gonzo19)
Wpisów: 13
Bywalec
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 skrypt to już jest ......./domoticz/dzVents/runtime/device-adapters/kwh_device.lua, (Linux) problem w tym, że nie mam pojęcia jak zmienić jednostki np. W->var, kWh->kvar. zmiana w samym skrypcie nic nie daje, to jest gdzieś głębiej.

"custom sensor" częściowo załatwia sprawę, ale nie ma tej funkcjonalności. Jest jeszcze "licznik" i tam sa do wyboru gaz, woda w m3 i inne, ale żaden nie działa tak jak bym chciał.

 

Nie potrafię pisać skryptów ani .lua, ani dzVents 🙁


 
Dodane : 07/03/2021 3:59 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 zachęcam do sprawdzenia wiki dzVents , albo do odwiedzenia wątku o liczniku wody na tym forum . Konwersja litrów na m3 jest podobna do W na kW lub odwrotnie


 
Dodane : 07/03/2021 4:20 pm
(@gonzo19)
Wpisów: 13
Bywalec
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
 
Dodane przez: @isom

albo do odwiedzenia wątku o liczniku wody na tym forum

O, i to jest coś 🙂 szukam tego wątku, może tam coś znajdę 🙂

 

edit:

znalazłem, ale to nie to. Tam są przeliczniki, tworzenie dziwnych rzeczy(nie rozumiem tego).

Ja mam już dokładny odczyt z licznika wartości, wysłane do brokera MQTT i domoticz to czyta jedynie chciałem inne jednostki aby było bardziej czytelne. pewnie bez głębszego grzebania w domoticzu się nie da. Dla mnie za trudne 🙁


 
Dodane : 07/03/2021 4:22 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
 

@gonzo19 napisanie dla Ciebie gotowca nie stanowi problemu , tyle że to niczego Cię nie nauczy , w temacie licznika masz działania matematyczne które pomagają zrozumieć jak zmienić jedną jednostkę w drugą np skrypt który zmienia cm na % wygląda dość prosto 

a powiem że jest bardziej złożony bo uwzględnia wysokość zbiornika 

local pct_sensor = 'Czujnik procent'  -- nazwa wirtualnego czujnika procent 
local dyst_sensor = 'Czujnik dystans' -- nazwa czujnika odleglosci 
local tank_height = 100               -- wysokosc zbiornika

return {
        on = {
                devices = {depth_sensor}
        },
        execute = function(dz, device)
		local depthdev = dz.devices(dyst_sensor)
		local pctdev = dz.devices(pct_sensor)
		local depth = depthdev.state
		
		-- Obliczenia procenty 
	    local pct = dz.utils.round((tank_height - depth) / tank_height * 100 ,1)
		dz.log('Tank update to ' .. pct.. '% ' , dz.LOG_INFO)
		pctdev.updatePercentage(pct)
	
end
}
		

Teraz wystarczy analiza co się tu robi 

Mamy zdeklarowane dwa czujniki i zbiornik o wysokości 100 cm , na podstawie odczytów czujnika odległości dostajemy wartość w cm  , musimy to jakoś przełożyć na procenty , czyli przy każdym odczycie tych cm odejmujemy od wysokości zbiornika tą wartość i wynik dzielimy przez wysokość zbiornika razy 100 bo mamy do czynienia z procentami.

Po tym działaniu aktualizowany jest czujnik % do wartości otrzymanej z działania matematycznego 

Ty masz łatwiej bo wystarczy np podzielić przez 1000 twoje wskazania żeby uzyskać zamiast W - kW no bo 1000W to 1 kW


 
Dodane : 08/03/2021 12:33 pm
(@gonzo19)
Wpisów: 13
Bywalec
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
 

Ja to widziałem, ale wiele mi to nie pomaga. Niestety na takim poziomie programowania jestem zielony.

tutaj(link poniżej) jest gotowy skrypt i działa on idealnie tak jak chcę, tylko wizualnie nie pasują mi te kWh, Wh, W itp. Nie mam pojęcia jak dodać ten skrypt do domoticza (zaimplementować). Sama zmiana tych W na np. var i zapisanie skryptu pod inna nazwą nic nie daje. Dopisanie nazwy ze skryptu "name = 'kvarh device adapter'," w /home/pi/domoticz/dzVents/runtime/device-adapters/Adapters.lua tez nic nie daje, nawet jakby bzdury miał pokazywać. Tak, wiem, kombinuję, ale z moja wiedzą na razie tyle mi zostało.

https://depot.ami.usherbrooke.ca/AmI_Group_Zaid__Clones/Clone___Domoticz/blob/c3574f74b0107107d8d8200204c64c7dd4359218/dzVents/runtime/device-adapters/kwh_device.lua

 

ten skrypt już jest w domoticzu, ale chciałem taki sam jako drugi z innym jednostakami


 
Dodane : 08/03/2021 12:46 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
 

Nie możesz sobie dowolnie zmieniać jednostek , nie uwzględniając typu czujnika , który ma je wyświetlać . W domoticz i nie tylko w nim każdy czujnik ma zdeklarowane jednostki które akceptuje i np nie zapiszesz cm w czujniku procentowym czy prądu w A w czujniku V napięcia .

Piszesz o jednostce var a co to jest ? Bo tego nawet ja  nie wiem  a wydaje mi się że trochę wiem 


 
Dodane : 08/03/2021 12:57 pm
(@gonzo19)
Wpisów: 13
Bywalec
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
 

Tak myślałem, ze się nie da ot tak. Dlatego chciałem dodać nowy czujnik z nowymi jednostkami.

dopisanie nowej linii w /home/pi/domoticz/www/app/devices/deviceFactory.js np.

else if (this.Type === 'General' && this.SubType === 'kvar') {
                    return 'kvar';

tez nic nie daje. Chyba to odpuszczę, szkoda czasu.

var - jednostka mocy biernej

 


 
Dodane : 08/03/2021 1:06 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
 

Sorki ale nie widzę sensu w mieszaniu typów urządzeń obsługiwanych przez domoticz , on ma już zaimplementowaną obsługę większości , wystarczy zamiast mieszać w app/devices , po prostu dopisać skrypt w zdarzeniach 

A jak masz nietypową jednostkę która mimo wszystko chcesz mieć w domoticz zawsze można do tego użyć Custom sensor czyli czujnik który toleruje wszystko


 
Dodane : 08/03/2021 1:22 pm
(@gonzo19)
Wpisów: 13
Bywalec
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
 

no dobrze, prawie sie zgadzam, tak w 99% z Tobą, zostawmy to w spokoju 🙂

Jeśli byłbyś tak uprzejmy, to podpowiedziałbyś jak uruchomić skrypt zapisany w events jako dzVents - device

obraz

 

Nie ważne czy zadziała, tylko jak go uruchomić

 

ok, sam się uruchamia,


 
Dodane : 08/03/2021 2:18 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
 

@gonzo19 oczywiście że mogę Ci w tym pomóc , zmień myDevices na realne urządzenie w Twoim systemie a reszta stanie się sama . 

Dokładnie będzie tak że jak zmienisz stan np przełącznika nazwijmy go światło i zamiast myDevices wpiszesz właśnie światło to każda zmiana tego światła zostnaie odnotowana w logach i nic więcej się nie stanie bo ten skrypt nic więcej nie robi


 
Dodane : 08/03/2021 2:27 pm
(@gonzo19)
Wpisów: 13
Bywalec
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
 

no i mam problem, bo nie wiem co autor miał na myśli z "my device", czy chodzi o moja nazwę kafelka np. "test" czy o co innego?

Pomóż, zrobię jedno dla przykładu, to będzie łatwiej z innymi.

 

edytowałeś, nie widziałem, już wiem. Ten skrypt to jest taki z automatu, wiem, ze nic nie robi

 

wałczę dalej, dam znać do czego doszedłem, najgorsze, ze połowy nie rozumiem 🙁


 
Dodane : 08/03/2021 2: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
 

@gonzo19 dobra to zacznijmy od podstaw , nazwałes swój przełącznik np "Kocham to forum" i to jest twoje myDevice , czyli zmieniasz w skrypcie myDevice na Kocham to forum i wtedy każda zmiana przełącznika Kocham to forum będzie zapisana w logach .

Jeżeli teraz zmienisz skrypt tak żeby Kocham to forum włączało światło w salonie to nie ważne jak to się nazywa ale światło się włączy . jak chcesz to zaraz wkleję tu skrypt który to  zrobi 

zobacz zrobiłem sobie przycisk który się nazywa "Kocham to forum i mam przekaźnik Lampa Salon , jak zmienię stan przycisku to przełączę stan lampy

return {
    on = {
          devices = {'Kocham to forum'}
},
   logging =   
    {
        level = domoticz.LOG_DEBUG, 
        marker = 'Kocham to forum ',
    },
    execute = function(domoticz, device)
     local lamp1 = domoticz.devices('Lampa Salon')
        if (device.state == 'On' ) then
      lamp1.toggleSwitch()
      
    end
end
}

 
Dodane : 08/03/2021 2: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
 

@gonzo19 coś się wyjaśniło czy dalej pomroczność ? 


 
Dodane : 08/03/2021 3:43 pm
(@gonzo19)
Wpisów: 13
Bywalec
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. Trochę późno, ale kafelki ogarnąłem 🙂 To znaczy poszedłem na kompromis. Nie da się zmienić jednostki z Watt na np. Var

więc w opisie sobie dopisałem 🙂

Screenshot 2022 12 17 at 10 32 38 Domoticz

 


 
Dodane : 17/12/2022 11:33 am
Udostępnij: