Asystent AI
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 Reactions
1,760 Wyświetleń
(@diunida)
Wpisów: 5
Bywalec
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#1904]

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
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

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
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

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: 5319
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@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: