func (c *Client) streamDevices(callback func(devices *Devices, err error)) {
	resp, err := c.getDevices(Stream)
	if err != nil {
		callback(nil, err)
		return
	}
	defer resp.Body.Close()
	c.watchDevicesStream(resp, callback)
}
streamDevices connects to the stream, following the redirect and then watches the stream
package nest
import (
	"bufio"
	"encoding/json"
	"net/http"
	"strings"
)
func (c *Client) DevicesStream(callback func(devices *Devices, err error)) {
	c.setRedirectURL()
	for {
		c.streamDevices(callback)
	}
}