Raspberry pi 4 prze...
 
Powiadomienia
Wyczyść wszystko

[Rozwiązany] Raspberry pi 4 przekaźniki wpięte do GPIO po restarcie nie chodzą

4 Wpisów
2 Użytkownicy
0 Likes
1,143 Wyświetleń
(@diunida)
Wpisów: 5
Bywalec
Autor tematu
 

Witam, dopiero się zapisałem na grupę, robię już trzeciego domoticza, tym razem na malince 4, poprzednie były na 1 i 3.

Zainstalowałem wszystko tzn: domoticz, influxDB i grafanę

Problem mam taki:

po dodaniu w urządzeniach "Generic sysfs GPIO"

pokazały mi się uruchomione wcześnie piny gpio (2 z czujnikami do drzwi i 2 z przekaźnikami)

wszystko ładnie odpaliło i chodziło do restartu.

Po restarcie czujniki do drzwi chodziły dalej ale przy próbie przełączenia przekaźnika pokazywało się:

"Error sending switch command, check device/hardware (idx=12) !"

zacząłem sprawdzać czy można przełączać z poziomu systemu:

"echo 1 > /sys/class/gpio/gpio17/value" --> działa

więc zacząłem szukać w samym domoticzu.

Okazało się że jakakolwiek zmiana w "sprzęcie" (tym Generic sysfs GPIO), dzała cuda i po upgrade sprzętu przekaźniki chodzą,

okazało się że nie musi być żadnej zmiany wystarczy tylko wczytać i dać upgrade (bez zmiany).

Nie jestem zbyt wgłębiony w domoticza więc zdecydowałem się na drogę na około:

Wykorzystałem interface json, dopisałem do pliku uruchomiającego domoticz.sh linijkę z upgrade sprzętu:

curl -u : -s -i -H "Accept: application/json" "http://localhost:8080/json.htm?type=command&param=updatehardware&htype=102&name=&enabled=true&idx=&Mode1=1&Mode2=50"

Mam nadzieję że komuś się to przyda, a jak nie to może mnie się przyda kiedyś.

 
Dodane : 21/09/2020 10:11 am
(@diunida)
Wpisów: 5
Bywalec
Autor tematu
 

Niestety okazuje się że więcej "urządzeń" nie chodzi w ten sposób, dodałem dzisiaj konwerter USB->1wire, efekt jest taki sam, nie odbiera danych w domoticz (dane w systemie są) i podobnie jak gpio, po "upgrade" sprzętu wszystko rusza.

Nie wiecie czy to jakiś "bug", a może ktoś będzie wiedział co przestawić, poprawić w domoticzu?

 
Dodane : 23/09/2020 10:29 pm
(@diunida)
Wpisów: 5
Bywalec
Autor tematu
 

Chyba znalazłem rozwiązanie, z logów wynikało że podpięcie 1wire startowało później niż domoticz.

Robię teraz tak:

Dodałem do rc.local na końcu wpis który po upływie 10 sekund restartuje domoticza.

Wygląda na to że wszystko chodzi poprawnie.

 
Dodane : 24/09/2020 8:46 am
isom
 isom
(@isom)
Wpisów: 5085
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@diunida Dziwnie to się u Ciebie zachowuje , po zdeklarowaniu GPIO w pliku domoticz.sh i odpaleniu Generic sysfs GPIO , mogę dowolną ilość razy restartować malinę i zawsze GPIO OUT działają

Może zamiast kombinować z rc.local i dodwać dodatkowe wpisy ustaw żeby domoticz startował po otrzymaniu prawidłowego czasu z ntp

jak nie masz to zainstaluj

sudo apt install ntp

edytuj  /etc/init.d/domoticz.sh i po 

do_start()
{

wkej

ntp-wait
if [[ $? -ne 0 ]];then
echo ntp-wait did return with an error condition
exit 1
fi

potem przeładuj

sudo systemctl daemon-reload

 

 
Dodane : 24/09/2020 9:58 am
Udostępnij: