Poddaję się. Nie mam pojęcia co zrobić aby bramka zaakceptowała rozkaz. Chyba już za długo przy tym siedzę ...
Poniżej mój skrypt, który do tej pory się sprawdzał w innych zastosowaniach.

#!/bin/sh

# 1. telnet do MAXCube i zapis komendy do radiatora określonego $1

WYJ="^c"
WYJ1="e"
MAXip="192.168.1.224 62910"
SEKW=$(head -c 19 /tmp/max_rad_off_$1)
LF='\x0d'
CR='\x0a'

echo -e "$SEKW"
# echo -e $CR

tpipe()
{

sleep 5
echo -e $SEKW$LF$CR
echo -e $CR
echo -e $WYJ
echo -e $WYJ1

}

tpipe | telnet $MAXip

exit 0
-----------------
Prośba o pomoc ...
Założenie podstawowe: komenda do wysłania zapisana jest w pliku w postaci " s:AARAAAAADeioBgk=". Do bramki trzeba wysłać: " s:AARAAAAADeioBgk=\r\n"

Cezary napisał/a:

Bo windows ma inne końce linii smile Sprawdź, jak masz "normalny" program do telnetu to można w nim sterować co jest jako enter wysyłane.

OK - sprawdzę wieczorem i dam znać co ustaliłem. Póki co dziękuję za pomoc :-)

Cezary napisał/a:

Ale jak robisz to ręcznie w telnecie to jak wysyłasz windziany koniec linii? Przecież jak zrobisz zwykłe wklej i enter to nie leci to co chcesz.

??? to dlaczego ta metoda działa w Windows? Ale być może coś jest na rzeczy? (nie upieram się). Po powrocie do domu sprawdzę kopiując zawartość okna do schowka (zanim zamknę telneta) ...

Jednak ... skłaniam się do tezy, że bramka zapamiętuje IP uzgodnione wcześniej z programem MAX! posadowionym na PC z IP=192.168.1.171 ... Dlatego telnet tu działa, a nie działa na ruterze który ma inny IP. Chyba muszę 'rozwalić' protokół tzn. wykryć, w jaki sposób jest realizowany 'handshake' pomiędzy urządzeniami. To jest oczywiście moje gdybanie ... Co o tym sądzisz?

Docelowo - skryptem ...
W fazie prób - z palca tzn. wykonuję:
1) telnet 192.168.1.224 62910
2) czekam kilka sekund aż bramka skończy wysyłanie informacji i
3) wklejam z pomocą myszy treść komendy przygotowanej wcześniej i zapisanej w pliku.

Powyższe działa w telnecie na PC (Windows XP) o czym wspomniałem w pierwszym poście ...
Ciekawe jest to, że w Windows musiałem dołożyć przed komendą 'spację' aby została ona zinterpretowana przez bramkę (odkryłem to zresztą przez przypadek). Może to jest jakiś trop?

hexdump z komendy zapisanej w pliku:
root@Gargoyle:~# hexdump  -C -n 21 /tmp/max_rad_on_KOM

00000000  20 73 3a 41 41 52 41 41  41 41 41 44 65 69 6f 42  | s:AARAAAAADeioB|
00000010  6a 30 3d 0d 0a                                    |j0=..|

Poprawnie  - wysyłanie rozkazu zawsze kończone tak jak tego wymaga protokół, czyli \x0d\x0a

Jak w tytule. Ww. bramka jest 'mózgiem' systemu sterowania ogrzewaniem (system radiowy). Podłączona do rutera MR3420 kablem LAN (gniazdo LAN1). Połączenie z bramką za pomocą telnetu działa, ale połowicznie. Po wydaniu polecenia: telnet 192.168.1.224 62910
bramka automatycznie zwraca informacje o konfiguracji i aktualnym statusie systemu ...
Do szczęścia brakuje mi możliwość wpływania na parametry systemu za pomocą komend wysyłanych do bramki.
Przykład takiej komendy poniżej (tu ustawianie temperatury na termostacie):
s:AARAAAAADeiyAgk=\r\n
Problem polega na tym, że z poziomu rutera na komendy bramka nie reaguje. Ale ... z komputera, na którym zainstalowany jest program fabryczny do komunikacji z bramką (MAX!) o adresie 192.168.1.171 telnet działa i komendy są
wykonywane ...(komputer z Windows XP i reszta urządzeń sieciowych są podłączone za pośrednictwem switcha'a Dlink do portu LAN3 rutera).

Prośba o pomoc w tym temacie.

Więcej o systemie MAX! i jego komponentach na stronie producenta: http://www.eq-3.de/
Tutaj szczegółowe informacje o protokole bramki MAX! Cube: http://www.domoticaforum.eu/viewtopic.p … amp;t=6654

Włodek

Witam. To mój pierwszy wpis ... Ponieważ korzystam z Aero2 i VOIP-a z powodzeniem podam swoje sposoby na działanie VOIP-a (dzwonienie po numerach; nie sprawdzałem po loginach!).
1. na Fritzu zainstalowany skrypt który co godzinę wykonuje komendę 'voipd -R' (skrypt znaleziony kiedyś w internecie, niestety nie pamiętam gdzie i kto jest jego autorem ...)
2. na Gargoyle (wersja 1.5.10.12 (r37768) skrypt który regularnie co godzinę (x:00) wymusza "ifup wan"
3. oprócz powyższego co 3 minuty uruchamiany 3gtester
4. Firewall i przekierowania portów 5060-5061 oraz 7077-7089 na Fritz'a ze stałym adresem IP

ad.1) treść skryptu:
# zawartosc pliku debug.cfg
# sprawdzenie czy istnieje plik: cat /var/flash/debug.cfg
# jesli nie istnieje to: echo "#!/bin/sh" > /var/flash/debug.cfg
# skrypt ktory wgrywamy do debug.cfg na koncu (!)
#'voipd -R' co godzine

#!/bin/sh
while true
do
sleep 10
date | grep :00:
if [ $? -eq 0 ]; then
  /bin/voipd -R
fi
done

Działanie: o każdej godzinie 00 jest wymuszana rejestracja bramki u providera; wymuszenie począwszy od XX:00:00 do XX:00:59; sleep 10 na początku powoduje, że wymuszenie wystąpi 5 razy (tu założenie, że połączenie z Aero2 nastąpi w ciągu jednej minuty; u mnie standardowo połączenie jest wznawiane po 10-11 sec.).

Powyższe powoduje, że nie ma żadnych problemów z dodzwanianiem się do mnie (numer w HappyCall) o dzwonieniu na zewnątrz nie wspominając ... Wcześniej były problemy z dodzwonieniem do mnie (zalogowaniem w HappyCall) do momentu gdy zmieniłem zakres portów z 7078-7089 na 7077-7089 (!). Od 48 godzin (odpukać) wszystko działa poprawnie ...

Może to ważne: do BTS-a mam 200 metrów.