Sprawdzanie stanu p...
 
Powiadomienia
Wyczyść wszystko

Sprawdzanie stanu przekaźnika

6 Wpisów
3 Użytkownicy
0 Likes
1,570 Wyświetleń
(@jajen)
Wpisów: 93
Pomocny Donator 2K19
Autor tematu
 

Czy ktoś doradzi jak podejść do tematu integracji z domoticzem sterowników sterowanych po http żeby domoticz odpytywał o stan przekażnika. Sterownik komunikuje go po http://numer_ip/values  tj. 0 dla przekaźnika wyłączonego; 1 dla zwartego podawane w kolejnych linijkach obrazujących stan danego przekaźnika. Jest jakis sposób, żeby odczytać tak podany stan?

 
Dodane : 27/01/2020 3:52 pm
isom
 isom
(@isom)
Wpisów: 5084
Szef wszystkich szefów Moderator Zasłużony dla Forum, Donator 2K19, Donator 2K20
 

@jajen podajesz stanowczo za mało informacji, sam fakt że możesz załączyć przekaźnik wysyłając komendę http nic nikomu nie mówi. Czy załączenie tego przekaźnika jest jakoś raportowane np w aplikacji na telefon, chodzi o to że np załączasz z laptopa a stan w aplikacji telefon się aktualizuje  i odwrotnie też, jeżeli nie czy jesteś w stanie zaingerować w kod programu dla tych przekaźników ? Bez takich informacji nikt nie będzie zgadywał.

 

 

 
Dodane : 27/01/2020 5:31 pm
(@jajen)
Wpisów: 93
Pomocny Donator 2K19
Autor tematu
 

Nie ma żadnej aplikacji. Sterowanie wygląda tak jak poniżej (przykładowe komendy)

http://192.168.9.19/?cmd=1     pierwszy pk załacza

http://192.168.9.19/?cmd=0  pierwszy pk rozłącza

http://192.168.9.19/?cmd=3  drugi pk załącza

http://192.168.9.19/?cmd=2 drugi pk rozłącza

i tak dalej. Sterownik sam nie wysyła informacji zwrotnej. Trzeba się o nią zapytać komendą http://192.168.9.19/values  W odpowiedzi sterownik pokazuje na pierwszym miejscu status pierwszego przekaźnika (1 albo 0), na drugim drugiego (1 albo 0), a w kolejnych linijkach są inne dane (np. wartość temperatury, wartość ciśnienia). Fajnie byłoby też móc wyciągnąć informacje z kolejnych linijek (o temperaturze, ciśnieniu itd). Ale priorytetem jest dla mnie status przekaźników. Chciałbym to zrobić bez ingerowania w kod sterownika.

 
Dodane : 27/01/2020 6:24 pm
(@mirmil99)
Wpisów: 181
Pomocny
 

wklej tutaj odpowiedz po http://192.168.9.19/values dokladnie w takiej formie jak jest to przedstawiane

 
Dodane : 27/01/2020 11:15 pm
(@jajen)
Wpisów: 93
Pomocny Donator 2K19
Autor tematu
 
0
1
0
0
1650

Cztery pierwsze wartości to stan przekazników, piąta to temperatura czujnika (16,50C). 

 
Dodane : 27/01/2020 11:32 pm
(@mirmil99)
Wpisów: 181
Pomocny
 

jezeli to jest zawsze tak wyswietlane, to da cos sie zrobic np. skryptem basha i cronem (bedzie jakas zwloka przy okreslaniu stanu), ale to juz nie dzis, jutro rano do roboty

dobra skoro juz wiemy, ze sie publikuje do pliku, to reszta raczej prosta.

Musimy doinstalowac bc (pakiet dla liczb zmiennoprzecinkowych w bashu) oraz warto miec clienta mqtt

sudo apt-get update
sudo apt-get install mosquitto-client
sudo apt-get install bc

a w skrypcie np cos takiego:

#!/bin/bash

#curl "http://192.168.9.19/values" > zmienne.txt

P1=`awk "NR == 1" zmienne.txt`
P2=`awk "NR == 2" zmienne.txt`
P3=`awk "NR == 3" zmienne.txt`
P4=`awk "NR == 4" zmienne.txt`
temp1=`awk "NR == 5" zmienne.txt`
#temp="$["$temp1/100" | bc]"
temp=`echo "scale=1;$temp1/100" | bc `

echo "$P1 $P2 $P3 $P4 $temp"

#dla pierwszego przekaznika (do wyboru mqtt (publikuje jednoczesnie stan dla
#przelacznika tekstowego i on/off) lub http), pozostale analogicznie, IDX - wstaw swoj numerek;)

if [[ $P1 == 1]]; then
mosquitto_pub -t 'domoticz/in' -m '{"command":"udevice","idx":IDX,"nvalue":1,"svalue":"Aktywny"}'
# curl "http://IP:PORT/json.htm?type=command&param=switchlight&idx=IDX&switchcmd=On"
else
mosquitto_pub -t 'domoticz/in' -m '{"command":"udevice","idx":IDX,"nvalue":0,"svalue":"nieAktywny"}'
# curl "http://IP:PORT/json.htm?type=command&param=switchlight&idx=IDX&switchcmd=Off"
fi

#dla temperatury

mosquitto_pub -t 'domoticz/in' -m '{ "idx":IDX, "nvalue":0, "svalue": "'$temp'" }'

i oczywiscie skrypt do crona, czestotliwosc odpytywania zalezna od koniecznosci sprawdzania czestotliwosci stanu przekaznikow i publikowania temperatury, nie bardzo mam jak sprawdzic w tej chwili, czyli daj znac czy dziala;)

 
Dodane : 28/01/2020 12:49 am
Udostępnij: