jnimmo / pyIntesisHome

Python interface for IntesisHome devices
MIT License
35 stars 21 forks source link

Handles an empty device list by building it from the list of statuses. #10

Closed jaydensmith closed 4 years ago

jaydensmith commented 5 years ago

My API response for some reason does not include any devices. I assume it's not totally isolated so I've added a new method to build a device list from the statuses.

{
   "config":{  
      "token":"[redacted]",
      "pushToken":"[redacted]",
      "lastAppVersion":"2.6.1",
      "forceUpdate":0,
      "setDelay":0.7,
      "serverIP":"[redacted]",
      "serverPort":5220,
      "hash":"[redacted]",
      "inst":[  
         {  
            "id":1,
            "order":1,
            "name":"First installation",
            "devices":[  

            ]
         }
      ]
   },
   "status":{  
      "hash":"[redacted]",
      "status":[  
         {  
            "deviceId":224571441632318,
            "uid":1,
            "value":1
         },
         {  
            "deviceId":224571441632318,
            "uid":2,
            "value":1
         },
         {  
            "deviceId":224571441632318,
            "uid":4,
            "value":3
         },
         {  
            "deviceId":224571441632318,
            "uid":5,
            "value":1
         },
         {  
            "deviceId":224571441632318,
            "uid":9,
            "value":200
         },
         {  
            "deviceId":224571441632318,
            "uid":10,
            "value":200
         },
         {  
            "deviceId":224571441632318,
            "uid":12,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":13,
            "value":160
         },
         {  
            "deviceId":224571441632318,
            "uid":14,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":15,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":34,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":35,
            "value":180
         },
         {  
            "deviceId":224571441632318,
            "uid":36,
            "value":300
         },
         {  
            "deviceId":224571441632318,
            "uid":37,
            "value":90
         },
         {  
            "deviceId":224571441632318,
            "uid":54,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":61,
            "value":63
         },
         {  
            "deviceId":224571441632318,
            "uid":62,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":63,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":64,
            "value":1054
         },
         {  
            "deviceId":224571441632318,
            "uid":65,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":66,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":67,
            "value":30
         },
         {  
            "deviceId":224571441632318,
            "uid":181,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":182,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":183,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":184,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":50000,
            "value":1
         },
         {  
            "deviceId":224571441632318,
            "uid":50001,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":50002,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":50003,
            "value":0
         },
         {  
            "deviceId":224571441632318,
            "uid":50004,
            "value":240
         },
         {  
            "deviceId":224571441632318,
            "uid":50005,
            "value":280
         },
         {  
            "deviceId":224571441632318,
            "uid":50006,
            "value":190
         },
         {  
            "deviceId":224571441632318,
            "uid":50007,
            "value":230
         },
         {  
            "deviceId":224571441632318,
            "uid":50008,
            "value":1
         },
         {  
            "deviceId":224571441632318,
            "uid":50009,
            "value":3
         },
         {  
            "deviceId":224571441632318,
            "uid":50010,
            "value":255
         },
         {  
            "deviceId":224571441632318,
            "uid":60002,
            "value":216
         }
      ]
   }
}
grischard commented 5 years ago

Sounds good. What happens if there actually are no devices?