Asuswrt - Check if mobile is home

iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Nu har jag lagt in allt, tack så hemskt mycket för att du pekade mig åt rätt håll. Tog en stund innan jag fattade hur man editerade filer men sen så :D

Nu är det dock så att det inte verkar fungera riktigt.

Om jag kollar i /tmp/mnt/DISK_IMG/CheckUsers så ligger det två filer där. En stämplad med 22:50 idag och en med 1970-01-01 men efter det har det inte hänt något. Tänker att dessa filer borde väl ersättas med nya varje gång som scriptet körs eller?

Jag har även inte fått någon reaktion i HC2:an?

Är det skillnad i kodvärlden på " och ”?

Vad kan jag göra för att kontrollera om jag har gjort rätt?

Koden ser ut såhär:

Code: Select all

#!/bin/sh

Henrik=Borta
Petra=Borta

macadresser=`wl -i eth1 assoclist`

antal=`qcsapi_sockrpc get_count_assoc wifi0`

while [ $antal -gt 0 ]
do
  antal=`expr $antal - 1`
  macadresser="`qcsapi_sockrpc get_station_mac_addr wifi0 $antal`;$macadresser"
done

case "$macadresser" in
  *70:3E:AC:3E:2B:65*)
    Henrik=Hemma
  ;;
esac

case "$macadresser" in
  *D4:F4:6F:80:04:65*)
    Petra=Hemma
  ;;
esac

if [ "$Henrik” = Hemma ]
then
  if [ ! -f /jffs/scripts/CheckUser/HenrikHemma ]
  then
    touch /jffs/scripts/CheckUser/HenrikHemma
    wget -qO- "http://admin:xxxxxx@192.168.2.17/api/callAction?deviceID=260&name=pressButton&arg1=3” >/dev/null 2>&1
  fi
else
  if [ -f /jffs/scripts/CheckUser/HenrikHemma ]
  then
    rm -f /jffs/scripts/CheckUser/HenrikHemma
    wget -qO- "http://admin:xxxxxx@192.168.2.17/api/callAction?deviceID=260&name=pressButton&arg1=4” >/dev/null 2>&1
  fi
fi

if [ "$Petra” = Hemma ]
then
  if [ ! -f /jffs/scripts/CheckUser/PetraHemma ]
  then
    touch /jffs/scripts/CheckUser/PetraHemma
    wget -qO- "http://admin:xxxxxx@192.168.2.17/api/callAction?deviceID=260&name=pressButton&arg1=5” >/dev/null 2>&1
  fi
else
  if [ -f /jffs/scripts/CheckUser/PetraHemma ]
  then
    rm -f /jffs/scripts/CheckUser/PetraHemma
    wget -qO- "http://admin:xxxxxx@192.168.2.17/api/callAction?deviceID=260&name=pressButton&arg1=6” >/dev/null 2>&1
  fi
fi
Där xxxxxx är mitt lösenord.

Sedan undrar jag fortfarande över qqq, jag har angivit 3,5,4 och 6 för jag antog att knapparna räknades i den ordningen. Men hur kollar jag egentligen vad det ska stå?

Såhär ser det ut om jag högerklickar på den första knappen och väljer granska element i webbläsaren och det var då jag tänkte att 3 kanske var qqq för just denna?

Code: Select all

<a id="virtualButton_260_3_1" href="#" onclick="mainData.devices[260].vdSendButtonCommand(3); return false;" class="Button0iPhone2x1" style="margin-left:7px;">Henrik Hemma</a>
Last edited by iSnobben on 06 Jan 2016, 01:59, edited 2 times in total.
iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Såhär såg det ut i routern alldeles nyss:

admin@RT-AC87U-91B0:/tmp/mnt/DISK_IMG/CheckUsers# ls -la
drwxrwxrwx 1 admin root 32768 Jan 2 22:50 .
drwxrwxrwx 1 admin root 16384 Jan 1 1970 ..

och

admin@RT-AC87U-91B0:/jffs/scripts# ls -la
drwxr-xr-x 2 admin root 0 Jan 5 21:40 .
drwxr-xr-x 7 admin root 0 Jan 5 23:32 ..
-rwxrwxrwx 1 admin root 1315 Jan 5 23:23 CheckIfHome
lrwxrwxrwx 1 admin root 29 Jan 2 22:50 CheckUser -> /tmp/mnt/DISK_IMG/CheckUsers/
-rwxrwxrwx 1 admin root 68 Jan 5 23:03 services-start
User avatar
Bamsefar
Z-Wave Kung
Posts: 1268
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

Du skall använda " (dvs shift-2) för dubbla hartassar. Du har fel variant på några ställen i scriptet nedan. Vad gäller single quote så är det den varianten som exekverar kommandon i Linux... Copy&paste är bäst ;-)

Enklast brukar vara att markera scriptet i inlägget, kopiera (ctrl-c) och sedan klistar in det i vi. Det KAN innebära att det skapas en del extra space i början av varje rad. Radera då dessa med t.ex. x i vi kommando läget.

Varje gång scriptet körs så kommer INTE filerna uppdateras, det är poängen med scriptet. Det kommer BARA uppdatera filerna vid förändring av status - dvs mobiltelefonens MAC adress har anslutit eller droppats (kopplats bort). Detta dels för att vi inte vill skriva sönder flash minnet i routern och dels för att vi inte vill anropa HC2 varje minut (eller vart 15e sekund som är fallet hos mig då jag kör med mycket tätare kontroller än vad mitt publika script gör - jag har vidareutvecklat det hela en del till).

Således, att titta på CheckUser mappen är bra, men förändring där bör bara ske när mobil kopplar upp sig / ned sig på WiFi nätet.

Av det lilla jag ser så verkar du ha fått mapparna på plats korrekt.

Du verkar ha angett rätt på qqq - dvs 3,5,4,6 - så inget där.

Vad som finns "bakom knappen" dvs HTML osv är rätt ointressant - det är kod vi inte direkt kan påverka. Vi kan i princip bara påverka själva LUA koden i knappen.
Kör Home Assistant efter totalt nederlag för HomeSeer :twisted: :twisted: :mrgreen:
iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Angående fnuttarna så har jag ändrat tillbaka det redan. Fattar inte varför det blev olika när jag kopierade härifrån och klistrade in det i en textredigerare. Så nu är alla av typen "

HTML-koden tittade jag bara på för att hitta just ordningen på 3,5,4 och 6 fattar inte vart jag ska hitta det annars?

Här är en direkt kopia från CheckIfHome-scriptet

Code: Select all

#!/bin/sh                                                                                                                     
                                                                                                                              
Henrik=Borta                                                                                                                  
Petra=Borta                                                                                                                   
                                                                                                                              
macadresser=`wl -i eth1 assoclist`                                                                                            
                                                                                                                              
while [ $antal -gt 0 ]                                                                                                        
do                                                                                                                            
 antal=`expr $antal - 1`                                                                                                      
 macadresser="`ascapi_sockprc get_station_mac_addr wifi0 $antal`;$macadresser"                                                
done                                                                                                                          
                                                                                                                              
case "$macadresser" in                                                                                                        
 *70:3E:AC:3E:2B:65*)                                                                                                         
  Henrik=Hemma                                                                                                                
  ;;                                                                                                                          
esac                                                                                                                          
                                                                                                                              
case "$macadresser" in                                                                                                        
 *D4:F4:6F:80:04:65*)                                                                                                         
  Petra=Hemma                                                                                                                 
 ;;                                                                                                                           
esac                                                                                                                          
                                                                                                                              
if [ "$Henrik" = Hemma ]                                                                                                      
then                                                                                                                          
 if [ ! -f /jffs/scripts/CheckUser/HenrikHemma ]                                                                              
 then                                                                                                                         
  touch /jffs/scripts/CheckUser/HenrikHemma                                                                                   
  wget -q0- "http://admin:xxxxxx@192.168.2.17/api/callAction?deviceID=260&name=pressButton%arg1=3" >/dev/null 2>&1      
                                                                                                                              
 fi                                                                                                                           
else                                                                                                                          
 if [ -f /jffs/scripts/CheckUser/HenrikHemma ]                                                                                
 then                                                                                                                         
  rm -f /jffs/scripts/CheckUser/Henrik                                                                                        
  wget -q0- "http://admin:xxxxxx@192.168.2.17/api/callAction?deviceID=260&name=pressButton&arg1=5" >/dev/null 2>&1      
 fi                                                                                                                           
fi                                                                                                                            
                                                                                                                              
