Włączanie i wyłącza...
 
Powiadomienia
Wyczyść wszystko

Włączanie i wyłączanie żarówek

103 Wpisów
6 Użytkownicy
2 Likes
8,583 Wyświetleń
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Oczywiście że nie będzie działać, nawet nie wstawiłeś tego skryptu żeby zobaczyć jakie błędy wywala ?

 
Dodane : 24/12/2021 10:26 am
adrian reacted
Daro1003
(@daro1003)
Wpisów: 758
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Niestety nie rozumiem znaczenia tych błędów.

Potrzebny skrypt nawet bez łącznika gdzie którakolwiek z grupy czujek włącza przełącznik sonoff na zadany czas kolejne naruszenia resetują czas - zastosowania do pompki CWU.

Skrypt z łącznikiem i grupą czujek też dobry dla oświetlenia które ma być włączany z różnych czujek.

 
Dodane : 02/01/2022 7:47 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@daro1003 bez urazy, ale pomoc na forum nie polega na robieniu gotowych skryptów na życzenie. Robienie za kogoś wszystkiego to dawanie ryby a co jak już  się ją zje ? Kolejna ryba ? A jak  rybak się zbuntuje i nie da kolejnej to leżymy tak ? Masz problem bo nie rozumiesz zacznij od podstawowych skryptów , albo wspieraj się tym co ogarniasz. Możesz sobie zrobić bloczek z kilkoma PIR i wirtualnym "motion" a potem podstawić ten motion do skryptu dzvents. 

 
Dodane : 03/01/2022 11:28 am
Daro1003
(@daro1003)
Wpisów: 758
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Tak masz rację z tym że ciężko znając instrukcje żeby wyczaic co za co odpowiada w tych skryptach. Próbowałem wstawić tabele z twojego skryptu odnośnie gaszenia świateł. Ale nie poszło, najpewniej uda się to zrobić na integrze bo w blokach też chyba tego się nie da zrobić aby którąkolwiek z grupy czujek odpalała przelacznik na dany czas. 

 
Dodane : 03/01/2022 11:56 am
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@daro1003 właśnie przez to, że bazujesz praktycznie na gotowcach nie widzisz , albo nie chcesz zobaczyć prostych rozwiązań , mając problem z korzystaniem z tabeli w dzVents , ja bym zrobił to tak , prosty blok jak poniżej

2

 i do skryptu dzVents , który już masz sprawdzony wstawiasz motion . Cała filozofia 

 
Dodane : 03/01/2022 6:20 pm
Daro1003
(@daro1003)
Wpisów: 758
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Witam

Teraz jak już mieszkam i testuję zauważyłem że skrypt v3:

return {
    on = {
    devices = {
      'Łazienka',    -- nazwa wlacznik w domoticz 
      'Czujka Pir Łazienka' -- nazwa czujnika w domoticz
    }
  },
  data =
    {
        warunek = { initial = false },
    },
    	logging =   
    {
        level = domoticz.LOG_DEBUG, 
        marker = 'PIR Lampa',
    },
  execute = function(dz, item)
        
        local maxSeconds = 120
        local motion = dz.devices('Czujka Pir Łazienka') -- nazwa czujnika 
        local switch = dz.devices('Łazienka') -- nazwa włacznika

        if item == motion then -- detekcja aktywna
          if motion.active and not switch.active then -- detekcja wyzwala skrypt
            dz.data.warunek = true
            switch.cancelQueuedCommands()
            switch.switchOn().checkFirst()
          elseif motion.active and switch.active and dz.data.warunek == true then
            switch.cancelQueuedCommands()
          elseif not motion.active and dz.data.warunek == true then 
            switch.switchOff().afterSec(maxSeconds).checkFirst()
          end
        elseif item == switch and item.active and not motion.active then 
          dz.data.warunek = false
        end
    end
}

I tu pytanie do autora @isom :

Czujka zapala i gasi po ustalonym czasie - ok

Łącznik lokalny zapala i gasi ok a gdy czujka zapali i świeci się światło gaszę je łącznikiem i chcę zapalić na stałe klikam ponownie łącznikiem światło się zapala więc powinno być na stałe ale i tak zgasi je czujka. Jeśli w trakcie zapalonego światła przez czujkę zgaszę je łącznikiem i zaraz zapale łącznikiem oświetlenie nie jest na stałe. Coś mam źle w skrypcie czy po prostu tak działa ?

Zauważyłem to jeśli wszedłem do pomieszczenie zacząłem coś robić i czujka mnie nie wkrawały zgasiła światło więc ruszyłem do drzwi aby zapalić na stałe czujka mnie wtenczas wykryła zapalała ja kliknąłem zgasło kliknąłem zapaliło grzebie w pomieszczeniu i światło gaśnie.

Czy to działa prawidłowo ? Kiedy mogę sterować łącznikiem tylko jeśli wcześniej czujka nie zapaliła światła ?

 

 
Dodane : 02/04/2022 9:09 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@daro1003 skrypt działa jak linia opóźniona wewnętrzna w satel  , włączenie na stałe nastąpi tylko wtedy gdy pierwszy zostanie użyty włącznik na ścianie. W każdym innym przypadku PIR ma priorytet.

Jak coś nie działa jak trzeba to usuń z folderu domoticz/scripts/dzVents/data

wartości trwałych danych dotyczących tego skryptu , czyli szukasz  __data_scriptName.lua , gdzie scriptName to nazwa tego skryptu i usuwasz ten wpis .

Albo wstaw skrypt poniżej i po testach dostosuj czas działania czujnika 

return {
    on = {
    devices = {
      'Łazienka',    -- nazwa wlacznik w domoticz 
      'Czujka Pir Łazienka' -- nazwa czujnika w domoticz
    }
  },
  data =
    {
        tylko_pir = { initial = false },
    },
    	logging =   
    {
        level = domoticz.LOG_DEBUG, 
        marker = 'PIR Lampa',
    },
  execute = function(dz, item)
        local maxSec = 20
        local motion = dz.devices('Czujka Pir Łazienka') -- nazwa czujnika 
        local switch = dz.devices('Łazienka') -- nazwa włacznika
        
         if item == motion then
                if switch.active and motion.active then 
                    if dz.data.tylko_pir then
                        switch.cancelQueuedCommands()
                        switch.switchOff().afterSec(maxSec).silent().checkFirst()
                    end
                elseif motion.active and not switch.active then
                    dz.data.tylko_pir = true
                    switch.cancelQueuedCommands()
                    switch.switchOn().forSec(maxSec).silent().checkFirst()
                end
                
        else -- switch
            if switch.active and not motion.active then
                dz.data.tylko_pir = false
            end
         end

    end
}
 
Dodane : 03/04/2022 10:26 am
Daro1003
(@daro1003)
Wpisów: 758
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Na początek wrzuciłem skrypt działa tak samo jak ten co mam od Ciebie v3.

Usunąłem ten plik z folderu ale nadal działanie jest identyczne. 

Jeśli tak musi być ok ale fajne by było jak by się dało zrobić że użycie łącznika po wcześniejszym użyciu czujki daje oświetlenie aż do zgaszenia.

Mam dwa pomieszczenia gdzie są przejściowe i zawsze jak wejdę czujka mnie złapie i zapala i częsty tylko przechodzę ale czasem wchodzę i siadam w pomieszczeniu czujka mnie nie widzi gasi ruszę do łącznika zapala no i nie włączę na stałe.

 
Dodane : 03/04/2022 11:26 am
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Odseparuj włącznik od lampy to się da , w innym przypadku to tak jak bym Cię poprosił żebyś zrobił czujnik opóźniony warunkowy ale żeby zawsze dawał opóźnienie nawet jak wcześniej nie naruszę czujki od której ten warunek zależy.

Możesz też dołożyć w tym pomieszczeniu jakiś włącznik tam gdzie siedzisz , ten włącznik ma nic nie włączać tylko blokować wyłączenie przez PIR

 
Dodane : 03/04/2022 12:10 pm
Daro1003
(@daro1003)
Wpisów: 758
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Pewno tak zostanie bo żeby to odseparować musiałbym lokalny przycisk wpiąć do innego ESP i ustawić włączanie tego Switcha do którego wpięta jest żarówka ?

A siadam przed kompem więc zawsze mogę odpalić jak zgaśnie z dashticza na stałe.

Ogólnie skrypt jest ok wykorzystuje go do oświetlenia nocnego korytarzy tam mam opcje z wschodem i zachodem więc w dzień nie odpala.

Kilka postów wcześniej pisałeś mi @isom że mogę w jednym bloku zrobić konwersje czujek z wskaźnika Satela 0 / 3 na ON / OFF w domoticz jeśli walne to w jednym bloku to nie działa. A gdy rozdzielę to na osobne bloki działa.

 
Dodane : 03/04/2022 12:18 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@daro1003 w szereg linii czujnika kontaktron na biurku , nawet radiowy i jak siedzisz to rozwierasz kontaktron . Albo jakieś radio jednokanałowe i po sprawie . Ewentualnie nawet sonoff basic który będzie widziany w domoticz , ale nic nie będzie włączał , wtedy zmiany w skrypcie i też będzie ok.

Co do blockly to wstaw foto bo trudno się zgaduje co tam stworzyłeś 

 
Dodane : 03/04/2022 12:23 pm
Daro1003
(@daro1003)
Wpisów: 758
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Pewno zle konstruuje blok:

Konwert

I kolejne czujki dodaje w dół i nie działa jeśli natomiast każdy jest osobny jest ok.

 
Dodane : 03/04/2022 12:39 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

 

1

@daro1003 w każdym układzie bloczków może być tylko jeden IF z tym niebieskim trybikiem , zamiast nieprawidłowo łączyć bloki tak jak teraz musisz klepnąć w ten trybik i dodać sobie tyle IF ile potrzebujesz 

 
Dodane : 03/04/2022 12:57 pm
Daro1003
(@daro1003)
Wpisów: 758
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

A jeszcze zapytam @isom o ten blok co mi podesłałeś:

Sterowanie Motion

1. Czy do niego też potrzeba konwertować czujki czy mogę lecieć te co widzi Domoticz jako 1 / 3 ? Czy lepiej zrobić konwertowanie wszystkich czujek ? Teraz konwertuje tylko te które używam w skryptach do oświetlenia.

2. Czy Motion jest wirtualnym przełącznikiem który tworze i używam w skrypcie v3 jako czujnik pir ? Dzięki temu blokowi wirtualny przełącznik Motion jest aktywowany z dodanych innych pirów ?

 

I jeszcze pytanie odnośnie skryptów:

Skrypt Bez Lux v3 i skrypt nowy który dziś wysłałeś jakie są różnice w nich ??

 

 
Dodane : 03/04/2022 3:13 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

Ad 1 Nic nie trzeba konwertować 

Ad 2 Motion to jest wirtualny przełącznik ustawiony na typ motion , a to po to żeby ktoś go przypadkiem nie przełączył ręcznie 

Ad3 to są identyczne skrypty , tylko nazwa trwałych danych jest inna , dodałem to gdybyś nie wiedział jak usunąć stare dane z folderu scripts/dzVents

 
Dodane : 03/04/2022 6:09 pm
Daro1003
(@daro1003)
Wpisów: 758
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Ad 2 Motion - Mam w typach coś takiego jak Motion Sensor czyli to jest to ? Czy mogę wykorzystać do włączania urządzeń  które mają być sterowane tylko przez system a żeby nie zostały ręcznie włączone przez przypadek czy wyłączone ?

 
Dodane : 03/04/2022 9:20 pm
isom
 isom
(@isom)
Wpisów: 5079
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@daro1003 zanim zadasz kolejne pytania, sprawdź czy możesz używać danego typu urządzenia do swoich potrzeb , bo pytania o oczywiste rzeczy robią śmietnik na tym forum

 
Dodane : 04/04/2022 10:21 am
Daro1003
(@daro1003)
Wpisów: 758
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

Hej @isom dopiero teraz testuję Twój skrypt do gaszenia pozostawionych świateł który wstawiłeś w tym temacie:

local THRESHOLD = 10 -- czas w minutach przez jaki oświetlenie może być ON
local devicesToCheck = 
        {
            'Wiata',  -- Tabela przełączników zmień nazwy na swoje
	        'Garaż',
            'Lampki Wiatrołap',
	        'Lampki Korytarz',
	        'Strych Bok Tył',
	        'Strych Bok Front',
	        'Strych Nad Kotłownią',
	        'Strych Nad Domem',
	}
return 
{
    on = 
    {
        devices = devicesToCheck,
        timer =   {'every 5 minutes between 22:00 and 06:00'},

 Ustawiłem testowo na 10 minut no i niestety nie działa nie gasi a w logach błędy:

Skrypt błędy

 Zaradź coś jak zawsze.

 
Dodane : 28/03/2023 9:59 pm
Mariusz
(@mariusz-2)
Wpisów: 228
Weteran Donator 2K23
 

Dodane przez: @daro1003

Ustawiłem testowo na 10 minut no i niestety nie działa nie gasi a w logach błędy:

Pokaż jak to ustawiłeś , masz błąd w 18 linii kodu

PS. zobacz tu

local THRESHOLD = 30
local devicesToCheck = 
        {
        'lampa1',  
        'lampa2',
        'lampa3',
        
	}
return 
{
    on = 
    {
        devices = devicesToCheck,
        timer =   { 'every 5 minutes between 22:00 and 05:30' },
    },
    data = 
    {
        warunek = { initial = {} },
    },
    logging = {level = domoticz.LOG_DEBUG, 
        marker = 'Dogaszanie oświetlenia',
    },
    execute = function(dz, item)
        if item.isTimer then
          for index, deviceName in ipairs(devicesToCheck) do
             local device = dz.devices(deviceName) 
             dz.log('device name  ' .. device.name, dz.LOG_DEBUG) 
             dz.log('device state ' .. device.state, dz.LOG_DEBUG)        
             dz.log('device lastUpdate ' .. device.lastUpdate.minutesAgo, dz.LOG_DEBUG)        
                            
            if device.state == 'On' and device.lastUpdate.minutesAgo >= THRESHOLD and 
                dz.data.warunek[deviceName] ~= true  then
               device.switchOff()    
               dz.data.warunek[deviceName] = true
                end
            end
        else
            dz.data.warunek[item.name] = false
        end
    end
}
 
Dodane : 28/03/2023 10:35 pm
Daro1003
(@daro1003)
Wpisów: 758
Mistrz Patron Strony Donator 2K19, Donator 2K20, Donator 2K21, Donator 2K23
Autor tematu
 

@Mariusz - wkleiłem kod wyżej. 

 
Dodane : 28/03/2023 10:41 pm
Strona 5 / 6
Udostępnij: