251 (edytowany przez wabikboy 2014-03-08 12:55:01)

Odp: USB Relay - plugin do Gargoyle

poprawiona wersja jest w poscie 218
działa nawet odświeżanie ikonki na czas przełączenia

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

252

Odp: USB Relay - plugin do Gargoyle

wabikboy napisał/a:

poprawiona wersja jest w poscie 218
działa nawet odświeżanie ikonki na czas przełączenia

Sprawdzone na szybko i działa, strona nie jest zamrożona smile, ale wylogować się nie można ? Po ustawieniu chwilówek i wylogowaniu, nie wykonają się te czynności.

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

253 (edytowany przez wabikboy 2014-03-08 13:27:04)

Odp: USB Relay - plugin do Gargoyle

Chwilówki to skrypt wykonywany w przeglądarce, nie w routerze dlatego nie wykona się jeśli zmienimy zakładkę w panelu GUI

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

254

Odp: USB Relay - plugin do Gargoyle

wabikboy napisał/a:

Chwilówki to skrypt wykonywany w przeglądarce, nie w routerze dlatego nie wykona się jeśli zmienimy zakładkę w panelu GUI

To w takim razie wydaje się że wszystko działa włącznie z odświeżaniem ikonek, chyba nie spałeś i w nocy to robiłeś wink, Dziękuję.

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

255

Odp: USB Relay - plugin do Gargoyle

Nie, smile  teraz w przerwie w pracy wink + chwila na testy, w zasadzie tylko usunąłem kilka linijek kodu funkcji sleep, a dodałem jedną która działa lepiej smile Nie wiem dlaczego wcześniej tego nie zrobiłem, bo parę razy patrzyłem na to rozwiązanie.

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

256

Odp: USB Relay - plugin do Gargoyle

Potwierdzam działa. Na przeglądarkach androida równieź. :-)

257 (edytowany przez enrike4 2014-03-08 15:40:31)

Odp: USB Relay - plugin do Gargoyle

witam!

Chciałbym zapytać;

1: czy można takim przekaźnikiem sterować poprzez lan ( bo takie chyba są)?
2:  ew czy można w takiej karcie ze sterowaniem usb podłączyć kartę usb-lan (wi-fi) i tym sterować?

258

Odp: USB Relay - plugin do Gargoyle

Tzn jak kupisz sobie taki przekaźnik który ma port lan to ... tak.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

259

Odp: USB Relay - plugin do Gargoyle

a druga kwestia?

260

Odp: USB Relay - plugin do Gargoyle

Nie. Przecież usb to usb kliencie nie host, który miałby kartę obsłużyć.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

261

Odp: USB Relay - plugin do Gargoyle

Czesc,

@wabikboy - mam prosbe do Ciebie, czy nie da sie zrobic zeby checkboxy pozostaly po zaznaczeniu na stale ? za kazdym razem jak chce uzyc chwilowki musze zanaczac checkboxa. No i 2 rzadki by sie przydaly przynajmniej - da rade ?

TL-WR1043 @ FLASH 16MB @64RAM, GG & LuCi, 433TX PowerSwitch - podlewanie routerem, MWAN3;TL-WR-743 ;TL-MR3040 ;TL-WR-842;TL-WR-941 FLASH 16MB  @64RAM o/c 450MHz www u-boot; ; EDIMAX NS-1500N ramips; sensbase , 5  x sensnodeTX + emon -  openenergy.org, JeeLabs & http://digi-led.pl interfejs Gargoyle na Rpi jako menu do iradio usbrelay i zadania cron, GPS tracker DOCKER, openhab RPI.

262 (edytowany przez wabikboy 2014-03-10 22:38:45)

Odp: USB Relay - plugin do Gargoyle

Kolejna poprawka, zapamiętywanie ostatniego wyboru checkbox i czasu wyłączenia.
Pamięć stanu zapisana w "cookie" więc konieczność włączenia obsługi w przeglądarce.
@Cezary czy to dobre rozwiązanie z cookie ?? jak coś to zmienię na plik.

/*
 * This program is copyright © 2014 Cezary Jackiewicz and is distributed under the terms of the GNU GPL
 * version 2.0 with a special clarification/exception that permits adapting the program to
 * configure proprietary "back end" software provided that all modifications to the web interface
 * itself remain covered by the GPL.
 * See [url]http://gargoyle-router.com/faq.html#qfoss[/url] for more information
 */

usbrelayS = new Object();

var flaga = "1"

function createEnabledCheckbox()
{
    enabledCheckbox = createInput('checkbox');
        return enabledCheckbox;
}

function createEnabledTextbox()
{
    enabledTextbox = createInput('textbox');
    enabledTextbox.size = "1";
    return enabledTextbox;
}

function getCookie(name){
  var str = '; '+ document.cookie +';';
  var index = str.indexOf('; '+ escape(name) +'=');
  if (index != -1) {
    index += name.length+3;
    var value = str.slice(index, str.indexOf(';', index));
    return unescape(value);
  }
}

function setCookie(nazwa, wartosc, dni) {
    if (dni) {
        var data = new Date();
        data.setTime(data.getTime()+(dni*24*60*60*1000));           
        var expires = "; expires="+data.toGMTString();
    } else {
        var expires = "";
    }
    document.cookie = nazwa+"=" + wartosc + expires + "; path=/";
}

function chboxcookie(node)
{
    var row = node.parentNode.parentNode.firstChild.firstChild.data
    var pulscheck = document.getElementById("push" + row);
    setCookie("checkps" + row, pulscheck.checked, "7")
}

function tboxcookie(node)
{
    var row = node.parentNode.parentNode.firstChild.firstChild.data
    var timeset = document.getElementById("times" + row);
    setCookie("textps" + row, timeset.value, "7")
}


function resetData()
{
    var columnNames = usbrelayS.Columns;
    var usbrelayTableData = new Array();
    var serviceIds = new Array();

    if (ports.length == 0)
    {
        document.getElementById("no_usbrelay").style.display = "block";
        return;
    }

    for (idx=0; idx<ports.length; idx++)
    {

        var img = document.createElement("img");
        img.style.cssText= "margin-top:5px;";

         var enabledCheckbox = createEnabledCheckbox();
        enabledCheckbox.id = "push" + ports[idx][0]

        if (getCookie("checkps" + ports[idx][0]) == "true") { enabledCheckbox.checked = true }

         var enabledTextbox = createEnabledTextbox();
        enabledTextbox.id = "times" + ports[idx][0]

        if (getCookie("textps" + ports[idx][0]) != null)
        {
        enabledTextbox.value = getCookie("textps" + ports[idx][0]);
        }
       if (ports[idx][1] == "on")
        {

            img.src = "img/green-power-button.png";
            img.onclick = function(){offRelay(this);}
            
        } else {

            img.src = "img/red-power-button.png";
            img.onclick = function(){onRelay(this);}
        }

        enabledCheckbox.onchange = function(){chboxcookie(this);}
        enabledTextbox.onchange = function(){tboxcookie(this);}

        var tmp = uciOriginal.get("usbrelay", "desc", ''+ports[idx][0])
        if (tmp == "") { tmp = "..."; }
        var anchor = document.createElement("a");
        anchor.href="usbrelay_schedule.sh?port=" + ports[idx][0];
        anchor.innerHTML = tmp;
        anchor.style.css = "a{text-decoration:none}";

        usbrelayTableData.push([ports[idx][0], anchor, img, enabledCheckbox, enabledTextbox]);
    }
    var usbrelayTable = createTable(columnNames, usbrelayTableData, "usbrelay_table", false, false);
    var tableContainer = document.getElementById('usbrelay_table_container');
    if (tableContainer.firstChild != null)
    {
        tableContainer.removeChild(tableContainer.firstChild);
    }
    tableContainer.appendChild(usbrelayTable);
}

function onRelay(node)
{
    onoffRelay(node.parentNode.parentNode, "on");
}

function offRelay(node)
{
    onoffRelay(node.parentNode.parentNode, "off");
}

function onoffRelay(row, action)
{
    var port = row.firstChild.firstChild.data;
    var czass = document.getElementById("times" + port).value;
   var pulscheck = document.getElementById("push" + port);
    var cmds = [ "/usr/lib/gargoyle/usbrelay.sh " + action + " " + port, "/usr/lib/gargoyle/usbrelay.sh status" ];
    var param = getParameterDefinition("commands", cmds.join("\n")) + "&" + getParameterDefinition("hash", document.cookie.replace(/^.*hash=/,"").replace(/[\t ;]+.*$/, ""));

    var stateChangeFunction = function(req)
    {
        if(req.readyState == 4)
        {
            var lines = req.responseText.split(/[\r\n]+/);
            ports.length = 0;
            for (idx=0; idx < lines.length; idx++)
            {
                if (lines[idx].match(/:o/))
                {
                    stat=lines[idx].split(":");
                    ports.push([ stat[0], stat[1] ]);
                }
            }
                if (pulscheck.checked)
                {
                    if (flaga == "1")
                    {
                        if (action == "on")
                        {
                        action = "off"
                        } else {
                        action = "on"
                        }
                    resetData();

                    flaga = "0"
                    window.setTimeout( function() { onoffRelay(row, action); }, czass + "000");
                    } else {
                    flaga = "1"
                    }
                }

            resetData();
            setControlsEnabled(true);
        }
    }
    runAjax("POST", "utility/run_commands.sh", param, stateChangeFunction);
}

