Powiadomienia
Wyczyść wszystko

Skrypt dzVents RFID + przekaźnik

isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

Poniżej skrypt który obsługuje czytnik RFID i po odczytaniu poprawnego kodu (tag) włącza lub wyłącza przekaźnik.

Skrypt należy dodać do Zdarzenia dzVents - ALL usuwając oczywiście przykłady które się tam znajdują . W skrypcie należy zmienić nazwy zgodnie z komentarzami i wpisać prawidłowy TAG  

Czujnik RFID w domoticz  dodajemy jako TEXT sensor

 

Cytuj
Autor tematu Dodane : 21/10/2020 10:46 pm
muchac35 polubień
muchac35
(@muchac35)
Ekspert

Ok bardzo dziękuję ale na razie walczę z covid

OdpowiedzCytuj
Dodane : 26/10/2020 4:12 pm
muchac35
(@muchac35)
Ekspert
Dodane przez: @isom

Poniżej skrypt który obsługuje czytnik RFID i po odczytaniu poprawnego kodu (tag) włącza lub wyłącza przekaźnik.

Skrypt należy dodać do Zdarzenia dzVents - ALL usuwając oczywiście przykłady które się tam znajdują . W skrypcie należy zmienić nazwy zgodnie z komentarzami i wpisać prawidłowy TAG  

Czujnik RFID w domoticz  dodajemy jako TEXT sensor

 

ok działa od razu

tylko zachowuje się to tak:
gdy zbliżę kartę z kodem który jest wprowadzony w skrypcie to załącza się w domoticzu i gdy wyłączę ręcznie ten przełącznik (lub ustawie Opóźnienie wył) to mimo przykładania karty przełącznik się już nie załączy, muszę przyłożyć inną kartę i innym dowolnym kodem wtedy dopiero gdy ponownie zbliżę kartę z poprawnym kodem przełącznik się załącza.
a ja chciałbym aby zawsze gdy przyłożę odpowiedni kod przełącznik się załącza (bez zbliżania innych kart)

OdpowiedzCytuj
Dodane : 02/11/2020 8:35 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@muchac35 sprawdź czy każde przyłożenie karty z poprawnym Tagiem  aktualizuje czujnik w domoticz , przypuszczam że nie i to jest powodem takiego działania. Możesz też wrzucić poniższy skrypt i wstawić tu logi z domoticz po użyciu dobrej karty kilka razy 

OdpowiedzCytuj
Autor tematu Dodane : 02/11/2020 9:59 pm
muchac35
(@muchac35)
Ekspert

@isom log z domoticza z tym drugim skryptem chyba właśnie nie aktualizuje kodu w domoticzu (jesli juz poda do domoticza kod i jesli jeszcze raz RFID odczyta ten sam kod to go już nie przesyła do domoticza)
ten log to jest zblizenie prawidłowej karty 5x a nastepnie 1x innej karty z innym kodem wyglada na to ze 1 zblizenie reaguje a kolejne nie dopuki nie zblize innej karty

2020-11-03 17:15:44.704 Status: dzVents: Info: Handling events for: "rfid", value: "3615475893"
2020-11-03 17:15:44.705 Status: dzVents: Info: Czytnik RFID: ------ Start internal script: Script #1: Device: "rfid (IP 186 wemos mini)", Index: 310
2020-11-03 17:15:44.706 Status: dzVents: Debug: Czytnik RFID: Processing device-adapter for testrfid: Switch device adapter
2020-11-03 17:15:44.706 Status: dzVents: Debug: Czytnik RFID: Constructed timed-command: Off
2020-11-03 17:15:44.706 Status: dzVents: Debug: Czytnik RFID: Constructed timed-command: Off
2020-11-03 17:15:44.706 Status: dzVents: Info: Czytnik RFID: Przekaznik jest wyłączony
2020-11-03 17:15:44.706 Status: dzVents: Info: Czytnik RFID: ------ Finished Script #1
2020-11-03 17:15:44.707 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
2020-11-03 17:16:06.404 Status: dzVents: Info: Handling events for: "rfid", value: "664803759"
2020-11-03 17:16:06.404 Status: dzVents: Info: Czytnik RFID: ------ Start internal script: Script #1: Device: "rfid (IP 186 wemos mini)", Index: 310
2020-11-03 17:16:06.405 Status: dzVents: Debug: Czytnik RFID: Processing device-adapter for testrfid: Switch device adapter
2020-11-03 17:16:06.405 Status: dzVents: Info: Czytnik RFID: ------ Finished Script #1
2020-11-03 17:16:20.746 Status: dzVents: Info: Handling events for: "rfid", value: "3615475893"
2020-11-03 17:16:20.746 Status: dzVents: Info: Czytnik RFID: ------ Start internal script: Script #1: Device: "rfid (IP 186 wemos mini)", Index: 310
2020-11-03 17:16:20.747 Status: dzVents: Debug: Czytnik RFID: Processing device-adapter for testrfid: Switch device adapter
2020-11-03 17:16:20.747 Status: dzVents: Debug: Czytnik RFID: Constructed timed-command: On
2020-11-03 17:16:20.747 Status: dzVents: Debug: Czytnik RFID: Constructed timed-command: On
2020-11-03 17:16:20.747 Status: dzVents: Info: Czytnik RFID: Przekaznik jest włączony
2020-11-03 17:16:20.748 Status: dzVents: Info: Czytnik RFID: ------ Finished Script #1
2020-11-03 17:16:20.748 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
2020-11-03 17:16:23.507 Status: dzVents: Info: Handling events for: "rfid", value: "664803759"
2020-11-03 17:16:23.508 Status: dzVents: Info: Czytnik RFID: ------ Start internal script: Script #1: Device: "rfid (IP 186 wemos mini)", Index: 310
2020-11-03 17:16:23.509 Status: dzVents: Debug: Czytnik RFID: Processing device-adapter for testrfid: Switch device adapter
2020-11-03 17:16:23.509 Status: dzVents: Info: Czytnik RFID: ------ Finished Script #1
2020-11-03 17:16:28.943 Status: dzVents: Info: Handling events for: "rfid", value: "3615475893"
2020-11-03 17:16:28.943 Status: dzVents: Info: Czytnik RFID: ------ Start internal script: Script #1: Device: "rfid (IP 186 wemos mini)", Index: 310
2020-11-03 17:16:28.944 Status: dzVents: Debug: Czytnik RFID: Processing device-adapter for testrfid: Switch device adapter
2020-11-03 17:16:28.944 Status: dzVents: Debug: Czytnik RFID: Constructed timed-command: Off
2020-11-03 17:16:28.944 Status: dzVents: Debug: Czytnik RFID: Constructed timed-command: Off
2020-11-03 17:16:28.944 Status: dzVents: Info: Czytnik RFID: Przekaznik jest wyłączony
2020-11-03 17:16:28.944 Status: dzVents: Info: Czytnik RFID: ------ Finished Script #1
2020-11-03 17:16:28.945 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
2020-11-03 17:16:33.805 Status: dzVents: Info: Handling events for: "rfid", value: "664803759"
2020-11-03 17:16:33.805 Status: dzVents: Info: Czytnik RFID: ------ Start internal script: Script #1: Device: "rfid (IP 186 wemos mini)", Index: 310
2020-11-03 17:16:33.806 Status: dzVents: Debug: Czytnik RFID: Processing device-adapter for testrfid: Switch device adapter
2020-11-03 17:16:33.806 Status: dzVents: Info: Czytnik RFID: ------ Finished Script #1
2020-11-03 17:16:38.060 Status: dzVents: Info: Handling events for: "rfid", value: "3615475893"
2020-11-03 17:16:38.060 Status: dzVents: Info: Czytnik RFID: ------ Start internal script: Script #1: Device: "rfid (IP 186 wemos mini)", Index: 310
2020-11-03 17:16:38.063 Status: dzVents: Debug: Czytnik RFID: Processing device-adapter for testrfid: Switch device adapter
2020-11-03 17:16:38.063 Status: dzVents: Debug: Czytnik RFID: Constructed timed-command: On
2020-11-03 17:16:38.063 Status: dzVents: Debug: Czytnik RFID: Constructed timed-command: On
2020-11-03 17:16:38.063 Status: dzVents: Info: Czytnik RFID: Przekaznik jest włączony
2020-11-03 17:16:38.063 Status: dzVents: Info: Czytnik RFID: ------ Finished Script #1
2020-11-03 17:16:38.065 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua
OdpowiedzCytuj
Dodane : 03/11/2020 5:21 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@muchac35 to powinno rozwiązać problem , po odczytaniu prawidłowego kodu czytnik po 2 sek ustawi się na 12345678 i znów powinien reagować na poprawny kod 

OdpowiedzCytuj
Autor tematu Dodane : 03/11/2020 10:27 pm
muchac35
(@muchac35)
Ekspert

@isom

niestety skrypt nie aktualizuje TAG na 12345678 ani też teraz nie zmienia stanu przekaźnika

nazwę przekaźnika w domoticzu mam testrfid
w espeasy name device mam RFID

 

return {
on = {
devices = {'RFID'} -- zmien nazwe na swoj czytnik typ tekst
},
logging =
{
level = domoticz.LOG_DEBUG,
marker = 'Czytnik RFID',
},
execute = function(dz, item)
local relay = dz.devices('testrfid') -- zmien nazwe "Przekaznik" na swoj przelacznik w domoticz
if (item.rawData[1]=="3615475893") and relay.state == 'Off' then
relay.switchOn()
dz.devices('RFID').updateText(12345678).afterSec(2) -- po 2 sek czytnik aktualizuje stan na 12345678
dz.log('Przekaznik jest On')
elseif (item.rawData[1]=="3615475893") and relay.state == 'On' then
relay.switchOff()
dz.devices('RFID').updateText(12345678).afterSec(2) -- po 2 sek czytnik aktualizuje stan na 12345678
dz.log('Przekaznik jest Off')
end
end
}

OdpowiedzCytuj
Dodane : 04/11/2020 1:33 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@muchac35 I co mam zrobić taką informacją ? Prześwietlić zdalnie twój system ? Nie podałeś mi przecież danych do logowania to co mam zrobić ? Może chociaż byś logi wstawił co ? Ja swoje mogę wstawić i tak to działa na takich ustawieniach jak masz u siebie 

logi
Jak widać włącza i wyłącza przekaźnik a na dodatek zmienia wartość czytnika na 12345678 , dlaczego ? 
OdpowiedzCytuj
Autor tematu Dodane : 04/11/2020 3:51 pm
muchac35
(@muchac35)
Ekspert

@isom

sory faktycznie nie podałem żadnych informacji
teraz odkryłem że skrypt zmienia wartość na 12345678 ale tylko w domoticzu a w espeasy ciągle jest moja wartość 3615475893 dopiero gdy zbliżę inną kartę w espeasy zmienia się na inny kod i wtedy mogę zblizyć kartę z kodem  3615475893 i wtedy załącza przekaźnik

OdpowiedzCytuj
Dodane : 04/11/2020 9:39 pm
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@muchac35 no to mamy temat zakończony, espeasy powinno za każdym razem aktualizować czujnik w domoticz , tak jak aktualizuje się temperatura nawet gdy jest cały czas taka sama. Skoro espeasy nie robi tego co powinno to skrypt nic tu nie pomoże, bo on się uruchamia jak zobaczy poprawny kod w czujniku rfid 

OdpowiedzCytuj
Autor tematu Dodane : 04/11/2020 10:41 pm
muchac35
(@muchac35)
Ekspert

@isom

Espeasy aktualizuje w domoticz kod gdy fizycznie zblizam kartę ale nie dziala to w drugą stronę jesli skrypt zmienia w domoticzu na 12345678 nie jest to przesylane do espeasy

Jest mozliwe aby skrypt zmienial kod bezposrednio w espeasy?

OdpowiedzCytuj
Dodane : 05/11/2020 7:10 am
isom
 isom
(@isom)
Prezes Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20

@muchac35 widze że chcesz tworzyć automatykę na nowo , skrypt ma aktualizować czytnik kart ? to tak jak byś chciał skryptem aktualizować czujnik temperatury - jak jest zimno i pokazuje 2 stopnie to niech skrypt zrobi żeby pokazywał 20 st. To po co wtedy dokładny termometr ?

Jeżeli espeasy zawsze aktualizuje czytnik i wysyła te dane do czujnika w domoticz to będzie działać tak jak u mnie , to skrypt uruchamia przekaźnik w esp , a esp ma tylko zmieniać 12345678 na prawidłowy kod odczytany z karty

Taki przykład esp ma podłączony termometr i wysyła 10 stopni do domoticz , ja mogę zmienić te wskazania w domoticz na dowolną temp , ale esp aktualizując czujnik znów przywróci prawidłowe wskazanie 10 stopni. To samo z czytnikiem my skryptem zmieniamy na 12345678 a czytnik po odebraniu prawidłowego kodu powinien go wysłać do domoticz

OdpowiedzCytuj
Autor tematu Dodane : 05/11/2020 7:33 am
kniazio
(@kniazio)
Majster Donator 2K21 Zarejestrowany

U mnie jest taki problem ze czujnik typuTtekst odczytuje taga jako ^ a co za tym idzie nie dziala

OdpowiedzCytuj
Dodane : 10/10/2021 3:22 pm
Udostępnij: