# Czas trwania stanu encji

**URL:** <https://forum.arturhome.pl/t/czas-trwania-stanu-encji/14788>\
**Category:** Node-RED\
**Created:** [2 Kwiecień 2025 09:15 UTC](https://forum.arturhome.pl/t/czas-trwania-stanu-encji/14788 "2025-04-02T09:15:11Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Autor:** ![marcinwojciesz](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/m/f07891/32.png) [@marcinwojciesz](https://forum.arturhome.pl/u/marcinwojciesz)\
**Data wpisu:** [2 Kwiecień 2025 09:15 UTC](https://forum.arturhome.pl/t/czas-trwania-stanu-encji/14788/1 "2025-04-02T09:15:11Z")

</div>

Poproszę o pomoc w znalezieniu czasu trwania encji.

 ![image](https://forum.arturhome.pl/uploads/default/original/3X/d/4/d4c44176ced92237480a4c23ecfea4341837a91c.png)  
Jak widać na obrazku mam drzwi i potrzebuje w NR okreslic czas trwania tego ile czasu sa otwarte czy zamkniete. Nie chodzi o to co bylo tylko ile wynosi ten czas teraz. Czyli jak ulegnie zmianie stan, to juz nowy czas mi potrzebny.  
Zamysł jest taki:  
 ![image](https://forum.arturhome.pl/uploads/default/original/3X/4/e/4e9ac8ecad17a58558f2cf119966ce3187e0dfe3.png)  
Ale za nic nie moge wyciągnąć czasu - poprosze o pomoc - gdzie go znajde? jak wyciągnąc czast trwania??

---

<div class="post-metadata">

**Autor:** ![RobinI30](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/robini30/32/5835_2.png) [@RobinI30](https://forum.arturhome.pl/u/RobinI30)\
**Data wpisu:** [2 Kwiecień 2025 09:40 UTC](https://forum.arturhome.pl/t/czas-trwania-stanu-encji/14788/2 "2025-04-02T09:40:37Z")

</div>

> [@marcinwojciesz](#):
>
> Jak widać na obrazku mam drzwi

Prawe czy lewe?

Z każdego zdarzenia można uzyskać znacznik czasu, na podstawie różnicy można określić czas trwania stanu.  
Żeby nie przepisywać zapoznaj się z

> [@Kontrola czasu włączenia TV](https://forum.arturhome.pl/t/kontrola-czasu-wlaczenia-tv/10054):
>
> Witam Potrzebuję pomocy w wykonaniu “małej” kontroli rodzicielskiej a dokładnie kontroli włączenia telewizora. Ogarnąłem sobie już zliczanie czasu korzystania, wyłączanie TV, wł/wy całej “kontroli” ale ugrzęzłem z tematem dodania “dodatkowego” czasu oglądania. Nie chcę wchodzić w noda i ręcznie zmieniać wartości ale chciałbym dodać czas z poziomu panelu Mógłbym prosić o pomoc jak to ogarnąć?? Pozdrawiam

---

<div class="post-metadata">

**Autor:** ![marcinwojciesz](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/m/f07891/32.png) [@marcinwojciesz](https://forum.arturhome.pl/u/marcinwojciesz)\
**Data wpisu:** [2 Kwiecień 2025 11:03 UTC](https://forum.arturhome.pl/t/czas-trwania-stanu-encji/14788/3 "2025-04-02T11:03:18Z")

</div>

> [@RobinI30](#):
>
> Prawe czy lewe?

Hehe - tez o tym pomyślałem pisząc, ale do brzegu.  
Czytałem link o którym wspomniałeś - mam go nawet zastosowanego (tzn bawiłem się nim) ale:  
1 nie pokazuje mi czasu aktualnego tylko zlicza z jakiegos czasu - a ja potrzebuje czas jaki ma aktualny stan w tej chwili bez zliczania tego co byl 5 min wczesniej przed zmiana stanu,  
2 to nie pokazuje mi wartosci 1h 55m tylko z przecinkami jakies wartosci  
stosowałęm 2 rodzaje zapisów i w sumie bez wiekszych powodzen:

```auto

  - platform: history_stats
    name: czassdrzwi
    entity_id: binary_sensor.drzwi_wejsciowe_350
    state: "on"
    type: time
    start: "{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}"
    end: "{{ now() }}"

```

i taki

```auto
  - platform: history_stats
    name: czassdrzwi2
    entity_id: binary_sensor.drzwi_wejsciowe_350
    state: "on"
    type: time
    start: "{{ now().replace(hour=0, minute=0, second=0) }}"
    end: "{{ now() }}"

```

---

<div class="post-metadata">

**Autor:** ![RobinI30](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/robini30/32/5835_2.png) [@RobinI30](https://forum.arturhome.pl/u/RobinI30)\
**Data wpisu:** [2 Kwiecień 2025 11:29 UTC](https://forum.arturhome.pl/t/czas-trwania-stanu-encji/14788/4 "2025-04-02T11:29:27Z")

</div>

> [@marcinwojciesz](#):
>
> 1 nie pokazuje mi czasu aktualnego tylko zlicza z jakiegos czasu

Nie jakiś… tylko unixowy aktualny czas w msek od początku “epoki”.  
Z niego możesz wyciągnąć wszystko co potrzebujesz.  
Na pewno czytałeś tego linka (od przykładu 7)?

> **[Node.js timestamp](https://www.educba.com/node-dot-js-timestamp/)**
>
> Guide to Node.js timestamp. Here we discuss How setTimeout function works in Node.js along with the Examples in detail to understand easily.

Poza tym sama encja raportuje czas zdarzenia

 ![report](https://forum.arturhome.pl/uploads/default/original/3X/1/d/1ddaf678947ea50ec75acc823ea5282a36b1de04.png)

---

<div class="post-metadata">

**Autor:** ![marcinwojciesz](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/m/f07891/32.png) [@marcinwojciesz](https://forum.arturhome.pl/u/marcinwojciesz)\
**Data wpisu:** [2 Kwiecień 2025 11:46 UTC](https://forum.arturhome.pl/t/czas-trwania-stanu-encji/14788/5 "2025-04-02T11:46:29Z")

</div>

Encja pokazuje czas początku i konca ale nie daje samego czasu trwania.  
W linku który podales moge pobrac czas (tzn ja tak kumam - popraw mnie prosze jezeli gadam glupoty), ale trzeba by pewnie dopisac cos madrego zeby policzyc czas pomiedzy startem a koncem.

---

<div class="post-metadata">

**Autor:** ![RobinI30](https://forum.arturhome.pl/user_avatar/forum.arturhome.pl/robini30/32/5835_2.png) [@RobinI30](https://forum.arturhome.pl/u/RobinI30)\
**Data wpisu:** [2 Kwiecień 2025 11:58 UTC](https://forum.arturhome.pl/t/czas-trwania-stanu-encji/14788/6 "2025-04-02T11:58:31Z")

</div>

> [@marcinwojciesz](#):
>
> ale nie daje samego czasu trwania

Niczym to się nie różni od zliczania czasu włączenia TV - zapamiętujesz znacznik w momencie zmiany stanu, odejmujesz od znacznika “teraz” i masz czas trwania w msek.  
Różnicę możesz przedstawić w dowolnej formie np 1h 55min.  
Nie Ty pierwszy na tym forum się z tym borykasz 🙂 …temat jest w miarę rozpracowany.

---

<div class="post-metadata">

**Autor:** ![marcinwojciesz](https://forum.arturhome.pl/letter_avatar_proxy/v4/letter/m/f07891/32.png) [@marcinwojciesz](https://forum.arturhome.pl/u/marcinwojciesz)\
**Data wpisu:** [28 Kwiecień 2025 18:19 UTC](https://forum.arturhome.pl/t/czas-trwania-stanu-encji/14788/7 "2025-04-28T18:19:53Z")

</div>

Wiec jest tak:  
Z ogromną pomocą @bartik22 - któremu bardzo dziękuje - wydłubaliśmy coś takiego:

```auto
[{"id":"82494c9d3ad6296e","type":"tab","label":"czas","disabled":false,"info":"","env":[]},{"id":"6b67813945fa3858","type":"server-state-changed","z":"82494c9d3ad6296e","name":"","server":"e2200088.99288","version":6,"outputs":2,"exposeAsEntityConfig":"","entities":{"entity":["group.swiatlolazienka"],"substring":[],"regex":[]},"outputInitially":false,"stateType":"str","ifState":"on","ifStateType":"str","ifStateOperator":"is","outputOnlyOnStateChange":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":190,"y":120,"wires":[["4c0d118d00771113"],["a61c99d17f2302fe","a773cd64514dc3e5","2744bddf866ee2c3"]]},{"id":"bea75a04b07f0ec6","type":"function","z":"82494c9d3ad6296e","name":"[s] to [hh:mm:ss]","func":"msg.payload = (new Date(msg.count * 1000)).toUTCString().match(/(\\d\\d:\\d\\d:\\d\\d)/)[0];\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":140,"y":320,"wires":[["b59a3b4bea02177d"]]},{"id":"4c0d118d00771113","type":"delay","z":"82494c9d3ad6296e","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":520,"y":100,"wires":[["2fa640a3c7a53d2d"]]},{"id":"2fa640a3c7a53d2d","type":"trigger","z":"82494c9d3ad6296e","name":"","op1":"1","op2":"0","op1type":"str","op2type":"str","duration":"-1","extend":false,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":700,"y":120,"wires":[["6b6b58afb4a88129"]]},{"id":"a773cd64514dc3e5","type":"change","z":"82494c9d3ad6296e","name":"Reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":530,"y":180,"wires":[["6b6b58afb4a88129"]]},{"id":"6e743de8d9094453","type":"inject","z":"82494c9d3ad6296e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 01 * * *","once":false,"onceDelay":0.1,"topic":"","payloadType":"date","x":210,"y":180,"wires":[["a773cd64514dc3e5"]]},{"id":"6b6b58afb4a88129","type":"counter","z":"82494c9d3ad6296e","name":"","init":0,"step":"","lower":"","upper":"","mode":"increment","outputs":1,"x":860,"y":140,"wires":[["bea75a04b07f0ec6"]]},{"id":"b59a3b4bea02177d","type":"switch","z":"82494c9d3ad6296e","name":"czasy","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"00:15:00","vt":"str"},{"t":"eq","v":"00:30:00","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":330,"y":320,"wires":[["7b0f56fca77b4c88"],["2ddfb2a906b355b4"]]},{"id":"7b0f56fca77b4c88","type":"function","z":"82494c9d3ad6296e","name":"czas","func":"msg.wiadomosc = \n \"wlaczone przez \"+msg.payload+\".\";\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":490,"y":300,"wires":[["0ea6b51b3a4ffa47"]]},{"id":"81b9447acab999bc","type":"function","z":"82494c9d3ad6296e","name":"Pełna wiadomość","func":"msg.payload =\n{\n \"data\":\n {\n \"message\": msg.wiadomosc,\n }\n}\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":170,"y":420,"wires":[["5a0cb0d436511eee","1ba782deb1c5fc0c","d19a5b6a5a6b4632"]]},{"id":"a61c99d17f2302fe","type":"change","z":"82494c9d3ad6296e","name":"","rules":[{"t":"set","p":"reset","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":500,"y":140,"wires":[["2fa640a3c7a53d2d"]]},{"id":"5a0cb0d436511eee","type":"debug","z":"82494c9d3ad6296e","name":"debug 22","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":420,"y":480,"wires":[]},{"id":"c2e47ee78a8b537e","type":"inject","z":"82494c9d3ad6296e","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 01 * * *","once":false,"onceDelay":0.1,"topic":"","payloadType":"date","x":210,"y":80,"wires":[["4c0d118d00771113"]]},{"id":"2ddfb2a906b355b4","type":"function","z":"82494c9d3ad6296e","name":"czas jeszcze","func":"msg.wiadomosc = \n \"jeszcze wlaczone \"+msg.payload+\" .\";\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":510,"y":340,"wires":[["0ea6b51b3a4ffa47"]]},{"id":"d19a5b6a5a6b4632","type":"api-call-service","z":"82494c9d3ad6296e","name":"Głośnik","server":"e2200088.99288","version":7,"debugenabled":false,"action":"tts.reversotts_say","floorId":[],"areaId":[],"deviceId":[],"entityId":[],"labelId":[],"data":"{\"entity_id\":\"\",\"message\":\"My name is hanna\",\"language\":\"ru\",\"options\":\"platform specific\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","blockInputOverrides":false,"domain":"tts","service":"reversotts_say","x":420,"y":400,"wires":[[]]},{"id":"0ea6b51b3a4ffa47","type":"api-call-service","z":"82494c9d3ad6296e","name":"glosnosc","server":"e2200088.99288","version":7,"debugenabled":false,"action":"media_player.volume_set","floorId":[],"areaId":[],"deviceId":[],"entityId":["media_player.lazienka_nowy"],"labelId":[],"data":"{\"volume_level\":\"0.2\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","blockInputOverrides":false,"domain":"media_player","service":"volume_set","x":740,"y":320,"wires":[["81b9447acab999bc"]]},{"id":"1ba782deb1c5fc0c","type":"api-call-service","z":"82494c9d3ad6296e","name":"powiadomienie telegram","server":"e2200088.99288","version":7,"debugenabled":false,"action":"notify.domlili_bot","floorId":[],"areaId":[],"deviceId":[],"entityId":[],"labelId":[],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"data"}],"queue":"none","blockInputOverrides":false,"domain":"notify","service":"domlili_bot","x":470,"y":440,"wires":[[]]},{"id":"b3421da298068085","type":"comment","z":"82494c9d3ad6296e","name":"co bym chcial po tym jak sygnal bedzie \"off\"","info":"","x":470,"y":620,"wires":[]},{"id":"2744bddf866ee2c3","type":"ui_text_input","z":"82494c9d3ad6296e","name":"","label":"tu chcialbym aby policzylo laczny czas co do sekundy i wyslalo do glosnika","tooltip":"","group":"","order":0,"width":0,"height":0,"passthru":true,"mode":"text","delay":300,"topic":"topic","sendOnBlur":true,"className":"","topicType":"msg","x":490,"y":680,"wires":[[]]},{"id":"353eaa1038f4b4e6","type":"comment","z":"82494c9d3ad6296e","name":"w powiadomieniu na glosnik aby nie mowil słowa \"godzina\"","info":"","x":710,"y":400,"wires":[]},{"id":"e2200088.99288","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true}]

```

co wygląda tak:

 ![image](https://forum.arturhome.pl/uploads/default/original/3X/e/9/e996b2e06959fd78cff816adc512a56058414eff.png)

Poprosze o pomoc w 2 kwestiach:  
1 - w powiadomieniu na głośnik pada słowo “godzina” które chciałbym wyeliminować - kompletnie nie wiem jak.  
2 - na koniec po osiągnieciu stanu “off” chciałbym aby na telegrama wysłana została wiadomość o łącznym czasie co do sekundy i na głośnik też bez słowa “godzina” jak wczesniej