if [ "$Petra" = Hemma ]                                                                                                       
then                                                                                                                          
 if [ ! -f /jffs/scripts/CheckUser/PetraHemma ]                                                                               
 then                                                                                                                         
  touch /jffs/scripts/CheckUser/PetraHemma                                                                                    
  wget -q0- "http://admin:xxxxxx@192.168.2.17/api/callAction?deviceID=260&name=pressButton&arg1=4" >/dev/null 2>&1      
 fi                                                                                                                           
else                                                                                                                          
 if [ -f /jffs/scripts/CheckUser/PetraHemma ]                                                                                 
 then                                                                                                                         
  rm -f /jffs/scripts/CheckUser/PetraHemma                                                                                    
  wget -q0- "http://admin:xxxxxx@192.168.2.17/api/callAction?deviceID=260&name=pressButton&arg1=6" >/dev/null 2>&1      
 fi                                                                                                                           
fi 
Om jag stänger av WiFi på telefonen hur snabbt bör jag isf märka skillnad i routern?

Den virtuella enheten verkar fungera om jag trycker på knapparna manuellt. Jag får mail och status ändras i variablerna.

Om jag provar att lägga in koden igen ska jag då skriva chmod 777 CheckIfHome igen?

Men visst borde jag väl se filer som heter HenrikHemma och PetraHemma i /tmp/mnt/DISK_IMG/CheckUsers om scriptet fungerar?
User avatar
Bamsefar
Z-Wave Kung
Posts: 1268
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

iSnobben wrote:HTML-koden tittade jag bara på för att hitta just ordningen på 3,5,4 och 6 fattar inte vart jag ska hitta det annars?
Man räknar, varje Label/Knapp räknas som 1. Alltså två labels och fyra knappar, då blir sista knappen = 6 osv.
iSnobben wrote:Om jag stänger av WiFi på telefonen hur snabbt bör jag isf märka skillnad i routern?
Det beror på hur ofta du låter köra scriptet. Om du använder den raden jag angav:

Code: Select all

cru a CheckIfHome "* * * * * /jffs/scripts/CheckIfHome"
Så blir det varje minut. Således bör det inom 60 sekunder ske något, som att filen försvinner för den telefonen, eller skapas då om man slår på WiFi i telefonen. Det gör det hos oss.
iSnobben wrote:Om jag provar att lägga in koden igen ska jag då skriva chmod 777 CheckIfHome igen?
Du behöver bara skriva CHMOD 777 när du skapar filen, om du ändrar i befintlig så skall det inte behövas. Om du, som du skrev ovan, använder kommandor "ls -la" (eller bara "ls -l",a innebär alla filer inkl systemfiler och dom behöver du inte se) så blir första kolumen något i stil med "-rwxrwxrwx " - det tolkas som r(ead)w(rite)(e)x(ecute), för det tre säkerhetsnivår som finns i Linux (och UNIX i helhet). Dvs sålänge som x finns med så är scriptet körbart.
iSnobben wrote:Men visst borde jag väl se filer som heter HenrikHemma och PetraHemma i /tmp/mnt/DISK_IMG/CheckUsers om scriptet fungerar?
Svar JA - det gör det hos oss. Men har du kollat att du har behörighet att skriva på den mappen ;-) Dvs kanske kolla att du har "drw-rw-rw-" (vilket motsvaras av chmod 666 på mappen ifråga).
Kör Home Assistant efter totalt nederlag för HomeSeer :twisted: :twisted: :mrgreen:
iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Jag får återigen börja med att tacka för all hjälp jag får av dig Bamsefar!!!

Jag tänkte faktiskt också på det där med rättigheterna eftersom jag såg att det var det som ändrades på filen när jag gjorde chmod 777 och nu har jag kollat mapp för mapp och jag har drwx på alla mappar och -rwx på alla filer.

Jag har lagt CheckIfHome i /jffs/scripts
start-services har jag skapat och lagt i /jffs/scripts

Sen gjorde jag den där länkningen som du beskrev i ett inlägg så att CheckUser pekar på /tmp/mnt/DISK_IMG/CheckUsers. Hur kommer det sig att den länkade mappen skulle vara i plural men originalmappen i singular? Eller är det det som spökar?

Jag har provat att lägga in scriptet igen och döpt den filen till CheckIfHome2 och följt alla andra steg, tyvärr utan framgång...

Kör med en minut precis så som du hade skrivit det.

En sak dock om jag skriver cd /jffs/scripts/CheckUser så fungerar inte detta, borde jag inte då istället komma till den mappen jag har länkat till, alltså /tmp/mnt/DISK_IMG/CheckUsers?

Trots att det inte fungerar än så har jag ändå lärt mig massor vilket jag tackar för, nu vore det bara kul om det kunde fungera också :)

Finns det något som jag kan visa dig som gör det lite lättare att förstå varför det inte funkar? Är det några andra inställningar i routern som måste göras?
iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Jag gjorde om länkningen då jag märkte att jag bara hade länkat till /tmp/mnt/DISK_IMG/CheckUsers och inte till /tmp/mnt/DISK_IMG/CheckUsers/CheckUser

Tänkte att nu jävlar ska det väl funka då men nu kan jag inte komma in i mappen.

Code: Select all

drwxrwxrwx    1 admin    root         32768 Jan  6 20:49 CheckUsers
admin@RT-AC87U-91B0:/tmp/mnt/DISK_IMG# cd /CheckUsers
-sh: cd: can't cd to /CheckUsers
admin@RT-AC87U-91B0:/tmp/mnt/DISK_IMG# 
Såhär ser det ut nu i /jffs/scripts

Code: Select all

admin@RT-AC87U-91B0:/jffs/scripts# ls -l
-rwxrwxrwx    1 admin    root          1492 Jan  6 15:34 CheckIfHome
-rwxrwxrwx    1 admin    root          1492 Jan  6 15:35 CheckIfHome2
lrwxrwxrwx    1 admin    root            38 Jan  6 20:49 CheckUser -> /tmp/mnt/DISK_IMG/CheckUsers/CheckUser
-rwxrwxrwx    1 admin    root           126 Jan  6 20:32 services-start
iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Nu har jag provat att börja om från början. Tog bort allt och lade till allt igen. Ingen framgång. Man undrar ju vad jag gör för fel...

Jag kan gå in i /tmp/mnt/DISK_IMG/CheckUsers men den mappen är tom. Borde inte den mappen innehålla en mapp som heter CheckUser också?

Funderar på att göra om allt igen utan att länka till en annan mapp bara för att se om jag kan få igång det. Det kanske är USB-minnet som spökar? Ska det vara formaterat på något speciell sätt?
User avatar
Bamsefar
Z-Wave Kung
Posts: 1268
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

Jag har inte en chans att se vad som går fel, men du kan ju prova att köra scriptet för hand rad för rad - det är vanliga kommandon i sig - ja du kan nog inte köra looparna, men du kan köra t.ex.

Code: Select all

touch /jffs/scripts/CheckUser/HenrikHemma
Just den raden skapar filen i vald katalog (men filen är helt tom, filen är enbart en markör för att man inte skall hålla på och anropa HC2 varje gång scriptet körs helt i onödan). Om inte det fungerar, typ du får fel, så vet du att länk och/eller mapp inte fungerar.

Annars har jag just nu inget att bidra med.

Jo just det, ja det är ett extra s i ett läge ja.
Kör Home Assistant efter totalt nederlag för HomeSeer :twisted: :twisted: :mrgreen:
User avatar
Bamsefar
Z-Wave Kung
Posts: 1268
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

iSnobben wrote:

Code: Select all

drwxrwxrwx    1 admin    root         32768 Jan  6 20:49 CheckUsers
admin@RT-AC87U-91B0:/tmp/mnt/DISK_IMG# cd /CheckUsers
-sh: cd: can't cd to /CheckUsers
admin@RT-AC87U-91B0:/tmp/mnt/DISK_IMG# 
Om du skriver /ChechUser så förväntar sig Unix/Linux att det finns en mapp i root som heter CheckUser - det finns det nästan garanterat inte. Den där / som du börjar med innebär alltså att du börjar på högsta nivå, root.

Jag tror du skulle testa utan / ;-)
Kör Home Assistant efter totalt nederlag för HomeSeer :twisted: :twisted: :mrgreen:
User avatar
Bamsefar
Z-Wave Kung
Posts: 1268
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

iSnobben wrote:Jag kan gå in i /tmp/mnt/DISK_IMG/CheckUsers men den mappen är tom. Borde inte den mappen innehålla en mapp som heter CheckUser också?
Nej.

Såhär ser det ut i vår Asus router:

Code: Select all

