• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

JSON Helper

Benutzer 189756

Gast
Hallo
ich möchte vom Mediola Gateway die Status auslesen und daraus z.B. den Status des EVENT 03 in eine Variable schreiben.
ich stehe aber auf dem Schlauch. Mit diesem Script:

set theURL to "192.168.1.150/command?XC_FNC=Getstates"
set Status to do shell script "curl " & quoted form of theURL
tell application "JSON Helper"
set myRecord to read JSON fromStatus
return myRecord
end tell

erhalte ich folgendes:

tell current application
do shell script "curl '192.168.1.150/command?XC_FNC=Getstates'"
end tell
tell
application "JSON Helper"
read JSON from "{XC_SUC}[{\"type\":\"FS20\",\"adr\":\"b6a301\",\"state\":\"00:00\"},{\"type\":\"FS20\",\"adr\":\"46ea00\",\"state\":\"00:00\"},{\"type\":\"IT\",\"adr\":\"10\",\"state\":\"00:00\"},{\"type\":\"ONOFF\",\"adr\":\"20\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"50\",\"state\":\"on\"},{\"type\":\"FS20\",\"adr\":\"061704\",\"state\":\"00:00\"},{\"type\":\"FS20\",\"adr\":\"4e2c29\",\"state\":\"00:00\"},{\"type\":\"FS20\",\"adr\":\"4d1628\",\"state\":\"00:00\"},{\"type\":\"FS20\",\"adr\":\"586b01\",\"state\":\"00:00\"},{\"type\":\"FS20\",\"adr\":\"124400\",\"state\":\"00:00\"},{\"type\":\"FS20\",\"adr\":\"000000\",\"state\":\"00:00\"},{\"type\":\"FS20\",\"adr\":\"000100\",\"state\":\"00:00\"},{\"type\":\"FS20\",\"adr\":\"000001\",\"state\":\"00:00\"},{\"type\":\"FS20\",\"adr\":\"004080\",\"state\":\"00:00\"},{\"type\":\"FS20\",\"adr\":\"010001\",\"state\":\"10:00\"},{\"type\":\"EVENT\",\"adr\":\"02\",\"state\":\"1\"},{\"type\":\"EVENT\",\"adr\":\"01\",\"state\":\"1\"},{\"type\":\"EVENT\",\"adr\":\"03\",\"state\":\"0\"},{\"type\":\"EVENT\",\"adr\":\"05\",\"state\":\"0\"},{\"type\":\"IT\",\"adr\":\"62e40080\",\"state\":\"00:00\"},{\"type\":\"ONOFF\",\"adr\":\"99\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"11\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"12\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"13\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"14\",\"state\":\"on\"},{\"type\":\"ONOFF\",\"adr\":\"15\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"16\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"17\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"18\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"21\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"22\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"23\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"24\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"25\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"26\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"27\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"28\",\"state\":\"on\"},{\"type\":\"ONOFF\",\"adr\":\"30\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"31\",\"state\":\"on\"},{\"type\":\"ONOFF\",\"adr\":\"32\",\"state\":\"on\"},{\"type\":\"ONOFF\",\"adr\":\"38\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"48\",\"state\":\"on\"},{\"type\":\"EVENT\",\"adr\":\"04\",\"state\":\"0\"},{\"type\":\"EVENT\",\"adr\":\"06\",\"state\":\"1\"},{\"type\":\"IT\",\"adr\":\"e5260080\",\"state\":\"06:00\"},{\"type\":\"STRING\",\"adr\":\"77\",\"state\":\"aabjbjbjbjbjbaj\"},{\"type\":\"EVENT\",\"adr\":\"07\",\"state\":\"0\"},{\"type\":\"EVENT\",\"adr\":\"0A\",\"state\":\"1\"},{\"type\":\"EVENT\",\"adr\":\"09\",\"state\":\"1\"},{\"type\":\"EVENT\",\"adr\":\"08\",\"state\":\"1\"},{\"type\":\"ONOFF\",\"adr\":\"60\",\"state\":\"on\"},{\"type\":\"ONOFF\",\"adr\":\"61\",\"state\":\"on\"},{\"type\":\"ONOFF\",\"adr\":\"62\",\"state\":\"on\"},{\"type\":\"ONOFF\",\"adr\":\"63\",\"state\":\"on\"},{\"type\":\"ONOFF\",\"adr\":\"64\",\"state\":\"on\"},{\"type\":\"ONOFF\",\"adr\":\"29\",\"state\":\"off\"},{\"type\":\"ONOFF\",\"adr\":\"98\",\"state\":\"off\"}]"
end tell
Ergebnis:

""
Warum ist das Ergebnis "", kann mir jemand weiterhelfen?
Danke sehr schon mal
Gruss
Peter
 

Benutzer 189756

Gast
Hallo
habe die Lösung gefunden, den JSON-Helper braucht es gar nicht.
Für Interessierte hier ein Beispiel:

-- Status von Task 03 auf Mediola Gateway prüfen und ein oder ausschalten
-- String für Status aus = {"type":"EVENT","adr":"03","state":"0"}
-- String für Status ein = {"type":"EVENT","adr":"03","state":"1"}

set theURL to "IPdesGateway/command?XC_FNC=GetStates"
set Status to do shell script "curl " & quoted form of theURL
set myString1 to Status
set myString2 to "{\"type\"" & ":" & "\"EVENT\"" & "," & "\"adr\"" & ":" & "\"03\"" & "," & "\"state\"" & ":" & "\"1\"" & "}"
if myString2 is in myString1 then
display dialog "Task 03" & " ist aktiv" buttons {"deaktivieren", "OK"} default button
if the button returned of the result is "deaktivieren" then
set theURL to "192.168.1.150/command?XC_FNC=saveGroup&id=03&active=0"
do shell script "curl " & quoted form of theURL--Task 03 deaktivieren
end if
else

display dialog "Task 03" & " ist nicht aktiv" buttons {"aktivieren", "OK"} default button 2
if the button returned of the result is "aktivieren" then
set theURL to "192.168.1.150/command?XC_FNC=saveGroup&id=03&active=1"
do shell script "curl " & quoted form of theURL--Task 03 deaktivieren
end if
end
if

für Anregungen wäre ich dankbar, der Weg ist eventuell etwas krumm, aber funktioniert einwandfrei
Gruss
Peter