Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //pri stisknuti tlacitka se zada o nacteni zbylych informaci mobilem
- //nasledne jsou data doplnena a nactena kategorie dle predchoziho vyberu
- @IBAction func btPressed(){
- var data: [String] = []
- //zakazani gest = nelze zmenit kategorii
- canSwipe = false
- //zobrazeni animace v pravem hornim rohu GUI
- loadingG.setHidden(false)
- loadingG.setBackgroundImageNamed("Loading")
- loadingG.startAnimatingWithImages(in: NSRange(location: 0, length: 20), duration: 1.0, repeatCount: 20)
- //na zaklade zvolene kategorie dochazi k vyberu dat
- //pokud kategorie mistnost obsahuje [-1], dojde k nacteni vsech objektu kategorie
- switch av[group]{
- case 0:
- if Room!.scenes != [-1]{
- for a in Room!.scenes{
- data.append(Scene.Scenes[a].id)
- }
- }else{
- for a in Scene.Scenes{
- data.append(a.id)
- }
- }
- break
- case 1:
- if Room!.lights != [-1]{
- for a in Room!.lights{
- data.append(Light.Lights[a].id)
- }
- }else{
- for a in Light.Lights{
- data.append(a.id)
- }
- }
- break
- case 2:
- if Room!.shutters != [-1]{
- for a in Room!.shutters{
- data.append(Shutter.Shutters[a].id)
- }
- }else{
- for a in Shutter.Shutters{
- data.append(a.id)
- }
- }
- break
- case 3:
- if Room!.sockets != [-1]{
- for a in Room!.sockets{
- data.append(Socket.Sockets[a].id)
- }
- }else{
- for a in Socket.Sockets{
- data.append(a.id)
- }
- }
- break
- case 4:
- if Room!.relays != [-1]{
- for a in Room!.relays{
- data.append(Relay.Relays[a].id)
- }
- }else{
- for a in Relay.Relays{
- data.append(a.id)
- }
- }
- break
- case 5:
- if Room!.displays != [-1]{
- for a in Room!.displays{
- data.append(Display.Displays[a].id)
- }
- }else{
- for a in Display.Displays{
- data.append(a.id)
- }
- }
- break
- default:
- break
- }
- //odeslani dat do mobilu ve tvaru ["get" : [kategorie, data]
- self.connectivityHandler.sendMessage(message: ["get" : [self.images[self.av[self.group]], data] as AnyObject] , replyHandler: {(response) in
- let res = response["get"] as! [String:[String:String]] //nacteni odpovedi do odpovidajiciho slovniku
- let dat = res.keys
- for a in dat{ //cyklicke zpracovani prijatych dat pro vsechny prijate id
- let obj = res[a] as! [String:String] //nacteni podslovniku pro dane id
- switch self.av[self.group]{ //zpracovani prijatych dat v zavislosti na vybranem typu objektu
- case 0:
- let ind = Scene.getSceneIndex(id: a)!
- Scene.Scenes[ind].name = obj["NAME"]!
- Scene.Scenes[ind].file = obj["FILE"]!
- break
- case 1:
- let ind = Light.getLightIndex(id: a)!
- Light.Lights[ind].name = obj["NAME"]!
- if obj["ONOFF"]! == "1" {
- Light.Lights[ind].onoff = true
- } else {
- Light.Lights[ind].onoff = false
- }
- //overeni stmivatelnosti
- if obj["TYPE"]! == "1" {
- Light.Lights[ind].type = true
- Light.Lights[ind].dimlevel = Double(obj["DIMLEVEL"]!)
- //overeni moznosti nastaveni barvy
- if obj["DIMTYPE"]! == "1" {
- Light.Lights[ind].dimtype = true
- Light.Lights[ind].RGB = UInt(obj["RGB"]!)
- } else {
- Light.Lights[ind].dimtype = false
- }
- } else {
- Light.Lights[ind].type = false
- }
- break
- case 2:
- let ind = Shutter.getShutterIndex(id: a)!
- Shutter.Shutters[ind].name = obj["NAME"]!
- Shutter.Shutters[ind].run = obj["RUN"]!
- Shutter.Shutters[ind].up = obj["UP"]!
- Shutter.Shutters[ind].uppos = obj["UPPOS"]!
- Shutter.Shutters[ind].down = obj["DOWN"]!
- Shutter.Shutters[ind].downpos = obj["DOWNPOS"]!
- break
- case 3:
- let ind = Socket.getSocketIndex(id: a)!
- Socket.Sockets[ind].name = obj["NAME"]!
- if obj["ONOFF"]! == "1" {
- Socket.Sockets[ind].onoff = true
- } else {
- Socket.Sockets[ind].onoff = false
- }
- break
- case 4:
- let ind = Relay.getRelayIndex(id: a)!
- Relay.Relays[ind].name = obj["NAME"]!
- Relay.Relays[ind].symbol = obj["SYMBOL"]!
- Relay.Relays[ind].type = Int(obj["TYPE"]!)
- if obj["ONOFF"]! == "1" {
- Relay.Relays[ind].onoff = true
- } else {
- Relay.Relays[ind].onoff = false
- }
- break
- case 5:
- let ind = Display.getDisplayIndex(id: a)!
- Display.Displays[ind].name = obj["NAME"]!
- Display.Displays[ind].symbol = obj["SYMBOL"]!
- Display.Displays[ind].precision = obj["PRECISION"]!
- Display.Displays[ind].value = obj["VALUE"]!
- Display.Displays[ind].unit = obj["UNIT"]!
- break
- default:
- break
- }
- }
- DispatchQueue.main.async {
- switch self.av[self.group]{
- case 0:
- self.presentController(withName: "Scenes", context: self.Room?.scenes)
- break
- case 1:
- self.presentController(withName: "Lights", context: self.Room?.lights)
- break
- case 2:
- self.presentController(withName: "Shutters", context: self.Room?.shutters)
- break
- case 3:
- self.presentController(withName: "Sockets", context: self.Room?.sockets)
- break
- case 4:
- self.presentController(withName: "Relays", context: self.Room?.relays)
- break
- case 5:
- self.presentController(withName: "Displays", context: self.Room?.displays)
- break
- default:
- break
- }
- }
- }) {(error) in
- DispatchQueue.main.async {
- WKInterfaceController.reloadRootControllers(withNames: ["MainMenu"], contexts: ["WKc"] as [AnyObject])
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement