Subversion Repositories HomeAutomation

Rev

Rev 1950 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1950 Rev 1952
Line 34... Line 34...
34
  var json_data = eval("(" + data + ")");
34
  var json_data = eval("(" + data + ")");
35
 
35
 
36
  //Log(JSON.stringify(json_data));
36
  //Log(JSON.stringify(json_data));
37
 
37
 
38
  if (json_data.method == "MBB.GpsNmeaData")
38
  if (json_data.method == "MBB.GpsNmeaData")
-
 
39
  {
-
 
40
    if (Mbb_Clients[client_id])
39
  {
41
    {
40
    if (json_data.params.nmea.substr(0, 6) == "$GPGGA")
42
      if (json_data.params.nmea.substr(0, 6) == "$GPGGA")
41
    {
43
      {
42
      Mbb_Clients[client_id]["LastNmea"]["GGA"] = json_data.params.nmea;
44
        Mbb_Clients[client_id]["LastNmea"]["GGA"] = json_data.params.nmea;
43
    }
45
      }
44
    else if (json_data.params.nmea.substr(0, 6) == "$GPRMC")
46
      else if (json_data.params.nmea.substr(0, 6) == "$GPRMC")
45
    {
47
      {
46
      Mbb_Clients[client_id]["LastNmea"]["RMC"] = json_data.params.nmea;
48
        Mbb_Clients[client_id]["LastNmea"]["RMC"] = json_data.params.nmea;
47
     
49
       
48
      Mbb_Clients[client_id]["Position"] = _Mbb_NmeaToPosition(client_id);
50
        Mbb_Clients[client_id]["Position"] = _Mbb_NmeaToPosition(client_id);
49
     
51
       
50
      for (var n = 0; n < Mbb_Susbscribers.length; n++)
52
        for (var n = 0; n < Mbb_Susbscribers.length; n++)
51
      {
53
        {
52
        Mbb_Susbscribers[n]("position", Mbb_Clients[client_id]);
54
          Mbb_Susbscribers[n]("position", Mbb_Clients[client_id]);
53
      }
55
        }
54
     
56
       
55
      Mbb_Clients[client_id]["LastNmea"]["GGA"] = "";
57
        Mbb_Clients[client_id]["LastNmea"]["GGA"] = "";
56
      Mbb_Clients[client_id]["LastNmea"]["RMC"] = "";
58
        Mbb_Clients[client_id]["LastNmea"]["RMC"] = "";
57
      Mbb_Clients[client_id]["Position"] = false;
59
        Mbb_Clients[client_id]["Position"] = false;
-
 
60
      }
-
 
61
    }
-
 
62
    else
-
 
63
    {
-
 
64
      Log("Got data from unknown tracker!");
58
    }
65
    }
59
  }
66
  }
60
  else /*if (json_data.method == "MBB.Connected")*/
67
  else if (json_data.method == "MBB.OnConnected")
61
  {
68
  {
62
    json_data = { "params" : { "Imei" : "004401700721448" } };
69
    json_data = { "params" : { "Imei" : "004401700721448" } }; // Temporary hack since we get corrupted data from the device
63
   
70
   
64
    Log("Client " + client_id + " has IMEI " + json_data.params.Imei);
71
    Log("Client " + client_id + " has IMEI " + json_data.params.Imei);
65
   
72
   
66
    Mbb_Clients[client_id]["Id"] = client_id;
73
    Mbb_Clients[client_id]["Id"] = client_id;
67
    Mbb_Clients[client_id]["Info"] = json_data.params;
74
    Mbb_Clients[client_id]["Info"] = json_data.params;
68
    Mbb_Clients[client_id]["Position"] = false;
75
    Mbb_Clients[client_id]["Position"] = false;
69
    Mbb_Clients[client_id]["LastNmea"] = {};
76
    Mbb_Clients[client_id]["LastNmea"] = {};
70
    Mbb_Clients[client_id]["LastNmea"]["GGA"] = "";
77
    Mbb_Clients[client_id]["LastNmea"]["GGA"] = "";
71
    Mbb_Clients[client_id]["LastNmea"]["RMC"] = "";
78
    Mbb_Clients[client_id]["LastNmea"]["RMC"] = "";
72
   
79
   
73
    for (var n = 0; n < Mbb_Susbscribers.length; n++)
80
    for (var n = 0; n < Mbb_Susbscribers.length; n++)
74
    {
81
    {
75
      Mbb_Susbscribers[n]("connected", Mbb_Clients[client_id]);
82
      Mbb_Susbscribers[n]("connected", Mbb_Clients[client_id]);
76
    }
83
    }
77
  }
84
  }
78
  /*else
85
  else
79
  {
86
  {
80
    Log("Got unknown data \"" + json_data + "\" from client " + client_id);
87
    Log("Got unknown data \"" + data + "\" from client " + client_id);
81
  }*/
88
  }
82
}
89
}
83
 
90
 
84
function Mbb_SendData(client_id, json_data)
91
function Mbb_SendData(client_id, json_data)
85
{
92
{
86
  return MbbExport_SendData(client_id, JSON.Stringify(json_data));
93
  return MbbExport_SendData(client_id, JSON.Stringify(json_data));