kopiować i testować smile

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

263 (edytowany przez krynio 2014-03-10 23:22:26)

Odp: USB Relay - plugin do Gargoyle

Witam,

Przetestowane i chyba bez poprawek się nie obędzie wink
1. przekaźnik ustawiony na 5 sek. i od razu włączony
2. przekaźnik ustawiony na 10 sek. i od razu włączony
3. przekaźnik ustawiony na 20 sek. i od razu włączony

Efekt
1. wyłączy się po 5 sek.
2. w ogóle się nie wyłączy (czyli cały czas ikonka zielona)
3. wyłączy się po 20 sek. (nie mierzyłem stoperem) i po około 20 sek. się samoczynnie włączy

Za którymś razem 1 raz w/w test przeszedł pozytywnie. Jednak jak wyczyściłem wszystkie dane przeglądarki google chrome problem powrócił.

PS fajna alternatywa.

Po edycji /www/js/usbrelay.js  nie zrobiłem restartu, może potrzeba ?

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

264 (edytowany przez wabikboy 2014-03-10 23:43:29)

Odp: USB Relay - plugin do Gargoyle

Nie trzeba robic restartu, jedynie odswiezyc przegladarke. Ale dziwne troche ze rozne czasy  i roznie dziala

testowalem na tablecie i na windowsowym google chrome i u mnie dziala n roznych czasach

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

265 (edytowany przez bhb 2014-03-10 23:48:19)

Odp: USB Relay - plugin do Gargoyle

No właśnie dziwne mnie też działa prawidłowo na chromium , firefox tyle, że na normalnym systemie czyli linux.
Na androidzie też działa.

266 (edytowany przez krynio 2014-03-10 23:51:58)

Odp: USB Relay - plugin do Gargoyle

Trochę głupio że znowu na mnie wypadło roll

Pozostaje poczekać na innych np. @bhb który ma taką kartę jak moja. Na dziś już muszę kończyć.

Jeśli mnie nikt mnie nie uprzedzi jutro zrobię kolejny test na innej przeglądarce.

Test w Firefox na windows 7 zrobiony i bez zmian, jest jak w poście 263.

Dobranoc :-)

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

267

Odp: USB Relay - plugin do Gargoyle

U mnie OK, na linuxsie i na 7, zapamietuje checkboxy (przydalo by sie zeby zapamietywal na routerze) no i przynajmniej 2 rzadki zeby byly :-)

TL-WR1043 @ FLASH 16MB @64RAM, GG & LuCi, 433TX PowerSwitch - podlewanie routerem, MWAN3;TL-WR-743 ;TL-MR3040 ;TL-WR-842;TL-WR-941 FLASH 16MB  @64RAM o/c 450MHz www u-boot; ; EDIMAX NS-1500N ramips; sensbase , 5  x sensnodeTX + emon -  openenergy.org, JeeLabs & http://digi-led.pl interfejs Gargoyle na Rpi jako menu do iradio usbrelay i zadania cron, GPS tracker DOCKER, openhab RPI.

268 (edytowany przez bhb 2014-03-11 11:03:11)

Odp: USB Relay - plugin do Gargoyle

Mam jakiś problem. Zawiesiło mi przeglądarkę. Wyłączenie i włączenie modyłu pomogło.

logread:
 Mar 11 09:13:12 bhb_sat kern.err kernel: [ 3193.430000] ftdi_sio ttyUSB0: urb failed to clear flow control

dmesg:
[ 3257.440000] ftdi_sio ttyUSB0: ftdi_set_termios FAILED to set databits/stopbits/parity
[ 3258.440000] ftdi_sio ttyUSB0: ftdi_set_termios urb failed to set baudrate
[ 3268.440000] ftdi_sio ttyUSB0: urb failed to clear flow control
[ 3278.440000] ftdi_sio ttyUSB0: urb failed to clear flow control

Ustawiłem na 0 i nie wysypało się.
Będę go męczył zobaczymy.

269

Odp: USB Relay - plugin do Gargoyle

Może jest wrażliwy na szybkie przełączanie,

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

270

Odp: USB Relay - plugin do Gargoyle

Zrobiłem kolejny test (procedura patrz post 263) tym razem przy użyciu:

- android przeglądarka stock
- notebook windows xp przeglądarka K-Meleon
- PC stacjonarny windows 7 przeglądarka Google chromie i Firefox
- linux przeglądarka Firefox

I za każdym razem identyczne problemy opisane w poście 263.