ASUSWRT-Merlin RT-AC3200_3.0.0.4 Fri Jul 17 03:18:02 UTC 2015
admin@RT-AC3200-2B50:/tmp/home/root# cd /jffs/scripts/
admin@RT-AC3200-2B50:/jffs/scripts# ll
-rwxrwxrwx    1 admin    root          5260 Dec 10 17:25 CheckIfHome*
-rwxrwxrwx    1 admin    root          5596 Sep 15 19:57 CheckIfHome.old*
lrwxrwxrwx    1 admin    root            29 Sep 15 20:15 CheckUser -> /tmp/mnt/ROUTERUSB/CheckUsers/
-rwxrwxrwx    1 admin    root          1592 Sep 15 21:05 adblock*
-rwxrwxrwx    1 admin    root          1606 Sep 15 19:49 firewall-start*
-rwxrwxrwx    1 admin    root           277 Sep 23 20:21 hosts.blacklist*
-rwxrwxrwx    1 admin    root            68 Sep 15 19:49 services-start*
admin@RT-AC3200-2B50:/jffs/scripts# ll CheckUser/
-rwxrwxrwx    1 admin    root             0 Jan  7 21:01 Hemma_Lars*
-rwxrwxrwx    1 admin    root             0 Jan  7 21:01 Hemma_Marianne*
admin@RT-AC3200-2B50:/jffs/scripts# ll /tmp/mnt/ROUTERUSB/
drwxrwxrwx    1 admin    root         32768 Jan  7 21:01 CheckUsers/
drwxrwxrwx    1 admin    root         16384 Aug  7 16:53 DropBox/
drwxrwxrwx    1 admin    root         16384 Sep 15 18:40 Filer/
admin@RT-AC3200-2B50:/jffs/scripts#
Kör Home Assistant efter totalt nederlag för HomeSeer :twisted: :twisted: :mrgreen:
iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Om jag skriver in samma kommandon så ser det ut såhär hos mig:

Code: Select all

ASUSWRT-Merlin RT-AC87U_3.0.0.4 Thu Dec 24 18:54:51 UTC 2015
admin@RT-AC87U-91B0:/tmp/home/root# cd /jffs/scripts
admin@RT-AC87U-91B0:/jffs/scripts# ll
-rwxrwxrwx    1 admin    root          1500 Jan  6 23:04 CheckIfHome*
lrwxrwxrwx    1 admin    root            38 Jan  6 22:41 CheckUser -> /tmp/mnt/DISK_IMG/CheckUsers/CheckUser
-rwxrwxrwx    1 admin    root            67 Jan  6 23:05 services-start*
admin@RT-AC87U-91B0:/jffs/scripts# 
admin@RT-AC87U-91B0:/jffs/scripts# ll CheckUser/
ls: CheckUser/: No such file or directory
admin@RT-AC87U-91B0:/jffs/scripts# ll /tmp/mnt/DISK_IMG
drwxrwxrwx    1 admin    root         32768 Jan  6 22:41 CheckUsers/
admin@RT-AC87U-91B0:/jffs/scripts# 
Något är ju fel på min CheckUser mapp verkar det som...?
User avatar
Bamsefar
Z-Wave Kung
Posts: 1268
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

Japp, din symlink är felaktig.

Du skall, i ditt fall (nedanstående är från vår router men jag har ändrat så att du kan använda samma kommandon i din installation dvs ändrat där jag tror det behövs - det borde vara rätt, men fel kan såklart inträffa ändå...), skriva följande kommandon:

Code: Select all

admin@RT-AC3200-2B50:/tmp/home/root# cd /jffs/scripts/
admin@RT-AC3200-2B50:/jffs/scripts# ll
-rwxrwxrwx    1 admin    root          5260 Dec 10 17:25 CheckIfHome*
-rwxrwxrwx    1 admin    root          5596 Sep 15 19:57 CheckIfHome.old*
lrwxrwxrwx    1 admin    root            29 Sep 15 20:15 CheckUser -> /tmp/mnt/DISK_IMG/CheckUsers/
-rwxrwxrwx    1 admin    root          1592 Sep 15 21:05 adblock*
-rwxrwxrwx    1 admin    root          1606 Sep 15 19:49 firewall-start*
-rwxrwxrwx    1 admin    root           277 Sep 23 20:21 hosts.blacklist*
-rwxrwxrwx    1 admin    root            68 Sep 15 19:49 services-start*
admin@RT-AC3200-2B50:/jffs/scripts# rm CheckUser/
admin@RT-AC3200-2B50:/jffs/scripts# ln -s
BusyBox v1.20.2 (2015-07-16 23:18:00 EDT) multi-call binary.

