Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Licznik


JacekP

Question

Witam wszystkich jestem nowy, przegladalem forum ale jakos nie zauwazylem czegos co by mi moglo pomoc 

 

potrzebuje pomocy w skrypcie : w zadnej jednostce czasu zliczamy impulsy ( dowolne np przekroczona moc ) 

taki skrypt moze byc wykorzystany np przy zliczaniu poboru np wegla / lub detekcji braku wegla w zasobniku .

czyli dla przykladu piec czy cokolwiek innego  podal jednostke przez 10 min 30 razy - ( wystawiamy zmienna ==1 ) 

jesli nie podal to wystawiamy zminna ==0 

 

Kto pomoze ?

 

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Pytanie numer 1: scena blokowa czy LUA?
Pytanie numer 2: co konkretnie chcesz osiągnąć?
a) wystartować licznik i sprawdzić ile razy dojdzie do zdarzenia w ciągu 10 minut i zamknąć dalsze zliczanie
b) zliczać cały czas i kasować na bieżąco wyniki przekraczające ostatnie 10 minut 
c) jeszcze coś innego

Te 10 minut to oczywiście przykład, może być dowolny przedział czasu, to akurat bez znaczenia.

Od razu mówię, że ja umiem tylko LUA, więc jeśli zależy Ci na blokach, to będziesz musiał liczyć na pomoc kogoś innego...

Link to comment
Share on other sites

  • 0
  • Inquirer
  • 13 hours ago, pogo said:

    Pytanie numer 1: scena blokowa czy LUA?

    LUA : HC2 


    Pytanie numer 2: co konkretnie chcesz osiągnąć?
    a) wystartować licznik i sprawdzić ile razy dojdzie do zdarzenia w ciągu 10 minut i zamknąć dalsze zliczanie

    b) zliczać cały czas i kasować na bieżąco wyniki przekraczające ostatnie 10 minut 
    c) jeszcze coś innego

     

    Zrobmy tak jak ja to widze :

    jesli moc pobierana > 300 W ( piec podaje paliwo ) 

    licznik czasu start 

    w czasie gdy licznik pracuje ( od 0 do 10 min  lub inny )  liczymy impulsy ( piki po 300 W , czemu piki bo slimak podaje tylko przez okreslony czas paliwo , zrobie zrzut ekranu ) 

    jesli licznik > 30 ( lub inna warotsc  oznacza ze piec nie uzyskal temperatury i pracuje dalej (np nie ma wegla w zasobniku albo mu zgaslo )

    wystaw zmienna " zobacz kochaniunki co w piecu piszczy "

    konczymy zliczanie impulsow czekamy na potwierdzenie 

    po potwierdzeniu wracamy do poczatku  aby poczekac na zainicjowanie (jesli moc pobierana > 300 W )  i ustawiamy wszystko na 0 

    jesli licznik w czasie policzyl impulsy i sa one < 30 wracamy do poczatku i czekamy na kolejna sekwencje( jjesli moc >300 W )  i  ewentulanie wystaiwamy zmiena " kochaniutki palis sie zdrowo "  

    i tak przez zime :)

    tak wyglada stan normalnej pracy 

    Please login or register to see this attachment.

     

    13 hours ago, pogo said:

     

     

     

     

    13 hours ago, pogo said:

     

    K

    13 hours ago, pogo said:

     

     

    Link to comment
    Share on other sites

    • 0

    No dobra... czyli mówimy tylko o nadzorze, bez sterowania tym.

    Będę wymyślał kod w miarę jego pisania i nie będę testował na swoim, więc może się nie skompilować, lub źle działać, ale próbujemy... będę zapisywał kod po kawałku, by nic nie uciekło, więc w trakcie będą wątpliwej jakości kawałki kodu.
    Programuję zawsze po angielsku i tylko komentarze dopiszę po polsku

    1. ustawiamy zmienną globalną o nazwie... yyy... nazwij sobie jak chcesz, roboczo rzucę "status" - zdecydowanie zalecam zmienić, bo za miesiąc zapomnisz od czego to jest.
    2. robimy scenę uruchamianą na zmianę poboru mocy z tego urządzenia... i lecimy:
     

    Please login or register to see this code.

    Gdy myślałem wstępnie jak to napisać, wydawało mi się to bardziej skomplikowane. Pozostaje teraz sprawdzić... na czym się wysypie, bo nie wierzę, by kod mógł zadziałać za pierwszym razem.

    Od razu mówię, że nie ma tu absolutnie żadnego zabezpieczenia przed ręcznym uruchomieniem sceny, więc jak klikniesz "Start" to dostaniesz błąd najdalej na pobieraniu mocy. W sumie taki błąd byłby potwierdzeniem, że wcześniejszy fragment jest dobry, więc warto raz spróbować. Mam pewne przeczucie, że o czymś zapomniałem w okolicach kodu do resetowania...

    Edited by pogo
    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • Musze to sobie przetrawic 

    Ale : wlasnie funkcji wykrywania zbocza mi brakowalo 

    wstepnie zrobilem to bardziej na piechote 

    W tak zwanym miedzy czasie wpadl mi do glowy pomys aby wykonac " wizualizacje " stanu mojego kopciucha 

     

    dzieki za pomoc ! Wrocim do tematu 

     

    function piecStatus ()
      local mocAktulana = tonumber (fibaro:getValue(55, "power")) ;
        print ( "moc aktulna =  " .. mocAktulana );
          print ("slimak zadzialal x  " ..slimak );
    if mocAktulana < 35 then 
    print ("piec sie rozlaczyl");
    end
    if ((mocAktulana >45) and (mocAktulana<65)) then 
    print ("Pompa ON");
        przedmuch=0;
    end
    if (((mocAktulana >65 ) and (mocAktulana<280))) then
    print ("Przedmuch");
        przedmuch=przedmuch+1;
        print ("_____" ..  przedmuch ) ;
    end
    if ((mocAktulana >280) and (mocAktulana<500)) then
    print ("Slimak pracuje");
        slimak= slimak+1;
        print ("******".. slimak );
        fibaro:setGlobal("Slimak", slimak );
    end
    setTimeout(piecStatus, 5000);
    end

    piecStatus ()
     

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • [DEBUG] 18:29:28: slimak zadzialal x 2
    [DEBUG] 18:29:28: Pompa ON
    [DEBUG] 18:29:33: moc aktulna = 53.8
    [DEBUG] 18:29:33: slimak zadzialal x 2
    [DEBUG] 18:29:33: Pompa ON
    [DEBUG] 18:29:38: moc aktulna = 53.8
    [DEBUG] 18:29:38: slimak zadzialal x 2
    [DEBUG] 18:29:38: Pompa ON
    [DEBUG] 18:29:43: moc aktulna = 53.8
    [DEBUG] 18:29:43: slimak zadzialal x 2
    [DEBUG] 18:29:43: Pompa ON
    [DEBUG] 18:29:48: moc aktulna = 53.8
    [DEBUG] 18:29:48: slimak zadzialal x 2
    [DEBUG] 18:29:48: Pompa ON
    [DEBUG] 18:29:53: moc aktulna = 53.8
    [DEBUG] 18:29:53: slimak zadzialal x 2
    [DEBUG] 18:29:53: Pompa ON
    [DEBUG] 18:29:58: moc aktulna = 53.8
    [DEBUG] 18:29:58: slimak zadzialal x 2
    [DEBUG] 18:29:58: Pompa ON
    [DEBUG] 18:30:03: moc aktulna = 53.8
    [DEBUG] 18:30:03: slimak zadzialal x 2
    [DEBUG] 18:30:03: Pompa ON
    [DEBUG] 18:30:08: moc aktulna = 53.8
    [DEBUG] 18:30:08: slimak zadzialal x 2
    [DEBUG] 18:30:08: Pompa ON
    [DEBUG] 18:30:13: moc aktulna = 53.8
    [DEBUG] 18:30:13: slimak zadzialal x 2
    [DEBUG] 18:30:13: Pompa ON
    [DEBUG] 18:30:18: moc aktulna = 53.8
    [DEBUG] 18:30:18: slimak zadzialal x 2
    [DEBUG] 18:30:18: Pompa ON
    [DEBUG] 18:30:23: moc aktulna = 53.8
    [DEBUG] 18:30:23: slimak zadzialal x 2
    [DEBUG] 18:30:23: Pompa ON
    [DEBUG] 18:30:28: moc aktulna = 53.8
    [DEBUG] 18:30:28: slimak zadzialal x 2
    [DEBUG] 18:30:28: Pompa ON
    [DEBUG] 18:30:33: moc aktulna = 53.8
    [DEBUG] 18:30:33: slimak zadzialal x 2
    [DEBUG] 18:30:33: Pompa ON
    [DEBUG] 18:30:38: moc aktulna = 53.8
    [DEBUG] 18:30:38: slimak zadzialal x 2
    [DEBUG] 18:30:38: Pompa ON
    [DEBUG] 18:30:43: moc aktulna = 53.8
    [DEBUG] 18:30:43: slimak zadzialal x 2
    [DEBUG] 18:30:43: Pompa ON
    [DEBUG] 18:30:48: moc aktulna = 53.8
    [DEBUG] 18:30:48: slimak zadzialal x 2
    [DEBUG] 18:30:48: Pompa ON
    [DEBUG] 18:30:53: moc aktulna = 53.8
    [DEBUG] 18:30:53: slimak zadzialal x 2
    [DEBUG] 18:30:53: Pompa ON
    [DEBUG] 18:30:58: moc aktulna = 53.8
    [DEBUG] 18:30:58: slimak zadzialal x 2
    [DEBUG] 18:30:58: Pompa ON
    [DEBUG] 18:31:03: moc aktulna = 53.8
    [DEBUG] 18:31:03: slimak zadzialal x 2
    [DEBUG] 18:31:03: Pompa ON
    [DEBUG] 18:31:08: moc aktulna = 53.8
    [DEBUG] 18:31:08: slimak zadzialal x 2
    [DEBUG] 18:31:08: Pompa ON
    [DEBUG] 18:31:13: moc aktulna = 53.8
    [DEBUG] 18:31:13: slimak zadzialal x 2
    [DEBUG] 18:31:13: Pompa ON
    [DEBUG] 18:31:18: moc aktulna = 53.8
    [DEBUG] 18:31:18: slimak zadzialal x 2
    [DEBUG] 18:31:18: Pompa ON
    [DEBUG] 18:31:23: moc aktulna = 53.8
    [DEBUG] 18:31:23: slimak zadzialal x 2
    [DEBUG] 18:31:23: Pompa ON
    [DEBUG] 18:31:28: moc aktulna = 53.8
    [DEBUG] 18:31:28: slimak zadzialal x 2
    [DEBUG] 18:31:28: Pompa ON
    [DEBUG] 18:31:33: moc aktulna = 53.8
    [DEBUG] 18:31:33: slimak zadzialal x 2
    [DEBUG] 18:31:33: Pompa ON
    [DEBUG] 18:31:38: moc aktulna = 53.8
    [DEBUG] 18:31:38: slimak zadzialal x 2
    [DEBUG] 18:31:38: Pompa ON
    [DEBUG] 18:31:43: moc aktulna = 53.8
    [DEBUG] 18:31:43: slimak zadzialal x 2
    [DEBUG] 18:31:43: Pompa ON
    [DEBUG] 18:31:48: moc aktulna = 53.8
    [DEBUG] 18:31:48: slimak zadzialal x 2
    [DEBUG] 18:31:48: Pompa ON
    [DEBUG] 18:31:53: moc aktulna = 84.3
    [DEBUG] 18:31:53: slimak zadzialal x 2
    [DEBUG] 18:31:53: Przedmuch
    [DEBUG] 18:31:53: _____1
    [DEBUG] 18:31:58: moc aktulna = 84.3
    [DEBUG] 18:31:58: slimak zadzialal x 2
    [DEBUG] 18:31:58: Przedmuch
    [DEBUG] 18:31:58: _____2
    [DEBUG] 18:32:03: moc aktulna = 84.3
    [DEBUG] 18:32:03: slimak zadzialal x 2
    [DEBUG] 18:32:03: Przedmuch
    [DEBUG] 18:32:03: _____3
    [DEBUG] 18:32:08: moc aktulna = 84.3
    [DEBUG] 18:32:08: slimak zadzialal x 2
    [DEBUG] 18:32:08: Przedmuch
    [DEBUG] 18:32:08: _____4
    [DEBUG] 18:32:13: moc aktulna = 71.7
    [DEBUG] 18:32:13: slimak zadzialal x 2
    [DEBUG] 18:32:13: Przedmuch
    [DEBUG] 18:32:13: _____5
    [DEBUG] 18:32:18: moc aktulna = 71.7
    [DEBUG] 18:32:18: slimak zadzialal x 2
    [DEBUG] 18:32:18: Przedmuch
    [DEBUG] 18:32:18: _____6
    [DEBUG] 18:32:23: moc aktulna = 71.7
    [DEBUG] 18:32:23: slimak zadzialal x 2
    [DEBUG] 18:32:23: Przedmuch
    [DEBUG] 18:32:23: _____7
    [DEBUG] 18:32:28: moc aktulna = 71.7
    [DEBUG] 18:32:28: slimak zadzialal x 2
    [DEBUG] 18:32:28: Przedmuch
    [DEBUG] 18:32:28: _____8
    [DEBUG] 18:32:33: moc aktulna = 71.7
    [DEBUG] 18:32:33: slimak zadzialal x 2
    [DEBUG] 18:32:33: Przedmuch
    [DEBUG] 18:32:33: _____9
    [DEBUG] 18:32:38: moc aktulna = 337.2
    [DEBUG] 18:32:38: slimak zadzialal x 2
    [DEBUG] 18:32:38: Slimak pracuje
    [DEBUG] 18:32:38: ******3
    [DEBUG] 18:32:43: moc aktulna = 66.5
    [DEBUG] 18:32:43: slimak zadzialal x 3
    [DEBUG] 18:32:43: Przedmuch
    [DEBUG] 18:32:43: _____10
    [DEBUG] 18:32:48: moc aktulna = 66.5
    [DEBUG] 18:32:48: slimak zadzialal x 3
    [DEBUG] 18:32:48: Przedmuch
    [DEBUG] 18:32:48: _____11
    [DEBUG] 18:32:53: moc aktulna = 66.5
    [DEBUG] 18:32:53: slimak zadzialal x 3
    [DEBUG] 18:32:53: Przedmuch
    [DEBUG] 18:32:53: _____12
    [DEBUG] 18:32:58: moc aktulna = 66.5
    [DEBUG] 18:32:58: slimak zadzialal x 3
    [DEBUG] 18:32:58: Przedmuch
    [DEBUG] 18:32:58: _____13
    [DEBUG] 18:33:03: moc aktulna = 66.5
    [DEBUG] 18:33:03: slimak zadzialal x 3
    [DEBUG] 18:33:03: Przedmuch
    [DEBUG] 18:33:03: _____14
    [DEBUG] 18:33:08: moc aktulna = 367.9
    [DEBUG] 18:33:08: slimak zadzialal x 3
    [DEBUG] 18:33:08: Slimak pracuje
    [DEBUG] 18:33:08: ******4
    [DEBUG] 18:33:13: moc aktulna = 76.1
    [DEBUG] 18:33:13: slimak zadzialal x 4
    [DEBUG] 18:33:13: Przedmuch
    [DEBUG] 18:33:13: _____15
    [DEBUG] 18:33:18: moc aktulna = 76.1
    [DEBUG] 18:33:18: slimak zadzialal x 4
    [DEBUG] 18:33:18: Przedmuch
    [DEBUG] 18:33:18: _____16
    [DEBUG] 18:33:23: moc aktulna = 76.1
    [DEBUG] 18:33:23: slimak zadzialal x 4
    [DEBUG] 18:33:23: Przedmuch
    [DEBUG] 18:33:23: _____17
    [DEBUG] 18:33:28: moc aktulna = 76.1
    [DEBUG] 18:33:28: slimak zadzialal x 4
    [DEBUG] 18:33:28: Przedmuch
    [DEBUG] 18:33:28: _____18
    [DEBUG] 18:33:33: moc aktulna = 364.1
    [DEBUG] 18:33:33: slimak zadzialal x 4
    [DEBUG] 18:33:33: Slimak pracuje
    [DEBUG] 18:33:33: ******5
    [DEBUG] 18:33:38: moc aktulna = 65.5
    [DEBUG] 18:33:38: slimak zadzialal x 5
    [DEBUG] 18:33:38: Przedmuch
    [DEBUG] 18:33:38: _____19
    [DEBUG] 18:33:43: moc aktulna = 65.5
    [DEBUG] 18:33:43: slimak zadzialal x 5
    [DEBUG] 18:33:43: Przedmuch
    [DEBUG] 18:33:43: _____20
    [DEBUG] 18:33:48: moc aktulna = 65.5
    [DEBUG] 18:33:48: slimak zadzialal x 5
    [DEBUG] 18:33:48: Przedmuch
    [DEBUG] 18:33:48: _____21
    [DEBUG] 18:33:53: moc aktulna = 65.5
    [DEBUG] 18:33:53: slimak zadzialal x 5
    [DEBUG] 18:33:53: Przedmuch
    [DEBUG] 18:33:53: _____22
    [DEBUG] 18:33:58: moc aktulna = 65.5
    [DEBUG] 18:33:58: slimak zadzialal x 5
    [DEBUG] 18:33:58: Przedmuch
    [DEBUG] 18:33:58: _____23
    [DEBUG] 18:34:03: moc aktulna = 332.5
    [DEBUG] 18:34:03: slimak zadzialal x 5
    [DEBUG] 18:34:03: Slimak pracuje
    [DEBUG] 18:34:03: ******6
    [DEBUG] 18:34:08: moc aktulna = 69.2
    [DEBUG] 18:34:08: slimak zadzialal x 6
    [DEBUG] 18:34:08: Przedmuch
    [DEBUG] 18:34:08: _____24
    [DEBUG] 18:34:13: moc aktulna = 69.2
    [DEBUG] 18:34:13: slimak zadzialal x 6
    [DEBUG] 18:34:13: Przedmuch
    [DEBUG] 18:34:13: _____25
    [DEBUG] 18:34:18: moc aktulna = 69.2
    [DEBUG] 18:34:18: slimak zadzialal x 6
    [DEBUG] 18:34:18: Przedmuch
    [DEBUG] 18:34:18: _____26
    [DEBUG] 18:34:23: moc aktulna = 69.2
    [DEBUG] 18:34:23: slimak zadzialal x 6
    [DEBUG] 18:34:23: Przedmuch
    [DEBUG] 18:34:23: _____27
    [DEBUG] 18:34:28: moc aktulna = 375.5
    [DEBUG] 18:34:28: slimak zadzialal x 6
    [DEBUG] 18:34:28: Slimak pracuje
    [DEBUG] 18:34:28: ******7
    [DEBUG] 18:34:33: moc aktulna = 71.6
    [DEBUG] 18:34:33: slimak zadzialal x 7
    [DEBUG] 18:34:33: Przedmuch
    [DEBUG] 18:34:33: _____28
    [DEBUG] 18:34:38: moc aktulna = 71.6
    [DEBUG] 18:34:38: slimak zadzialal x 7
    [DEBUG] 18:34:38: Przedmuch
    [DEBUG] 18:34:38: _____29
    [DEBUG] 18:34:43: moc aktulna = 71.6
    [DEBUG] 18:34:43: slimak zadzialal x 7
    [DEBUG] 18:34:43: Przedmuch
    [DEBUG] 18:34:43: _____30
    [DEBUG] 18:34:48: moc aktulna = 71.6
    [DEBUG] 18:34:48: slimak zadzialal x 7
    [DEBUG] 18:34:48: Przedmuch
    [DEBUG] 18:34:48: _____31
    [DEBUG] 18:34:53: moc aktulna = 362
    [DEBUG] 18:34:53: slimak zadzialal x 7
    [DEBUG] 18:34:53: Slimak pracuje
    [DEBUG] 18:34:53: ******8
    [DEBUG] 18:34:58: moc aktulna = 64.7
    [DEBUG] 18:34:58: slimak zadzialal x 8
    [DEBUG] 18:34:58: Pompa ON
    [DEBUG] 18:35:03: moc aktulna = 75.5
    [DEBUG] 18:35:03: slimak zadzialal x 8
    [DEBUG] 18:35:03: Przedmuch
    [DEBUG] 18:35:03: _____1
    [DEBUG] 18:35:08: moc aktulna = 75.5

     

    itd itd ...
     

    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...