Hop til indhold
  • 0

Primitiv integration PC -> IHC Visual 2


hhg
 Share

Spørgsmål

Jeg har ledt efter forskellige måder at integrere 3. parts PC Software med min IHC Visual 2 controlleren og indtil LK eller andre dokumenterer web services, har jeg løst det vha WebSceneView.Lav et WebSceneView, kald f.eks "interface" (navnet er ligegyldigt)Tilføj alle de udgange, der ønskes kontrolleret fra PC'enTilføj "Tænd" og "Sluk" menupunkter på disse Gem på kontrolleren og test det i browseren. Ved åbning af scene noter værdien af sceneid i URL'enInstaller cURL http://curl.haxx.seLav et simpelt script:

# set_ihc.sh# usage: set_ihc.sh  curl --insecure -c cookies -d "login=admin&password=XXXXXXX" https://192.168.1.3/sceneview/Login.ijp > /dev/nullcurl --insecure -b cookies "https://192.168.1.3/sceneview/Details.ijp?sceneid=1&elemid=$1&actionid=$2&value=toggle&ctr=0" >/dev/null

(de 2 curl linier skal være udelte)Udskift ip, brugernavn, password samt sceneid nr Kald så scriptet:set_ihc.sh 3 0for at tænde den 4. udgang (0 baseret index)Tilgå scenes textoversigt for at se hvilke nr de enkelte udgange har fåetDet er primitivt, men det virker!Forslag til mere elegante løsninger modtages gerne!Mvhhhg

Link til kommentar
Del på andre sites

17 svar på dette spørgsmål

Recommended Posts

  • 0

Fjern > /dev/null fra curl linierne for at debugge - Så får du hele html udCheck så om du faktisk bliver logget ind efter første linieTilføj evt. -i for at se headerne. Ved login sættes der en cookie ved navn lkid - Check indholdet af cookie filen.Mit eksempel kører jeg fra Ubuntu, men det burde også kunne lade sig gøre fra Windows. Har muligvis noget med hvordan Windows Command tolker & tegn....Ja, &ctr tæller op efterhånden som man klikker igennem webscenen, men scriptet logger jo altid på til at starte med, så der skal det være &ctr=0Mvhhhg

Link til kommentar
Del på andre sites

  • 0

Windows udgave af scriptet:

# set_ihc.cmd# Usage: set_ihc.cmd  curl --insecure -c cookies -d "login=admin&password=XXXXXXX" https://192.168.1.3/sceneview/Login.ijp > nulcurl --insecure -b cookies "https://192.168.1.3/sceneview/Details.ijp?sceneid=1&elemid=%1&actionid=%2&value=toggle&ctr=0" > nul

2 ubrudte curl linierMvhhhg

Link til kommentar
Del på andre sites

  • 0

Hmmm kan stadig ikke få det til at virke.kører Win XP og har downloadet denne:http://curl.haxx.se/dlwiz/?type=bin&os=Win32&flav=-&ver=2000%2FXPpakket det ud i c:\temp/curl720lavet filen set_ihc.cmd # set_ihc.cmd# Usage: set_ihc.cmd curl --insecure -c cookies -d "login=curl&password=curl" https://192.168.1.3/sceneview/Login.ijp > nulcurl --insecure -b cookies "https://192.168.1.3/sceneview/Details.ijp?sceneid=0&elemid=%1&actionid=%2&value=toggle&ctr=0" > nul Indhold af C:\Temp\curl72028-05-2010 21:22

Link til kommentar
Del på andre sites

  • 0

Min curl er curl-7.20.1-ssl-sspi-zlib-static-bin-w32 og jeg kører det under Windows XP Pro SP3 SSL delen er vigtigt her, da vi jo kører https - Men jeg tror du har den rigtige version, curl.exe har samme størrelseFjern kommentarerene, de 2 øverste linier med # - Min dos syntax er lidt rusten ;-)I øvrigt pudsigt at din controller også ligger på 192.168.1.3.... Men du mangler https:// foran, og det er jo nok problemet....Hvis du kører denne linie:

curl --insecure -c cookies -d "login=curl&password=curl" https://192.168.1.3/sceneview/Login.ijp

(På een linie - dette forum har en uheldig tendens til at dele linierne ved - der skal stå "-d", ikke "- d") skal du få en masse html ud, med et link til lk.dk i bundenDerefter:

type cookies

for at checke om lkid cookien er blevet sat - Det er tegn på at du er blevet logget indHvis ja, kør denne linie:

curl --insecure -b cookies "https://192.168.1.3/sceneview/Details.ijp?sceneid=0&elemid=0&actionid=0&value=toggle&ctr=0"

Her får du også en html side retur med lk.dk etc i bunden.Hvis der er fejl i sceneid, elemid eller actionid (eller på anden måde fejl i URL'en) får du følgende text:

403 Forbidden403 ForbiddenRogatkin's JWS based on Acme.Serve $Revision: 1.39 $

Håber det bringer dig videre.Mvhhhg

Link til kommentar
Del på andre sites

  • 0

Controllere på x.x.x.3 er jo default og min router er på 192.168.1.x så .....Og jo jeg har https foran. Det bliver bare fjernet på posten her i forummet. Men nu er der lidt fremskridt, hvis jeg kører linierne een ad gangen :) curl --insecure -c cookies -d "login=curl&password=curl" https://192.168.1.3/sceneview/Login.ijpog dereftercurl --insecure -b cookies "https://192.168.1.3/sceneview/Details.ijp?sceneid=0&elemid=0&actionid=0&value=toggle&ctr=0"så tænder lyset :woohoo: :woohoo: skal jeg slukke igen skal jeg lægge en til toggle værdien.

Link til kommentar
Del på andre sites

  • 0

Nå så fik jeg det endelig til at virke som beskret, med følgende i set_ihc.cmd filen:

curl --insecure -c cookies -d "login=curl&password=curl" https://192.168.1.3/sceneview/Login.ijp >nullcurl --insecure -b cookies "https://192.168.1.3/sceneview/Details.ijp?sceneid=0&elemid=%1&actionid=%2&value=toggle&ctr=0" >null 

Så må vi se om jeg kan finde en fornuftig anvendelse til det, men det er da rart at vide man kan "interface" direkte til IHC gennem et script. B)

Link til kommentar
Del på andre sites

  • 0

Ja, de fleste Home Automation programmer har jo nok mulighed for at kalde et eksternt program/script ud fra en event.Min ide med det er at bygge det ind i DomotiGa www.domotiga.nl og for nuværende har jeg et modul, der kan tænde/slukke for udgange vha ovennævnte script. Næste skridt er at læse status tilbage ved at parse outputtet fra https://192.168.1.3/sceneview/Textplan.ijp?sceneid=1Mvhhhg

Link til kommentar
Del på andre sites

  • 0
Kan du give lidt flere informationer om hvodan du fik det til at virke? 1) Når jeg downloader cURL' date='pakker zip filen ud og kører Curl, kommer der et "sort" vindue som derefter lukkesaf sig selv. Jeg kører win7 64. [/quote']Start en "command prompt" (DOS vindue):Start - kør- skriv: cmd"naviger" til din curl mappe og udfør kommandoen
2) Hvor skriver du scriptet som kan aktiveres fra cmd?På forhånd tak.
Lav det i en editor (notepad) og gem det i samme mappe som curl.exePrøv at nærlæse trådenDer er også et par andre indlæg her i forummet, hvor der vises eksempler på "simpel interfacing" vha curl og php.
Link til kommentar
Del på andre sites

  • 0
http://www.gknw.net/mirror/curl/win32/curl-7.21.3-ssl-sspi-zlib-static-bin-w32.zipindeholder alle filerne. Måske kan du bare ikke se dem pga din windows er sat op til at skjule systemfiler som .dll og lign.Nu er det jo nogle måneder siden jeg sidst legede med dette så jeg skal lige have sat det op igen for at teste.
Link til kommentar
Del på andre sites

  • 0

Nå så fik jeg lige teste af igen, og umiddelbart virker det som tidligere beskrevet:i en DOS prompt køres:

set_ihc.cmd 0 0

og der er oprettet et websceneview der kan styres med:

curl --insecure -c cookies -d "login=curl&password=curl" https://192.168.1.3/sceneview/Login.ijp >nullcurl --insecure -b cookies "https://192.168.1.3/sceneview/Details.ijp?sceneid=0&elemid=5&actionid=0&value=toggle&ctr=0" >null

Prøv bare at hente og installerer 32 bit versionen og se om ikke det virker.Jeg har desværre kun haft mulighed for at teste det på en Win 7 32 bit. (Har også en 64 bit udgave men har bevidst ikke ville installere denne pga mange programmers manglende kompabilitet og passende drivere).

Link til kommentar
Del på andre sites

  • 0

Tak for det hurtige svar.Jeg får en fejlmeddelelse om at "set_ihc.cmd: Host not found". Det ser ud til at Curl ikke finder filen: set_ihc.cmd. Jeg har skrevet scriptet i notepad og lagret det som tekstdokument i samme mappe som Curl.exe. Inkluderer du de to linier:# set_ihc.cmd# Usage: set_ihc.cmd i scriptet? (det virker hverken med eller uden).Curl opfører sig ens uanset om jeg bruger w32 eller w64.Nogle yderligere ideer? På forhånd tak.

Link til kommentar
Del på andre sites

  • 0

Når du har lavet set_ihc.cmd filen og skal gemme den skal det IKKE være som .txtDu skal vælge gem som type alle *.*Så bliver det en .cmd (command) fil istedet for .txt (text)

 Indhold af C:\Temp\curl03-01-2011  09:52              .03-01-2011  09:52              ..03-01-2011  09:51               596 build.txt03-01-2011  09:51           157.004 CHANGES03-01-2011  11:56               265 cookies03-01-2011  09:51             1.044 COPYING03-01-2011  09:51           442.880 curl.exe03-01-2011  09:51           112.695 curl.html03-01-2011  09:51            83.314 curl.pdf03-01-2011  09:51           330.240 libcurl.dll03-01-2011  09:51         1.552.412 libeay32.dll03-01-2011  09:51           354.814 libssl32.dll03-01-2011  09:51            10.926 mk-ca-bundle.vbs03-01-2011  11:56             1.675 null03-01-2011  09:51             1.607 README03-01-2011  09:51             2.517 RELEASE-NOTES03-01-2011  11:56               197 set_ihc.cmd              15 fil(er)        3.052.186 byte               2 mappe(r)  18.580.447.232 byte ledigC:\Temp\curl>

jeg har ikke de 2 # kommentar liner med #Det kan også være nyttigt at fjerne > null for enden af linien for at se om der kommer svar.Husk at rette scene id mm så det passer med din webscene

Link til kommentar
Del på andre sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gæst
Svar på dette spørgsmål

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loader...
 Share

×
×
  • Tilføj...

Important Information

Privatlivspolitik og We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

1200x630bb.png

ok