Jedyny ewentualny "błąd" po mojej stronie to że edycji usbrelay.js dokonałem za pomocą WinSCP, jak ostatnio i było ok.
W sumie zadowala mnie pierwsza wersja modyfikacji @wabikboy i jeśli innym działa, to może nie ma sensu kopać... choć ciekawość co jest nie tak pozostaje.

Może ktoś wystawi linka z plikiem usbrelay.js edytowanym w vi to podmienię i zobaczę. Wiem że mogę to zrobić sam lecz remont w trakcie a nad vi muszę dłużej pomyśleć niestety.

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

271

Odp: USB Relay - plugin do Gargoyle

Ja też używam WinScp to nie to, na maila Ci wysłałem mój spakowany plik.

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

272 (edytowany przez krynio 2014-03-11 23:24:38)

Odp: USB Relay - plugin do Gargoyle

@wabikboy plik na Twój podmieniony, dalej plugin USB Relay odinstalowany i zainstalowany ponownie, dla pewności restarty robione, w module przekaźników przywrócone ustawienia fabryczne i kurza twarz nadal tak samo.

Mam jeszcze TL-WR1043ND, jutro zainstaluje na nim najnowsze Gargoyle i tylko plugin USB Relay, sam jestem ciekaw efektu.

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

273

Odp: USB Relay - plugin do Gargoyle

Ale zaraz zaraz piszesz że:

krynio napisał/a:

Witam,
Przetestowane i chyba bez poprawek się nie obędzie wink
1. przekaźnik ustawiony na 5 sek. i od razu włączony
2. przekaźnik ustawiony na 10 sek. i od razu włączony
3. przekaźnik ustawiony na 20 sek. i od razu włączony
Efekt
1. wyłączy się po 5 sek.
2. w ogóle się nie wyłączy (czyli cały czas ikonka zielona)
3. wyłączy się po 20 sek. (nie mierzyłem stoperem) i po około 20 sek. się samoczynnie włączy

jedyną nieprawidłową reakcją jest efekt 2 że przy ustawieniu 10 sek. nie wyłączył się przekaźnik a reszta reaguje prawidłowo.

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile

274

Odp: USB Relay - plugin do Gargoyle

wabikboy napisał/a:

Ale zaraz zaraz piszesz że:

krynio napisał/a:

Witam,
Przetestowane i chyba bez poprawek się nie obędzie wink
1. przekaźnik ustawiony na 5 sek. i od razu włączony
2. przekaźnik ustawiony na 10 sek. i od razu włączony
3. przekaźnik ustawiony na 20 sek. i od razu włączony
Efekt
1. wyłączy się po 5 sek.
2. w ogóle się nie wyłączy (czyli cały czas ikonka zielona)
3. wyłączy się po 20 sek. (nie mierzyłem stoperem) i po około 20 sek. się samoczynnie włączy

jedyną nieprawidłową reakcją jest efekt 2 że przy ustawieniu 10 sek. nie wyłączył się przekaźnik a reszta reaguje prawidłowo.

Nieprawidłowy jest też efekt 3, ponieważ pomimo że poprawnie wyłączy się po 20 sek. to za kolejne 20 sek. samoczynnie się włączy. Prawidłowo działa tylko efekt 1, po 5 sek. się wyłączy i tyle.

Próbowałem też z innymi przekaźnikami oraz innym czasem (sek.) i jest podobnie, z regóły przedostatni włączony przekaźnik się nie wyłączy, a ostatni wyłączy się i samoczyniie włączy ponownie po czasie ustawionym dla niego.

TP-Link TL-WDR4300 Mod, CPU 700MHz, Flash 16 MB, Gargoyle 1.5.11.4, extroot + dysk zewnętrzny Samsung (S2), kamerka MS LifeCam HD-5000
TP-Link TL-WR1043ND Mod, RAM 64 MB, chłodzenie pasywne, Gargoyle 1.5.10.14, extroot, kamerka Logitech HD Webcam C270

275 (edytowany przez wabikboy 2014-03-12 09:19:22)

Odp: USB Relay - plugin do Gargoyle

To jeszcze zobacz czy Masz włączone ciasteczka smile w przeglądarce.

@bhb zobacz u siebie, chyba że sprawdzałeś działanie przedostatniego i ostatniego przekaźnika, jak się zachowują.

bo coś mi się zdaje że może znowu być problem z numeracją

TL-WR1043ND: HDD-USB, extroot, LCD, Pilot, MP3 - Radio Player, NAS, Torrent, FTP, Sterowanie głosem, Komunikaty Głosowe, Termometr, PowerSwitch - Sterownik oświetlenia, Budzik, LTE - ODU IDU 200
Raspberry Pi + HDMI-VGA + Lcd Controller + Lcd z laptopa = Pogodynka smile