Usage: ln [OPTIONS] TARGET... LINK|DIR

Create a link LINK or DIR/TARGET to the specified TARGET(s)

        -s      Make symlinks instead of hardlinks
        -f      Remove existing destinations
        -n      Don't dereference symlinks - treat like normal file
        -b      Make a backup of the target (if exists) before link operation
        -S suf  Use suffix instead of ~ when making backup files

admin@RT-AC3200-2B50:/jffs/scripts# ln -s /tmp/mnt/DISK_IMG/CheckUsers CheckUser
admin@RT-AC3200-2B50:/jffs/scripts# ll
-rwxrwxrwx    1 admin    root          5260 Dec 10 17:25 CheckIfHome*
-rwxrwxrwx    1 admin    root          5596 Sep 15 19:57 CheckIfHome.old*
lrwxrwxrwx    1 admin    root            30 Jan  8 07:01 CheckUser -> /tmp/mnt/DISK_IMG/CheckUsers/
-rwxrwxrwx    1 admin    root          1592 Sep 15 21:05 adblock*
-rwxrwxrwx    1 admin    root          1606 Sep 15 19:49 firewall-start*
-rwxrwxrwx    1 admin    root           277 Sep 23 20:21 hosts.blacklist*
-rwxrwxrwx    1 admin    root            68 Sep 15 19:49 services-start*
admin@RT-AC3200-2B50:/jffs/scripts# ll CheckUser/
-rwxrwxrwx    1 admin    root             0 Jan  7 21:01 Hemma_Lars*
-rwxrwxrwx    1 admin    root             0 Jan  7 21:01 Hemma_Marianne*
admin@RT-AC3200-2B50:/jffs/scripts# cd CheckUser/
admin@RT-AC3200-2B50:/tmp/mnt/DISK_IMG/CheckUsers# ll
-rwxrwxrwx    1 admin    root             0 Jan  7 21:01 Hemma_Lars*
-rwxrwxrwx    1 admin    root             0 Jan  7 21:01 Hemma_Marianne*
admin@RT-AC3200-2B50:/tmp/mnt/DISK_IMG/CheckUsers# cd ..
admin@RT-AC3200-2B50:/jffs/scripts# ll
-rwxrwxrwx    1 admin    root          5260 Dec 10 17:25 CheckIfHome*
-rwxrwxrwx    1 admin    root          5596 Sep 15 19:57 CheckIfHome.old*
lrwxrwxrwx    1 admin    root            30 Jan  8 07:01 CheckUser -> /tmp/mnt/DISK_IMG/CheckUsers/
-rwxrwxrwx    1 admin    root          1592 Sep 15 21:05 adblock*
-rwxrwxrwx    1 admin    root          1606 Sep 15 19:49 firewall-start*
-rwxrwxrwx    1 admin    root           277 Sep 23 20:21 hosts.blacklist*
-rwxrwxrwx    1 admin    root            68 Sep 15 19:49 services-start*
admin@RT-AC3200-2B50:/jffs/scripts# cd /tmp/mnt/DISK_IMG/
admin@RT-AC3200-2B50:/tmp/mnt/DISK_IMG# ll
drwxrwxrwx    1 admin    root         32768 Jan  7 21:01 CheckUsers/
drwxrwxrwx    1 admin    root         16384 Aug  7 16:53 DropBox/
drwxrwxrwx    1 admin    root         16384 Sep 15 18:40 Filer/
admin@RT-AC3200-2B50:/tmp/mnt/DISK_IMG#
Dvs vi börjar med att ställa oss i "rätt" katalog, sedan tar vi bort länken, återskapar en korrekt länk. OBServera att vi inte har med den sista biten på din länk utan enbart /tmp/mnt/DISK_IMG/CheckUsers.

När du gjort allt ovanstående så testar vi att skapa en testfil med samma kommando som scriptet använder:

Code: Select all

    touch /jffs/scripts/CheckUser/HenrikHemma
Kör Home Assistant efter totalt nederlag för HomeSeer :twisted: :twisted: :mrgreen:
iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Gött nu funkar allt precis som ovan. Filen skapades också men filen försvinner inte om jag kopplar ner telefonen, det borde den väl göra? Jag fick inte heller någon tidstämpel på variabeln i HC2:an. Så ett problem löst ett okänt antal nya att lösa kanske?
User avatar
Bamsefar
Z-Wave Kung
Posts: 1268
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

Då återstår bara frågan om du skrivit rätt MAC adress för respektive mobil (jag är inte säker men det kan vara känsligt på stora och små bokstäver - minns inte riktigt). Du kan verifiera t.ex. genom att kolla att din MAC adress finns med i listan inne i Asus routerns påloggade klienter.
Kör Home Assistant efter totalt nederlag för HomeSeer :twisted: :twisted: :mrgreen:
iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Det var från routern jag hämtade MAC-adresserna och jag har skrivit dem exakt så som de står i routern. Förstår verkligen inte vad jag gör för fel men något fel måste jag ju uppenbarligen göra...

Ska det stå någon speciell port i HC2:an där det står TCP port i den virtuella enheten?

Är det routerns eller HC2:ans lösenord man ska skriva in? Jag har skrivit HC2:ans.
User avatar
Bamsefar
Z-Wave Kung
Posts: 1268
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

Ja du, vad som är fel vet jag inte. Mitt förslag är att du använder de kommandon som finns i scriptet som körs på asus routern och verifierar att varje kommando i sig ger önskad effekt.

Och lägg VDn åt sidan. När du får filerna att funger då först kan du börja med resten. Men sålänge filerna inte fungerar så är resten garanterat inte intressant. Du behöver få koll på scriptet helt enkelt. Och ja jg kan inte göra så mycket mera utan direkt tillgång till din HC2 och din mobil. Nu är det felsökning på sådan nivå att ta det via inlägg här är inte lyckas helt klart.
Kör Home Assistant efter totalt nederlag för HomeSeer :twisted: :twisted: :mrgreen:
iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Tack för all din hjälp! Jag ska se vad jag kan göra på egen hand och med hjälp av brorsan kanske som jobbar med programmering. Han kanske kan förstå bättre vad som är fel. Men som sagt tack så jättemycket för att du har hjälpt mig såhär långt.
iSnobben
Medlem
Posts: 105
Joined: 27 Dec 2013, 20:39
10

Jag har testat de kommandon som jag förstår hur man ska testa och alla kommandon som skapar och tar bort filer fungerar samt samtliga wget-rader. När jag körde wget så reagerade även HC2:an på önskat vis så felet måste antingen ligga i att scriptet inte körs eller också i de översta raderna av scriptet och kanske troligen då något med MAC-adresserna eftersom det är det enda jag har ändrat där...

Om jag skriver följande:

Code: Select all

admin@RT-AC87U-91B0:/jffs/scripts# cru l
Då borde jag väl få upp något? Det får jag nämligen inte vilket får mig att misstänka att scriptet inte körs, eller?

Min services-start ser ut såhär:

Code: Select all

#!/bin/sh
 
cru a CheckIfHome "* * * * * /jffs/scripts/CheckIfHome"
User avatar
Bamsefar
Z-Wave Kung
Posts: 1268
Joined: 25 Nov 2013, 15:06
10
Location: Stockholm

Det verkar som om ditt script inte körs.

Om jag skriver:

Code: Select all

ASUSWRT-Merlin RT-AC3200_3.0.0.4 Fri Jul 17 03:18:02 UTC 2015
admin@RT-AC3200-2B50:/tmp/home/root# cru l
* * * * * /jffs/scripts/CheckIfHome #CheckIfHome#
admin@RT-AC3200-2B50:/tmp/home/root#
Så får jag precis som du förväntar dig upp att scriptet körs varje minut.

Det jag misstänker är att efter att du skapade services-start filen så har du inte startat om routern vilket krävs för att just den filen skall exekveras (köras) - dvs services-start körs enbart vid omstart av routern, och genom att placera koden där så vet man alltså att scriptet körs när routern startas om.

Du kan dock välja att köra om services-start själv, detta bör fungera (eller så startar du bara om routern):

Code: Select all

admin@RT-AC3200-2B50:/jffs/scripts# ./services-start
Kör Home Assistant efter totalt nederlag för HomeSeer :twisted: :twisted: :mrgreen:
Post Reply