R RoAd skrev:
Jag antog att det var p.g.a. kommandot som användes för att hämta svaret. Vissa av dem (exempelvis Invoke-RestMethod) verkar automatiskt parsa json.

Output som visas sist i #14 är i.a.f. json. Lustigt om de blandat det med annat i samma API.

APIt verkar vara detta, eller en variant av det: [länk]

Men jag ska inte lägga mig i för mycket. Har aldrig skrivit en rad i powershell och jobbar nästan uteslutande i Linux.

EDIT: IOSimu* anropen verkar vara någon form av direktaccess till GPIOs och verkar mycket riktigt inte vara i JSON-format. Så det är tydligen lite blandat.
Ja, en salig blandning av format här!
Själv är jag blandmissbrukare; dos, perl, bash, c, powershell, java, sql, yaml...

/Höghus
 
  • Gilla
RoAd
  • Laddar…
Nu har ju förnuftet segrat och Powershell börjat användas, men på rad 8 ska det inte vara mellanslag innan sista %%i:
for /f "tokens=2" %%i in ('curl "%URL%%COMMANDQ%"') do set RESULT=%%i
 
  • Gilla
Höghus
  • Laddar…
N Nyikåk skrev:
Nu har ju förnuftet segrat och Powershell börjat användas, men på rad 8 ska det inte vara mellanslag innan sista %%i:
for /f "tokens=2" %%i in ('curl "%URL%%COMMANDQ%"') do set RESULT=%%i
Du har rätt men det spelar ingen roll för if-villkoret.

C:\>set a=0&set b= 0&echo -%a%-%b%-
-0- 0-
C:>if %a% == 0 echo a=0 & if %b% == 0 echo b=0
a=0
b=0

/Höghus
 
  • Gilla
Nyfniken
  • Laddar…
D
Tack allihop!

Just nu fungerar powershell-scriptet med inte Curl-scriptet. Tyvärr har jag stött på ett problem. Det är inte helt tillförlitligt att avgöra om högtalarna är på med hjälp av att läsa ett stift (GPIO?). Är högtalaren avstängd så lämnas alltid svaret 0. Är högtalaren påslagen så lämnas oftast svaret 1 men ibland även 0 (suck!). Jag försöker lista ut om det är något mönster eller om det finns något annat sätt (att genom ett HTTP-anrop) att lista ut om högtalarna är avstängda. Jobbar på det!

(ett sidospår är att mäta amp på något sätt och därigenom avgöra om högtalaren är ON eller OFF. Tror det kan bli svårt att få till med en vanlig smart-plug)

Vad vill jag åstadkomma med allt detta?

Jag har flera uppsättningar Audio pro C5 (högtalaren, stereon) och Amazon echo dot (Alexa).

Utgångsläget är att jag parar ihop C5 med Alexa med BT. Väderrapporter, musik (spotify) och nyheter (SR) är det jag använder mest. De spelas då upp på C5 men styrs av Alexa. Sen kommer någon (ofta min fru) och sätter igång tex en pod eller ett program från SR. Då används mobilen (iPhone) men eftersom Alexa inte har airplay så väljer hon att spela upp direkt till C5 (Alexa finns inte med som högtalaralternativ i Iphone-appen). Då växlar högtalaren automatiskt källa från BT till Wifi. När programmet (podden) är slut så behåller C5 källan Wifi. Just Källan Wifi har en automatavstängning efter typ 30 min vilket innebär att nästa gång jag ber Alexa spela upp en låt så kommer den inte spelas på C5 eftersom den är avstängd.

Om jag har ett script som körs på datorn som kollar av C5 med jämna mellanrum så kan jag 1) sätta igång C5 alt. 2) växla källa på C5 till BT (Alexa parar då automatiskt).

Hoppas ni förstår och tack för hjälpen så långt!
 
D
En gissning till att jag ibland får svaret 0 (OFF) trots att högtalaren är 1 (ON) är att porten, högtalaren (?) är/blir "upptagen" och inte hinner/kan svara och då är standardsvaret 0, dvs 0 kan även betyda "jag är upptagen, inget svar pga av annan omständighet än att jag är avstängd".

Jag upplever att om jag väntar med att banka F5 hela tiden så blir svaret oftare korrekt (tyvärr inte alltid).
 
Ok. Om du vill ha igång dos-varianten, posta lite mer output. Föredrar du PS passar jag.

/Höghus
 
D
Nej Nej, jag kör båda....

Det jag försöker hitta nu är ett mönster.....

Det jag skulle vilja skriva är en batch som kör första delen av skriptet, alltså som testar 1/0 och sen försöker läsa ut om jag kan se något mönster.

Jag tänker att jag kör:

Curl http://192.168.0.92/httpapi.asp?command=IOSimuRead:2

sen har jag försökt få till att den ska skriva resultatet till en txt, sen kan jag ställa in lite time outer osv för att se om det går att se något mönster.
 
R
D Derbyboy skrev:
Nej Nej, jag kör båda....

Det jag försöker hitta nu är ett mönster.....

Det jag skulle vilja skriva är en batch som kör första delen av skriptet, alltså som testar 1/0 och sen försöker läsa ut om jag kan se något mönster.

Jag tänker att jag kör:

Curl [länk]

sen har jag försökt få till att den ska skriva resultatet till en txt, sen kan jag ställa in lite time outer osv för att se om det går att se något mönster.
Vad exakt är det du försöker avgöra här? Du säger "på" men det är ju uppenbarligen högtalaren annars skulle du ju inte kunna prata med den. Jag gissar att det är någon form av status du söker.

Läs i http://airscope-audio.net/core2/pdf/airscope-module-http.pdf och se om det finns något bättre lämpat anrop än att fråga en GPIO om status som kan användas.

OBS: Jag bara antar att det är det API som vi pratar om eftersom allt hittills tyder på det. Men det kanske bara är en delmängd, eller en utökning.
 
D
Jag har lagt till rad 11 men den fungerar inte.
 
  • Skärmdump av ett skript i textredigerare med markerad rad 11 och kod för automatisk uppgift.
    Inloggade ser högupplösta bilder
    Skapa konto
    Gratis och tar endast 30 sekunder
D
R RoAd skrev:
Vad exakt är det du försöker avgöra här? Du säger "på" men det är ju uppenbarligen högtalaren annars skulle du ju inte kunna prata med den. Jag gissar att det är någon form av status du söker.

Läs i [länk] och se om det finns något bättre lämpat anrop än att fråga en GPIO om status som kan användas.

OBS: Jag bara antar att det är det API som vi pratar om eftersom allt hittills tyder på det. Men det kanske bara är en delmängd, eller en utökning.
Tack!

Det jag söker är om högtalaren är PÅ. Vad som är just PÅ är en definitionsfråga. Förenklat menar jag väl om den är helt ON alltså inte i någon form av SLEEP. Den tycks svara på alla HTTP-anrop oavsett om den är ON eller SLEEP. Rycker jag sladden så svarar den såklart inte. Ovan menar jag antagligen isf SLEEP eller ON.

Problemet för mig, som jag försökte beskriva ovan är att Alexa inte ansluter när C5 är i SLEEP och högtalaren går till SLEEP efter 30 minuter om andra källor än BT används.

Jag vet inte om det är precis rätt API. Många av anropen fungerar. Jag tror att det är en delmängd.
 
D Derbyboy skrev:
Jag har lagt till rad 11 men den fungerar inte.
Ta bort >> tesst.txt, kör och posta hur det ser ut

/Höghus
 
D
Jag har lustläst och testat det som finns kring API:t (om det nu är rätt) men jag har inte hittat något annat sätt än att fråga en GPIO. Jag har nu ställt frågan till Audio Pro för att se om de kan dela med sig av fokumenationen.
 
D
Höghus Höghus skrev:
Ta bort >> tesst.txt, kör och posta hur det ser ut

/Höghus
 
  • Skärmdump av en kommandotolk i Windows med textbaserade skriptkommandon och output.
    Inloggade ser högupplösta bilder
    Skapa konto
    Gratis och tar endast 30 sekunder
Ok, vi behöver trolla bort lite output.
Byt ut curl "%URL%%COMMANDQ%"' mot curl -s "%URL%%COMMANDQ%"'

/Höghus
 
D
Tyvärr ingen skillnad
 
  • Skärmdump av en CMD-kommandoprompt med batch-script för http-api-anrop och timeout-kommandon.
    Inloggade ser högupplösta bilder
    Skapa konto
    Gratis och tar endast 30 sekunder
  • Skärmdump av ett skript i en textredigerare med kod som används för automation.
    Inloggade ser högupplösta bilder
    Skapa konto
    Gratis och tar endast 30 sekunder
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.